یادگیری ماشین و دادهکاوی |
---|
![]() |
در یادگیری ماشین، یادگیری ویژگی یا یادگیری ارائه [۱] مجموعه ای از روش هاست که به یک سیستم اجازه میدهد نمایشهای مورد نیاز برای تشخیص یا طبقهبندی ویژگیها را از دادههای خام به طور خودکار کشف کند. این روش جایگزین مهندسی ویژگی های دستی میشود و به یک ماشین اجازه میدهد تا هم ویژگیها را یاد بگیرد و هم برای انجام یک کار خاص از آنها استفاده کند.
یادگیری ویژگی از این واقعیت نشات میگیرد که وظایف یادگیری ماشین مانند طبقه بندی اغلب به ورودیهایی نیاز دارند که از نظر ریاضی و محاسباتی برای پردازش مناسب هستند. در حالی که برای دادههای دنیای واقعی مانند تصاویر، ویدئوها و دادههای حسگرها (سنسورها) نمیتوان ویژگیهای مشخص را به صورت الگوریتمی تعیین کرد. حالت دیگر کشف این ویژگیها یا ارائهها از طریق بررسی، بدون استفاده از الگوریتمهای صریح است.
یادگیری ویژگی میتواند با ناظر (تحت نظارت) یا بدون ناظر باشد.
یادگیری ویژگی با نظارت ، یادگیری ویژگیهای دادههای دارای برچسب است. برچسب داده به سیستم اجازه میدهد تا خطا را محاسبه کند و اگر سیستم قادر به تولید برچسب نبود، میتواند به عنوان بازخورد برای اصلاح روند یادگیری (کاهش / به حداقل رساندن خطا) استفاده شود.
یادگیری فرهنگ لغت مجموعهای (واژه نامه) از عناصر نماینده را از دادههای ورودی ایجاد میکند، به طوری که هر نقطه داده میتواند به عنوان یک جمع وزنی از عناصر نماینده نشان داده شود. عناصر فرهنگ لغت و وزن ها را می توان با به حداقل رساندن میانگین خطای نمایش (بیش از داده های ورودی) ، همراه با تنظیم روی وزن ها برای ایجاد پراکندگی (به عنوان مثال، نمایش هر نقطه داده فقط چند وزن غیر صفر دارد).
یادگیری دیکشنری تحت نظارت هم از ساختار زمینه داده های ورودی و هم از برچسب ها برای بهینه سازی عناصر فرهنگ استفاده می کند. به عنوان مثال ، یک روش یادگیری فرهنگ لغت تحت نظارت با بهینه سازی مشترک عناصر فرهنگ لغت ، وزن برای نمایش نقاط داده و پارامترهای طبقه بندی بر اساس داده های ورودی ، یادگیری فرهنگ لغت را بر روی مشکلات طبقه بندی اعمال کرد. به طور خاص ، یک مسئله به صورت مسئله کمینهسازی فرموله میشود ، جایی که تابع هدف شامل خطای طبقهبندی، خطای نمایش، تنظیم L1 در وزنهای نمایانگر برای هر نقطه داده (برای فعال کردن نمایش پراکنده دادهها) و تنظیم L2 در پارامترها از طبقه بندی کننده است.
شبکه های عصبی خانواده ای از الگوریتمهای یادگیری هستند که از "شبکه" متشکل از چندین لایه گره (نود) بهم متصل استفاده میکنند. این ایده از سیستم عصبی حیوانات الهام گرفته شده است ، جایی که گره ها به عنوان نورون و لبه ها به عنوان سیناپس مشاهده می شوند. هر لبه دارای یک وزن مرتبط است و شبکه قوانین محاسباتی را برای عبور داده های ورودی از لایه ورودی شبکه به لایه خروجی تعریف می کند. یک عملکرد شبکه مرتبط با یک شبکه عصبی رابطه بین لایه های ورودی و خروجی را مشخص می کند ، که با وزن پارامتر می شود. با عملکردهای شبکه ای که به طور مناسب تعریف شدهاند ، می توان با به حداقل رساندن تابع هزینه نسبت به عملکرد شبکه (وزن ها) ، کارهای مختلف یادگیری را انجام داد.
از شبکه های عصبی چند لایه می توان برای یادگیری ویژگی استفاده کرد، زیرا آنها نمایشی از ورودی خود را در لایه(های) مخفی یاد میگیرند که متعاقباً برای طبقه بندی یا رگرسیون در لایه خروجی استفاده می شود. محبوب ترین معماری شبکه از این نوع شبکه های سیامی است.
یادگیری ویژگی بدون ناظر ، یادگیری ویژگیهای داده بدون برچسب است. هدف از یادگیری ویژگی بدون ناظر ، غالباً کشف ویژگیهای با بعد کم است که برخی از ساختارهای موجود در دادههای ورودی با ابعاد بالا را ضبط میکند. وقتی یادگیری ویژگی به روش بدون ناظر انجام میشود ، نوعی یادگیری نیمه نظارتی را امکان پذیر می کند که در آن از ویژگیهای آموخته شده از یک مجموعه داده بدون برچسب استفاده میشود تا عملکرد را در یک محیط تحت نظارت با داده دارای برچسب بهبود بخشد. در ادامه چند رویکرد معرفی میشود.
خوشه بندی K رویکردی برای کمی سازی بردار است. به طور خاص ، در این حالت مجموعه ای از n بردار داده میشود و k به معنای خوشه بندی بردارها به k خوشه (یعنی زیرمجموعه ها) است به گونه ای که هر بردار به خوشهای با نزدیکترین میانگین تعلق دارد. این مسئله از نظر محاسباتی NP سخت است ، هرچند الگوریتم های حریصانه غیربهینهای به وجودآمدهاند.
خوشه بندی K-means می تواند برای گروه بندی مجموعه ای از ورودی های غیر برچسب در k خوشه استفاده شود و سپس از centroids این خوشه ها برای تولید ویژگی ها استفاده شود. این ویژگی ها از چند طریق قابل تولید است. ساده ترین کار این است که k ویژگی باینری به هر نمونه اضافه شود ، در صورتی که هر ویژگی j دارای یک ارزش است اگر و تنها اگر که j هفتمین مرکز آموخته شده توسط k- یعنی نزدیکترین نمونه به نمونه مورد بررسی است. همچنین می توان از فاصله تا خوشه ها بهعنوان ویژگی استفاده کرد ، شاید پس از تبدیل آنها از طریق یک تابع پایه شعاعی (تکنیکی که برای آموزش شبکه های RBF استفاده شده است). Coates و Ng توجه دارند که انواع خاصی از k به معنای مشابه الگوریتم های کدگذاری پراکنده هستند.
در یک ارزیابی تطبیقی روش های یادگیری ویژگی بدون نظارت، کوتس، لی و ان جی دریافتند که خوشهبندی k -means با یک تبدیل مناسب در طبقه بندی تصویر بهتر از RBMs و خود رمز گذارها (اتوانکودرها) که بهتازگی اختراع شدهاند عمل میکنند. K-means همچنین عملکرد را در حوزه NLP بهبود می بخشد ، به ویژه برای شناسایی موجودیت . همچنین با خوشه بندی قهوه ای ، و با نمایش کلمات توزیع شده (که به عنوان تعبیه کلمات شناخته می شود) رقابت می کند.
یادگیری خودنظارتی زمانی کاربرد دارد که داده دارای برچسب کمیاب باشد ولی حجم زیادی داده بدون برچسب موجود باشد (که در اکثر کاربرد های دنیای واقعی این شرط برقرار است). در این روش می توان از تعداد کمی داده دارای برچسب استفاده کرد و برچسب بخش دیگری از داده ها را پیش بینی کرد. سپس از پیش بینی های قبلی به عنوان داده دارای برچسب استفاده می شود تا پیش بینی های جدید برای داده های جدید انجام شود و به همین ترتیب می توان ادامه داد. در واقع مدل یادگیری در این روش با تولید برچسب می تواند خودش را برای گام های بعدی نظارت کند. یادگیری ویژگی با این روش دو نوع تمایزی و سازنده دارد. در یادگیری تمایزی داده ها به صورت جفت داده می شوند و سعی می شود که داده های مشابه نمایش ویژگی مشابهی داشته باشند و داده های غیر مشابه نمایش ویژگی متفاوتی داشته باشند. در روش سازنده سعی می شود از روی ورودی نمایش ویژگی ها در ابعاد کم تولید شود یا اینکه از روی نمایش ویژگی ها نمایش داده اولیه بازتولید شود. به طور مثال استفاده از برخی ساختار های شبکه عصبی مصنوعی با تعداد لایه های زیاد یا یادگیری ویژگی خودنظارتی کاربرد های زیادی دارد و روی انواع داده ها می تواند اجرا شود. بیشترین کاربرد این روش در پردازش متن، تصویر، و ویدئو بوده است که در ادامه به برخی از آنها پرداخته شده است.
مدل های زبانی زیادی تا به حال برای یادگیری نمایش کلمات پیشنهاد شده اند که از روش یادگیری خودنظارتی استفاده می کنند. به طور مثال Word2vec یک مدل زبانی است که سعی می کند برای هر کلمه، با توجه به کلماتی که کنارش در بازهای مشخص ظاهر می شوند، یک بردار نمایش با ابعاد کم پیدا کند.[۲] دو مدل CBOW و skip grams برای این کار استفاده می شوند. در مدل CBOW سعی می شود کلمه مرکزی جاافتاده با توجه به کلمات اطرافش پیش بینی شود. مدل skip grams حالت برعکس قبلی را دارد و سعی می کند کلمات اطراف کلمه مرکزی داده شده را پیش بینی کند. در هر دو روش می توان از یادگیری خودنظارتی استفاده کرد و کلمات واقعی را در ابتدا به عنوان برچسب درست به کار برد تا در گام های بعدی کلمات با دقت بالایی پیش بینی شوند. البته محدودیت این روش ها این است که تنها بر اساس پیشامد همزمان کلمات کنارهم آموزش می بینند و مفاهیم کلیدی در کل متن را نمی توانند یاد بگیرند. برای حل این مشکل روش های جدیدی بر اساس توجه مثل ترنسفورمرها و برت پیشنهاد شده اند و عملکرد بسیار خوبی در ماشین های ترجمه داشته اند.[۳]
روش های مختلفی در پردازش تصویر وجود دارند که بتوان یادگیری خودنظارتی را روی تصاویر انجام داد. پرکاربردترین روش ها در این زمینه استفاده از تبدیلاتی مثل انتقال، چرخش، رنگ آمیزی، یا جداسازی بخش هایی از عکس هستند. با ایجاد تغییراتی مثل انتقال یا چرخش در عکس، مدل مجبور می شود ویژگی های سطح بالا از تصویر و موقعیت نسبی عناصر را یاد بگیرد. روش دیگر این است که بخش های مختلف عکس را در چند قطعه جدا کنیم و بخواهیم موقعیت نسبی دو قطعه را پیش بینی کنیم. در این صورت می توان تعدادی از این قطعه ها را به عنوان داده دارای برچسب انتخاب کرد و بقیه بخش ها را پیش بینی کنیم. استفاده از شبکه عصبی پیچشی در این روش ها بسیار گسترده است.