مهندسی ویژگی

مهندسی ویژگی یا استخراج ویژگی یا کشف ویژگی، فرایند استفاده از دانش دامنه برای استخراج ویژگی‌ها (مشخصات، خواص، صفت‌ها) از داده‌های خام است.[۱] انگیزه استفاده از این ویژگی‌های اضافی برای بهبود کیفیت نتایج حاصل از فرایند یادگیری ماشین است، در مقایسه با ارائه تنها داده خام به فرایند یادگیری ماشین.

روندویرایش

فرایند مهندسی ویژگی عبارت است از:[۲]

  • ویژگی‌های طوفان فکری یا آزمایش[۳]
  • تصمیم‌گیری برای ایجاد نوع ویژگی‌ها
  • ایجاد ویژگی‌ها
  • آزمایش تأثیر ویژگی‌های شناسایی شده بر روی کار
  • در صورت نیاز ویژگی‌های خود را بهبود می‌بخشد
  • تکرار

ویژگی‌های معمول مهندسیویرایش

لیست زیر[۴] راه‌های متداول برای مهندسی کاربردی ویژگی‌ها را ارائه می‌کند

  • تبدیل‌های عددی (مانند گرفتن کسر یا مقیاس‌بندی)
  • رمزگذار دسته مانند رمزگذار تک-نمود (به انگلیسی: one-hot) یا هدف (برای داده‌های رسته‌ای)[۵]
  • خوشه‌بندی
  • مقادیر تجمیع شده گروه
  • تجزیه و تحلیل مولفه اصلی (برای داده‌های عددی)

ارتباطویرایش

ویژگی‌ها از نظر مفهوم متفاوت هستند.[۶] حتی ویژگی‌های نسبتاً کوچک ممکن است به یک نمونه کمک کنند. انتخاب ویژگی می‌تواند تعداد ویژگی‌ها را کم کند تا از خاص شدن یک نمونه به مجموعه داده‌های آموزشی (بیش از حد) جلوگیری کند.[۷]

پُکشویرایش

پُکش ویژگی زمانی اتفاق می‌افتد که تعداد ویژگی‌های شناسایی شده به شکل نامناسبی افزایش یابد. علت‌های متداول عبارتند از:

  • قالب‌های ویژگی - پیاده‌سازی قالب‌های ویژگی به جای کدنویسی ویژگی‌های جدید
  • ترکیبش‌های ویژگی - ترکیبش‌هایی (به انگلیسی: combination) که نمی‌توانند با یک سیستم خطی نمایش داده شوند

پکش ویژگی را می‌توان از طریق روش‌هایی مثل: منظم سازی، روش‌های هسته و انتخابش ویژگی کاهش داد.[۸]

خودکارسازیویرایش

خودکارسازی مهندسی ویژگی یک موضوع تحقیقاتی است که تاریخ آن، به دهه ۱۹۹۰ برمی گردد. نرم‌افزار یادگیری ماشین که مهندسی ویژگی‌های خودکار را شامل می‌شود از سال ۲۰۱۶ به صورت تجاری در دسترس بوده‌است.[۹] ادبیات علمی مرتبط حدوداً به دو شکل تقسیم می‌شود:

  • یادگیری درخت تصمیم چند-رابطه ای (MRDTL) از یک الگوریتم نظارت شده استفاده می‌کند که شبیه به درخت تصمیم است.
  • آمیختن ویژگی عمیق از روش‌های ساده‌تری استفاده می‌کند.

منابعویرایش

  1. "Machine Learning and AI via Brain simulations". Stanford University. Retrieved 2019-08-01.
  2. "Big Data: Week 3 Video 3 - Feature Engineering". youtube.com.
  3. Jalal, Ahmed Adeeb (January 1, 2018). "Big data and intelligent software systems". International Journal of Knowledge-based and Intelligent Engineering Systems. 22 (3): 177–193. doi:10.3233/KES-180383 – via content.iospress.com.
  4. "Creating Features". kaggle.com (به انگلیسی). Retrieved 2021-09-30.
  5. "Category Encoders — Category Encoders 2.2.2 documentation". contrib.scikit-learn.org. Retrieved 2021-10-01.
  6. "Feature Engineering" (PDF). 2010-04-22. Retrieved 12 November 2015.
  7. "Feature engineering and selection" (PDF). Alexandre Bouchard-Côté. October 1, 2009. Retrieved 12 November 2015.
  8. "Feature engineering in Machine Learning" (PDF). Zdenek Zabokrtsky. Archived from the original (PDF) on 4 March 2016. Retrieved 12 November 2015.
  9. "Its all about the features". Reality AI Blog. September 2017.