این مثال نشان میدهد که چگونه میتوان جاسازیهای مورد استفاده در یک معیار شباهت نظارت شده را ایجاد کرد.
تصور کنید همان مجموعه داده مسکن را دارید که هنگام ایجاد یک اندازه گیری تشابه دستی استفاده کردید:
ویژگی | تایپ کنید |
---|---|
قیمت | عدد صحیح مثبت |
اندازه | مقدار ممیز شناور مثبت بر حسب واحد متر مربع |
کد پستی | عدد صحیح |
تعداد اتاق خواب | عدد صحیح |
نوع خانه | یک مقدار نوشتاری از "single_family"، "multi-family"، "apartment"، "condo" |
گاراژ | 0/1 برای خیر/بله |
رنگ ها | دسته بندی چند ظرفیتی: یک یا چند مقدار از رنگ های استاندارد "سفید"، "زرد"، "سبز" و غیره. |
پیش پردازش داده ها
قبل از اینکه از داده های ویژگی به عنوان ورودی استفاده کنید، باید داده ها را از قبل پردازش کنید. مراحل پیش پردازش بر اساس مراحلی است که هنگام ایجاد یک معیار تشابه دستی انجام دادید. در اینجا خلاصه ای وجود دارد:
ویژگی | نوع یا توزیع | عمل |
---|---|---|
قیمت | توزیع پواسون | کمی کردن و مقیاس به [0،1]. |
اندازه | توزیع پواسون | کمی کردن و مقیاس به [0،1]. |
کد پستی | دسته بندی | تبدیل به طول و عرض جغرافیایی، کمیت و مقیاس به [0،1]. |
تعداد اتاق خواب | عدد صحیح | نقاط پرت را قطع کنید و به [0،1] مقیاس دهید. |
نوع خانه | دسته بندی | تبدیل به یک کدگذاری داغ. . |
گاراژ | 0 یا 1 | به حال خودش بگزارید. |
رنگ ها | دسته بندی | تبدیل به مقادیر RGB و پردازش به عنوان داده های عددی. |
برای اطلاعات بیشتر در مورد رمزگذاری یکطرفه، به جاسازیها: دادههای ورودی طبقهای مراجعه کنید.
Predictor یا Autoencoder را انتخاب کنید
برای ایجاد تعبیهها، میتوانید رمزگذار خودکار یا پیشبین را انتخاب کنید. به یاد داشته باشید، انتخاب پیش فرض شما رمزگذار خودکار است. اگر ویژگیهای خاصی در مجموعه داده شما شباهت را تعیین میکند، به جای آن یک پیشبین انتخاب میکنید. برای کامل شدن، اجازه دهید هر دو مورد را بررسی کنیم.
یک پیش بینی کننده را آموزش دهید
شما باید آن ویژگی ها را به عنوان برچسب های آموزشی برای DNN خود انتخاب کنید که در تعیین شباهت بین مثال های شما مهم هستند. بیایید فرض کنیم قیمت در تعیین شباهت بین خانه ها مهم ترین است.
قیمت را به عنوان برچسب آموزشی انتخاب کنید و آن را از داده های ویژگی ورودی به DNN حذف کنید. DNN را با استفاده از سایر ویژگی ها به عنوان داده ورودی آموزش دهید. برای آموزش، تابع ضرر به سادگی MSE بین قیمت پیشبینیشده و واقعی است. برای یادگیری نحوه آموزش یک DNN، به آموزش شبکه های عصبی مراجعه کنید.
آموزش رمزگذار خودکار
با دنبال کردن مراحل زیر، یک رمزگذار خودکار در مجموعه داده ما آموزش دهید:
- مطمئن شوید که لایههای پنهان رمزگذار خودکار کوچکتر از لایههای ورودی و خروجی هستند.
- زیان را برای هر خروجی همانطور که در اندازه گیری شباهت نظارت شده توضیح داده شده است محاسبه کنید.
- تابع ضرر را با جمع کردن تلفات برای هر خروجی ایجاد کنید. اطمینان حاصل کنید که کاهش وزن را برای هر ویژگی به یک اندازه کاهش می دهید. به عنوان مثال، چون داده های رنگی به RGB پردازش می شوند، هر یک از خروجی های RGB را 1/3 وزن کنید.
- DNN را آموزش دهید.
استخراج جاسازی ها از DNN
پس از آموزش DNN خود، چه پیش بینی کننده یا رمزگذار خودکار، جاسازی را به عنوان مثال از DNN استخراج کنید. با استفاده از داده های ویژگی مثال به عنوان ورودی، embedding را استخراج کنید و خروجی های لایه پنهان نهایی را بخوانید. این خروجی ها بردار تعبیه را تشکیل می دهند. به یاد داشته باشید که بردارهای خانه های مشابه باید به هم نزدیکتر از بردارهای خانه های غیرمشابه باشند.
در مرحله بعد، خواهید دید که چگونه می توان شباهت را برای جفت مثال ها با استفاده از بردارهای تعبیه شده آن ها تعیین کرد.