یک اندازه گیری تشابه دستی ایجاد کنید

برای محاسبه شباهت بین دو مثال، باید تمام داده های ویژگی آن دو مثال را در یک مقدار عددی واحد ترکیب کنید.

به عنوان مثال، مجموعه داده های کفش را با تنها یک ویژگی در نظر بگیرید: اندازه کفش. شما می توانید با محاسبه تفاوت بین اندازه دو کفش، شباهت دو کفش را کمی کنید. هر چه تفاوت عددی بین سایزها کمتر باشد، شباهت بین کفش ها بیشتر است. به چنین اندازه گیری تشابه دست ساز، اندازه گیری تشابه دستی گفته می شود.

اگر بخواهید شباهت هایی بین کفش ها با استفاده از اندازه و رنگ پیدا کنید چه؟ رنگ داده‌های طبقه‌بندی است و ترکیب آن با داده‌های اندازه عددی سخت‌تر است. خواهیم دید که با پیچیده تر شدن داده ها، ایجاد یک اندازه گیری تشابه دستی سخت تر می شود. وقتی داده های شما به اندازه کافی پیچیده می شوند، نمی توانید اندازه گیری دستی ایجاد کنید. این زمانی است که به معیار شباهت نظارت شده تغییر مکان می دهید، جایی که یک مدل یادگیری ماشینی نظارت شده شباهت را محاسبه می کند.

اندازه گیری شباهت نظارت شده را برای بعد می گذاریم و در اینجا روی اندازه گیری دستی تمرکز می کنیم. در حال حاضر، به یاد داشته باشید که زمانی که در ایجاد یک معیار تشابه دستی با مشکل مواجه هستید، به معیار تشابه نظارت شده تغییر وضعیت می دهید.

برای درک نحوه عملکرد یک اندازه گیری تشابه دستی، اجازه دهید به مثال کفش خود نگاه کنیم. فرض کنید مدل دارای دو ویژگی است: اندازه کفش و داده های قیمت کفش. از آنجایی که هر دو ویژگی عددی هستند، می‌توانید آنها را در یک عدد واحد ترکیب کنید که نشان‌دهنده شباهت به شرح زیر است.

  • اندازه (ها): اندازه کفش احتمالاً یک توزیع گاوسی را تشکیل می دهد. این را تایید کنید. سپس داده ها را نرمال کنید.
  • قیمت (p): داده ها احتمالاً توزیع پواسون هستند. این را تایید کنید. اگر داده کافی دارید، داده ها را به چندک تبدیل کنید و به \([0,1]\)مقیاس کنید.
  • داده ها را با استفاده از ریشه میانگین مربعات خطا (RMSE) ترکیب کنید. در اینجا، شباهت \(\sqrt{\frac{s^2+p^2}{2}}\)است.

برای مثال ساده‌شده، بیایید شباهت دو کفش با سایزهای 8 و 11 آمریکا و قیمت‌های 120 و 150 را محاسبه کنیم. از آنجایی که داده‌های کافی برای درک توزیع نداریم، به سادگی داده‌ها را بدون نرمال‌سازی یا استفاده از چندک مقیاس‌بندی می‌کنیم.

عمل روش
اندازه را مقیاس کنید. حداکثر اندازه کفش ممکن را 20 فرض کنید. 8 و 11 را بر حداکثر سایز 20 تقسیم کنید تا 0.4 و 0.55 به دست آید.
قیمت را مقیاس کنید. 120 و 150 را بر حداکثر قیمت 150 تقسیم کنید تا به 0.8 و 1 برسید.
تفاوت اندازه را پیدا کنید.\(0.55 - 0.4 = 0.15\)
تفاوت قیمت را پیدا کنید\(1 - 0.8 = 0.2\)
RMSE را پیدا کنید.\(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\)

به طور شهودی، شباهت اندازه گیری شده شما باید زمانی افزایش یابد که داده های ویژگی مشابه شوند. در عوض، شباهت اندازه گیری شده شما در واقع کاهش می یابد. با کم کردن آن از 1، شباهت اندازه گیری شده خود را به دنبال شهود خود قرار دهید.

\[\text{Similarity} = 1 - 0.17 = 0.83\]

به طور کلی، می‌توانید داده‌های عددی را همانطور که در Prepare data توضیح داده شده است، آماده کنید و سپس داده‌ها را با استفاده از فاصله اقلیدسی ترکیب کنید.

اگر داده های طبقه بندی شده داشته باشید چه؟ داده های دسته بندی می توانند به صورت زیر باشند:

  • تک ارزشی (تک ظرفیتی)، مانند رنگ ماشین ("سفید" یا "آبی" اما هرگز هر دو)
  • چند ارزشی (چند ظرفیتی)، مانند ژانر یک فیلم (می تواند "اکشن" و "کمدی" به طور همزمان یا فقط "اکشن" باشد)

اگر داده های یک ظرفیتی مطابقت داشته باشند، شباهت 1 است. در غیر این صورت، 0 است. پرداختن به داده های چند ظرفیتی دشوارتر است. به عنوان مثال، ژانرهای فیلم می تواند چالشی برای کار کردن باشد. برای حل این مشکل، فرض کنید به فیلم‌ها ژانرهایی از مجموعه ثابتی از ژانرها اختصاص داده شده است. شباهت را با استفاده از نسبت مقادیر مشترک محاسبه کنید که به آن شباهت ژاکارد می گویند.

مثال ها:

  • ["کمدی"، "اکشن"] و ["کمدی"، "اکشن"] = 1
  • ["کمدی"، "اکشن"] و ["اکشن"] = ½
  • ["کمدی"، "اکشن"] و ["اکشن"، "درام"] = ⅓
  • ["کمدی"، "اکشن"] و ["غیر داستانی"، "بیوگرافی"] = 0

جدول زیر چند مثال دیگر از نحوه برخورد با داده های طبقه بندی شده را ارائه می دهد.

مثال ها
کد پستی کدهای پستی نشان دهنده مناطق نزدیک به یکدیگر باید شباهت بیشتری داشته باشند. برای رمزگذاری اطلاعات مورد نیاز برای محاسبه دقیق این شباهت، می توانید کدهای پستی را به طول و عرض جغرافیایی تبدیل کنید. برای یک جفت کد پستی، تفاوت بین طول و عرض جغرافیایی آنها را جداگانه محاسبه کنید. سپس تفاوت ها را اضافه کنید تا یک مقدار عددی واحد بدست آورید.
رنگ فرض کنید داده های رنگی را به عنوان متن دارید. مقادیر متنی را به مقادیر RGB عددی تبدیل کنید. اکنون می توانید تفاوت مقادیر قرمز، سبز و آبی را برای دو رنگ پیدا کنید و با استفاده از فاصله اقلیدسی تفاوت ها را در یک مقدار عددی ترکیب کنید.

به طور کلی، معیار تشابه شما باید مستقیماً با شباهت واقعی مطابقت داشته باشد. اگر معیار شما اینطور نیست، پس اطلاعات لازم را رمزگذاری نمی کند. مثال قبلی کدهای پستی را به طول و عرض جغرافیایی تبدیل کرد زیرا کدهای پستی به خودی خود اطلاعات لازم را رمزگذاری نمی کردند.

قبل از ایجاد معیار تشابه، داده های خود را به دقت پردازش کنید. اگرچه نمونه‌های موجود در این صفحه بر یک مجموعه داده کوچک و ساده تکیه می‌کنند، اکثر مجموعه‌های داده‌های دنیای واقعی بسیار بزرگ‌تر و بسیار پیچیده‌تر هستند. به یاد داشته باشید که کوانتیل ها یک انتخاب پیش فرض خوب برای پردازش داده های عددی هستند.