آموزشیادگیری ماشین

درس ۱۳ از ۹۹، هوش مصنوعی، حدود ۶ دقیقه خواندن

نرمال‌سازی و هم‌مقیاس کردن داده

جواب کوتاه

نرمال‌سازی یعنی ستون‌ها رو هم‌مقیاس کنیم، مثل وقتی نمره‌ی ۱۸ از ۲۰ رو با ۸۵ از ۱۰۰ مقایسه می‌کنیم: باید هر دو رو ببریم روی یه خط‌کش صفر تا یک، که می‌شه ۰٫۹ و ۰٫۸۵. مدل هم اگه یه ستون عددهای بزرگ داشته باشه، مثل متراژ، و یکی کوچیک، مثل تعداد اتاق، بیشتر به بزرگه نگاه می‌کنه. دو راه اصلی داره: کمینه‌بیشینه، که همه رو می‌بره بین صفر و یک؛ و استانداردسازی، که می‌گه هر عدد چند قدم از میانگین دوره. برای روش‌هایی که فاصله حساب می‌کنن و برای گرادیان کاهشی خیلی کمک می‌کنه.

از ۲۰ یا از ۱۰۰

علی ریاضی رو ۱۸ گرفته، از ۲۰. زبان رو ۸۵ گرفته، از ۱۰۰. کدوم رو بهتر داده؟

اگه فقط عددها رو ببینید، ۸۵ خیلی از ۱۸ بزرگ‌تره. ولی این مقایسه غلطه؛ چون یکی از ۲۰ هست و یکی از ۱۰۰. باید هر دو رو ببریم روی یه خط‌کش: ۱۸ تقسیم بر ۲۰ می‌شه ۰٫۹؛ ۸۵ تقسیم بر ۱۰۰ می‌شه ۰٫۸۵. پس ریاضی رو بهتر داده.

به همین کار، یعنی یه‌اندازه کردن ستون‌ها، می‌گن نرمال‌سازی یا هم‌مقیاس کردن.

مدل هم گول می‌خوره

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

فرق متراژشون ۵ متره و فرق اتاقشون ۳ اتاق. ولی متراژ توی داده از ۵۰ تا ۱۵۰ می‌ره و تعداد اتاق از ۱ تا ۴. برای مدل، فرق ۵ متر و ۳ اتاق تقریبا یه اندازه دیده می‌شه؛ در حالی که یه خونه‌ی یه‌خوابه با یه خونه‌ی چهارخوابه خیلی فرق داره. ستونی که عددهاش بزرگ‌تره، همه‌ی فاصله رو قبضه می‌کنه.

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

صفر تا یک

ساده‌ترین راه، همون کاری که با نمره‌ها کردیم: هر ستون رو ببریم بین صفر و یک. اسمش کمینه‌بیشینهه:

  1. کوچیک‌ترین عدد ستون رو پیدا کنید (کمینه).
  2. بزرگ‌ترینش رو پیدا کنید (بیشینه).
  3. از هر عدد، کمینه رو کم کنید و تقسیم کنید بر «بیشینه منهای کمینه».

مثلا متراژها از ۵۰ تا ۱۵۰ان. خونه‌ی ۱۰۰ متری می‌شه (۱۰۰ منهای ۵۰) تقسیم بر (۱۵۰ منهای ۵۰)، یعنی ۰٫۵. کوچیک‌ترین خونه صفر می‌شه و بزرگ‌ترین یک. حالا متراژ و تعداد اتاق هر دو بین صفر و یک‌ان و هیچ‌کدوم اون یکی رو قبضه نمی‌کنه.

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

چقدر از میانگین دور

راه دوم می‌پرسه هر عدد «چند قدم از میانگین دوره». اسمش استانداردسازیه: میانگین ستون رو از هر عدد کم می‌کنیم و تقسیم می‌کنیم بر اندازه‌ی پخش‌شدگی داده‌ها، که بهش می‌گن انحراف معیار.

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

کِی لازمه

  • روش‌هایی که فاصله حساب می‌کنن: مثل نزدیک‌ترین همسایه‌ها و خوشه‌بندی k-میانگین. اینجا تقریبا همیشه لازمه. KNN.
  • هر چیزی که با گرادیان کاهشی آموزش می‌بینه: مثل شبکه‌ی عصبی. زودتر و آروم‌تر یاد می‌گیره.

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

ستون‌های عددی هم‌مقیاس شدن؛ ولی ستون‌هایی مثل «رنگ» و «شهر» که عدد نیستن چی؟ درس بعد: تبدیل متن و دسته به عدد.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • عدد بزرگ‌تر لزوما بهتر نیست؛ مقیاس مهمه.
  • مدل هم گول ستون‌های بزرگ رو می‌خوره.
  • کمینه‌بیشینه: صفر تا یک.
  • استانداردسازی: چند قدم از میانگین.
  • با همون عددهای آموزش، داده‌ی تازه رو هم‌مقیاس کن.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد