دسته بندی با استفاده از مدل های خطی Instructor : Saeed Shiry & Bishop Ch.
Download
Report
Transcript دسته بندی با استفاده از مدل های خطی Instructor : Saeed Shiry & Bishop Ch.
دسته بندی با استفاده از مدل های
خطی
Instructor : Saeed Shiry
&
Bishop Ch. 4
1
دسته بندی
2
در مسایل دسته بندی یک بردار ورودی Xبه یکی از Kکالس
مجزای Ckاختصاص داده میشود.
برای این کار فضای ورودی به نواحی تصمیم گیری تقسیم
بندی میشود که مرزهای آنرا سطوح تصمیم گیری می نامند.
در این فصل مدل هایی بررسی میشوند که سطوح تصمیم گیری
از توابع خطی تشکیل میشوند .برای جدا سازی فضای ورودی
Dبعدی از ابرصفحه های D-1بعدی استفاده میشود.
مسایل جدا پذیر خطی
3
مجموعه داده هایی که با یک سطح تصمیم گیری خطی جداپذیر هستند
linearly separableیا جداپذیر خطی نامیده میشوند.
یک دسته بندی کننده خطی برای دسته بندی داده ها از ترکیب خطی
ویژگی ها استفاده میکند.
دسته بندی کننده خطی بسیار سریع عمل میکند و برای داده ها با ابعاد
باال کارائی خوبی دارد( .البته درخت تصمیم میتواند سریعتر عمل نماید).
دسته بندی کننده غیرخطی
دسته بندی کننده خطی
داده جدا پذیر خطی
Generative models vs. discriminative models
دو روش کلی برای تعیین پارامترهای دسته بندی کننده های خطی وجود دارد:
Generative models
این روش ها بر اساس مدل سازی توابع چگالی شرطی عمل میکنند نظیر
Naive Bayes classifierکه در آن از فرض استقالل شرطی استفاده میشود.
discriminative models
در این روش ها از یک مدل جدا کننده استفاده میشود که سعی در افزایش کیفیت خروجی بر
اساس داده های آموزشی دارد .نظیر:
Logistic regression
که در آن مدل بر این اساس بدست می آید که داده مشاهده شده توسط مدلی ساخته شده که توسط خروجی
قابل توصیف است
Perceptron
که در آن سعی در کاهش خطای مشاهده شده در داده آموزشی است
Support vector machine
که در آن سعی در افزایش فاصله مرزی سطوح تصمیم گیری و داده های آموزشی است
4
تقسیم بندی مدلها به صورت احتماالتی
Discriminant Functions
Probabilistic Generative Models
Two class and Multi class
Least squares for classification
Fisher’s linear discriminant
Perceptron algorithm
Continuous inputs and max likelihood
Discrete inputs, Exponential Family
Probabilistic Discriminative Models
Logistic regression for single and multi class
Laplace approximation
Bayesian logistic regression
5
تابع هدف
در مسایل دو کالسی تابع هدف بصورت زیر است:
که مقدار t=0برای کالس C1و t=1برای کالس C2استفاده
میشود.
برای مسایل چند کالسی از یک روش کدینگ 1-of-Kبرای
نمایش کالسها استفاده میشود .برای مثال در یک مسئله 5
کالسی یک ورودی متعلق به کالس 2بصورت زیر نمایش
داده میشود.
6
تبدیل رگراسیون خطی به دسته بندی کننده
خطی
ساده ترین مدل رگراسیون مدل خطی بصورت زیر است:
در مسایل دسته بندی مقدار yمقادیر گسسته و یا مقدار احتمال
ثانویه بین) (0,1به خود میگیرد.
برای این منظور از تابعی به صورت ) f(.که تابع
activation functionنامیده میشود استفاده میشود.
سطوح تصمیم گیری بصورت y(x)=constantخواهند بود
که توابع خطی از xهستند .اما در حالت کلی fمی تواند غیر
خطی باشد.
7
تابع جداساز
تابع جدا ساز تابعی است که بردار xرا بعنوان ورودی گرفته و
در خروجی مقداری متناسب با کالس Ckتولید میکند.
در حالت دو کالسی تابع جدا ساز خطی بصورت زیر تعریف
میشود.
که در آن wبردار وزن و w0مقدار بایاس خوانده میشود.
برای دسته بندی از رابطه زیر استفاده میشود:
مرز دسته بندی با تابع زیر تعیین میشود:
این مرز برای داده Dبعدی بصورت یک ابرصفحه D-1
بعدی خواهد بود.
8
تعیین تابع جداساز
برای تعیین مقادیر wمی توان دو نقطه XA, XBرا در روی سطح
تصمیم گیری درنظر بگیرید .از آنجائیکه
لذا خواهیمداشت:
در نتیجه بردار wبر هر بردار موجود در صفحه تصمیم گیری عمود
خواهد بود .بعبارت دیگر بردار wمی تواند جهت صفحه تصمیم گیری
را تعیین نماید.
اگر xنقطه ای روی سطح تصمیم گیری باشد خواهیم داشت:
9
مقدار w0فاصله از مبدا سطح تصمیم گیری را
مشخص میکند.
تعیین تابع جداساز
برای یک نقطه دلخواه xداریم:
که تصویر نقطه xروی صفحه تصمیم گیری است.
با ضرب کردن هر دو طرف در wTو جمع کردن با w0و
استفاده از روابط زیر خواهیمداشت:
10
مسایل چند کالسی
11
برای مسایلی که K >2باشد ممکن است
بخواهیم دسته بندی را با استفاده از چند دسته
بندی کننده 2کالسی انجام دهیم .اما اینکار با
مشکل مواجه است.
در یک دسته بندی کننده one-versus-allاز
تعداد k-1دسته بندی کننده 2کالسی استفاده
میشود که هر کدام یکی از کالسها را از سایرین
جدا میکند .این امر باعث بوجود آمدن نواحی با
دسته بندی مبهم میشود.
در روش one-versus-oneاز تعداد k(k-
1)/2دسته بندی کننده باینری استفاده میشود که
یک دست را از یک دسته دیگر جدا میکند.
برای دسته بندی کردن یک نقطه از روش
votingبرای انتخاب رای اکثریت دسته بندی
کننده ها استفاده میشود .اما این امر هم باعث
بوجود آمدن نواحی با دسته بندی مبهم میشود.
دسته بندی کننده چند کالسی
یک راه دیگر ،ساخت یک دسته بندی کننده است که با استفاده از
تابع زیر بتواند مستقیما دسته یک ورودی را مشخص نماید.
ورودی xبه دسته Ckتعلق خواهد داشت اگر
مرز تصمیم گیری بین دو دسته Ck, Cjدر جایی خواهد بود که
ابرصفحه تصمیم گیری D-1بعدی بوده و بصورت زیر تعریف
میشود:
ثابت میشود که نواحی تصمیم گیری singly connectedو
محدب هستند.
12
اثبات محدب بودن سطوح تصمیم گیری
13
یادگیری تابع دسته بندی کننده
14
برای یادگیری دسته بندی کننده خطی از سه روش میتوان
استفاده کرد:
Least squares,
Fisher’s linear discriminant, and
Perceptron algorithm.
تمامی این روشها ساده هستند اما دارای معایب مخصوص به
خود نیز میباشند.
دسته بندی با استفاده از کمترین مربع خطا
این روش مشابه رگراسیون خطی است و منجر به معادالت بسته ای
میشود که برای تمامی پارامترها مقداری بدست خواهد آمد.
هر یک از دسته های Ck, k=1…Kتوسط یک مدل خطی مخصوص
به خود تعیین میشوند:
برای سادگی محاسبات بجای برداری ورودی Xاز یک بردار ساختگی
بصورت زیر استفاده میشود:
همینطور بردار وزن بصورت زیر نوشته میشود:
در نتیجه مجموعه معادالت دسته بندی کننده را میتوان بصورت زیر نوشت:
Wماتریس وزن و یا پارامترهای مسئله است که ستون Kام آن یک
بردار D+1بعدی است .برای یادگیری این ماتریس از روش کاهش
خطای مربعی استفاده میشود.
پس از یادگیری پارامترها میتوان ورودی دلخواه Xرا به دسته ای متعلق
دانست که برای آن مقدار زیر حداکثر باشد:
15
تعیین پارامترها با استفاده از روش Least
squares
مجموعه داده ورودی
tnدسته مربوط به هر بردار ورودی را مشخص میکند که بصورت 1-
out of- Kساخته شده و یک بردار D+1بعدی است.
ماتریس های زیر را تعریف میکنیم:
در نتیجه تابع مربوط به مجموع مربعات خطا بصورت زیر در
خواهد آمد:
در این رابطه WX-Tبردار خطاست که مجذور آن بصورت یک
ماتریس قطری خواهد بود .در نتیجه ( Trتریس) مجموع عناصر
قطری خواهد بود.
16
مینیمم کردن تابع خطا
برای اینکار از تابع خطا نسبت به Wمشتق گرفته شده و برابر
صفر قرار داده میشود:
بعد از مرتب سازی تابع جدا کننده بصورت زیر در می آید:
17
محدودیت های روش Least Squares
18
یک محدودیت اصلی این روش حساسیت آن نسبت به وجود
Outliersاست.
معایب روش least sqaure
19
ضعف نسبت به outlier
برخی از داده ها برای این روش مناسب نیستند
سطح تصمیم گیری این روش در شرایطی که توزیع گاوسی باشد ،مشابه Maximum
Likelihoodاست که در مورد سطوح تصمیم گیری باینری خوب عمل نمیکند.
مثال زیر عدم کارایی این روش را نشان میدهد.
با استفاده از مدلهای احتماالتی میتوان تکنیکهایی ساخت که خیلی بهتر از روش حداقل
مربعات عمل کنند.
Fisher’s linear discriminant
20
یک نگرش متفاوت به جداسازی خطی از دیدگاه کاهش بعد
میباشد.
فرض کنید که بردار Xکه یک داده Dبعدی است را با استفاده
از رابطه y = wTxبه یک بعد تصویر کنیم .اینکار باعث
میشود تا داده هایی که در Dبعد بخوبی جدا پذیر بودند در یک
بعد در هم فرو رفته و جدا نشوند.
اما میتوان با انتخاب صحیح wتصویرسازی )(projection
داده را طوری انجام داد که حداکثر جدا سازی بدست آید.
Fisher Linear Discriminant
در یک مسئله دو کالسه فرض کنید که تعداد N1داده به کالس C1
و تعداد N2داده به کالس C2تعلق داشته باشد در این صورت
میانگین هر کالس برابر است با:
یک راه ساده برای جداسازی داده های تصویر شده این است که
فاصله بین میانگین داده های تصویر شده افزایش یابد .در این حالت
میتوان wرا طوری انتخاب کرد که فاصله زیر افزایش یابد:
از آنجاییکه با انتخاب مقادیر بزرگ برای wمیتوان این عبارت را
بدلخواه بزرگ کرد w ،با رابطه زیر محدود میشود:
با معرفی ضریب الگرانژ میتوان این ماکزیمم سازی با محدودیت را
بخوبی انجام داد.
21
اهمیت واریانس داخل کالسی
22
فاصله بین میانگین دو کالس لزوما معیار خوبی برای جداپذیر
ساختن دو کالس نیست.
ایده اصلی فیشر
23
داده های شکل زیر در فضای اصلی جدا پذیر هستند اما وقتی به خطی که میانگین
های آنها را به هم وصل میکند تصویر میشوند همپوشانی زیادی دارند.
این مشکل ناشی از وجود کوواریانس غیرقطری شدید توزیع کالسهاست.
ایده فیشر :تابعی را ماکزیمم کنیم که جدایی بین کالسهای تصویر شده را ماکزیمم
کند در حالیکه در داخل هر کالس واریانس را کم نماید تا بدینوسیله هم پوشانی
کاهش یابد.
مثالی از انتخاب وزنها در ایده فیشر
24
فرمول فیشر
واریانس داخل کالسی داده های تصویر شده متعلق به کالس
Ckتوسط رابطه زیر تعیین میشود:
ماتریس sرا scatter matrixمی نامند
25
میتوان مجموع واریانس داخل کالسی را ثابت فرض کرد:
قاعده فیشر بصورت نسبت واریانس بین کالسها به واریانس
درون کالسی تعریف میشود:
این رابطه را میتوان بصورت زیر مرتب نمود:
فرمول فیشر
26
فرمول فیشر
27
فرمول فیشر
با مشتق گرفتن از رابطه فیشر می توان آنرا ماکزیمم کرد:
از آنجاییکه عبارات زیر اندازه wرا تعیین میکنند
میتوان از آنها صرفنظر کرده و طرفین را در
28
ضرب کرد.
مشاهده میشود که wبا میانگین کالسها متناسب است .از این
خاصیت برای پیدا کردن جهت مناسب برای تصویر کردن داده ها
در یک بعد استفاده نمود.
در عمل مقدار بصورت y0انتخاب میشود بطوریکه
ارتباط فیشر با حداقل مربعات
29
در روش حداقل مربعات هدف یافتن مدلی است که تخمینهای آن
تا حد ممکن به تابع هدف نزدیک باشد .و روش فیشر بدنبال
یافتن مدلی است که حداکثر فاصله را در فضای خروجی داشته
باشد.
با این وجود نشان داده میشود که برای مسایل دو کالسی رابطه
فیشر به حالت خاصی از روش حداقل مربعات تبدیل میشود( .
اثبات در کتاب موجود است)
جدا ساز فیشر برای مسایل چند کالسی
30
الگوریتم فیشر را میتوان به ابعاد باالتر نیز گسترش داد .در مثال زیر داده های 3بعدی به
زیر فضا های 2بعدی تصویر شده اند ( از فضای Dبعدی به c-1بعدی ) که توسط
بردارهای w1, w2توصیف میشوند.
در اینحالت زیرفضا های بهینه به نحوی پیدا میشوند که حداکثر جداسازی را برای یک
مقدار ثابت از واریانس داخل کالسی داشته باشند .در این شکل w1بخوبی از عهده اینکار
بر می آید.
محدودیت های جدا ساز فیشر
31
توزیع داده ها را بصورت ضمنی گوسی فرض میکند.
برای جدا سازی به میانگین اهمیت میدهد.
با خطر overfitروبروست.
الگوریتم پرسپترون
این الگوریتم که در سال 1962توسط Rosenblattارائه شد
روش دیگری برای جداسازی خطی است.
این الگوریتم یک مدل دو کالسی ارائه میدهد که در آن ابتدا
بردار ورودی توسط یک تابع غیر خطی به یک فضای ویژگی
) φ)xمنتقل میشود تا توسط رابطه زیر به یک مدل خطی
تعمیم یافته تبدیل شود.
برخالف سایر مدلهای دو کالسی ،در پرسپترون کالسها با 1,
0نشان داده نمیشوند.
32
بدست آوردن وزن ها
میتوان وزنها را از طریق کم کردن یک تابع خطا بدست آورد.
یک انتخاب طبیعی برای تابع خطا میتوانست تعداد داده هایی
باشد که غلط دسته بندی میشوند.
33
اما این انتخاب به یک الگوریتم یادگیری ساده منتهی نمیشود زیرا
چنین تابعی بصورت piecewise constantخواهد بود که با هر
تغییر wسطوح تصمیم گیری به سمت یکی از نقاط داده حرکت
خواهد کرد.
در نتیجه نمی توان از مشتق گیری برای تعیین wاستفاده نمود.
همچنین هیچ پاسخ closed formبرای این مسئله وجود ندارد.
قاعده پرسپترون
از آنجائیکه میخواهیم بردار وزن wبگونه ای باشد که برای
داده xnدر کالس C1داشته باشیم:
و برای کالس C2داشته باشیم:
این امر را با یک فرمول کلی بصورت زیر میتوان نوشت:
قاعده پرسپترون به هر داده ای که بدرستی ارزیابی شده باشد
خطای صفر نسبت میدهد و برای هر ارزیابی ناصحیح سعی
را به حداقل برساند .در
میکند تا مقدار خطای
نتیجه خطا بصورت زیر تعریف میشود.
34
قانون یادگیری پرسپترون
سهم خطا برای داده هایی که نادرست ارزیابی میشوند بصورت
یک تابع خطی از wاست .لذا میتوان الگوریتم گرادیان نزولی
) (gradient descentرا به این تابع اعمال نمود.
قانون یادگیری پرسپترون:
داده های آموزشی به ترتیب ارزیابی میشوند.
35
اگر داده درست دسته بندی شد وزنها تغییر نمیکند
در غیر اینصورت برای کالس C1متناسب با بردار) φ)xبه مقدار وزن
wاضافه شده و برای کالس C2از آن کم میشود.
همگرایی مقادیر وزنها
با هر بار تکرار الگوریتم یادگیری پرسپترون سهم خطای ناشی از یک داده که به
غلط دسته بندی شده است کاهش می یابد.
که البته این بدان معنا نیست که برای داده های دیگر نیز چنین اتفاقی می افتد.
عالوه بر آن تغییر وزنها می تواند برخی از داده ها را که در تکرار های قبلی
درست دسته بندی میشدند به صورت غلط دسته بندی نماید .لذا هیچ تضمینی برای
کاهش خطا در هر مرحله وجود ندارد.
با این وجود اثبات شده است که اگر جوابی وجود داشته باشد ( داده ها جداپذیر
خطی باشند) آنگاه الگوریتم یادگیری پرسپترون میتواند در تعداد مرحله محدود به
جواب برسد.
در حالت کلی برای یک مسئله جداپذیر خطی راه حل های مختلفی وجود دارد و
جوابی که پیدا میشود بستگی به مقادیر اولیه پارامترها و همچنین ترتیب ارائه داده
ها دارد.
برای داده های جدا ناپذیر این الگوریتم هرگز همگرا نخواهد شد.
36
مثالی از یادگیری پرسپترون
37
در این مثال
بردار وزن و خط
جدا کننده با رنگ
سیاه نشان داده
شده است.
خط قرمز رنگ
بردار خطا را
نشان میدهد که با
اضافه شدن به
بردار وزن ها
باعث تغییر جهت
آن میشود.
محدودیت های پرسپترون
38
افزایش آن به بیش از 2کالس عملی نیست.
برای داده هایی که بصورت خطی جداناپذیر هستند همگرا
نمیشود.
خالصه
Linear Discrimin. Funcs have simple geometry
Extensible to multiple classes
Parameters can be learnt using
Least squares
Fisher’s linear discriminant
not robust to outliers, model close to target values
Two class is special case of least squares
Perceptrons
Does not converge if classes not linearly separable
Does not provide probabilistic output
Not readily generalized to K>2 classes
39