0% found this document useful (0 votes)
3 views37 pages

14 - Learning From Examples - SVM

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views37 pages

14 - Learning From Examples - SVM

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

‫داﻧﺸﮕﺎه ﻋﻠﻢ و ﺻﻨﻌﺖ‬

‫داﻧﺸﮑﺪه ﻣﮭﻨﺪﺳﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ‬

‫ﯾﺎدﮔﯿﺮي از روي ﻧﻤﻮﻧﻪ داده‬


‫ﻣﺎﺷﯿﻦ ﺑﺮدار ﭘﺸﺘﯿﺒﺎن‬
‫»ﻫﻮش ﻣﺼﻨﻮﻋﯽ‪ :‬رﻫﯿﺎﻓﺘﯽ ﻧﻮﯾﻦ«‪ ،‬ﻓﺼﻞ ‪18‬‬
‫ﻣﺪرس‪ :‬آرش ﻋﺒﺪي ﻫﺠﺮاﻧﺪوﺳﺖ‬
‫ﻧﯿﻢﺳﺎل دوم ‪1402-1401‬‬
‫ﻣﺎﺷﯿﻦ ﺑﺮدار ﭘﺸﺘﯿﺒﺎن‬
‫‪Support Vector Machine - SVM‬‬
‫‪ ‬اﺑﺰاري ﺑﺮاي ﯾﺎدﮔﯿﺮي ﺑﺎ ﻧﻈﺎرت‬
‫‪ ‬ﺧﯿﻠﯽ وﻗﺖﻫﺎ اوﻟﯿﻦ اﻧﺘﺨﺎب ﻣﯽﺗﻮاﻧﺪ ﺑﺎﺷﺪ‪ ،‬اﮔﺮ داﻧﺶ زﻣﯿﻨﻪاي ﺧﺎﺻﯽ از ﻣﺴﺎﻟﻪ ﮐﻪ ﻣﺎ را ﺑﻪ‬
‫ﺳﻤﺖ روش ﺧﺎﺻﯽ ﺳﻮق دﻫﺪ‪ ،‬ﻧﺪاﺷﺘﻪ ﺑﺎﺷﯿﻢ‪.‬‬
‫‪ ‬اﺑﺰار دﺳﺘﻪﺑﻨﺪي اﺳﺖ‪ ،‬ﻧﻪ ﻫﺮ ﯾﺎدﮔﯿﺮياي )ﺑﺮﺧﻼف ﺷﺒﮑﻪ ﻋﺼﺒﯽ(‬

‫‪2‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫وﯾﮋﮔﯽﻫﺎي ﻣﺸﺨﺼﻪ‬
‫‪ ‬ﺧﻂ ﺟﺪاﮐﻨﻨﺪهاي ﺑﺮ اﺳﺎس اﯾﺠﺎد ﺑﯿﺸﺘﺮﯾﻦ ﺣﺎﺷﯿﻪ ﭘﯿﺪا ﻣﯽﮐﻨﺪ‬
‫‪ ‬ﺗﻌﻤﯿﻢ ﺑﺎﻻ‬
‫‪ ‬اﺑﺮﺻﻔﺤﻪاي ﺧﻄﯽ اﯾﺠﺎد ﻣﯽﮐﻨﺪ )ﺑﺮاي ﺟﺪاﮐﺮدن دادهﻫﺎ(‪.‬‬
‫‪ ‬ﻫﺮﭼﻨﺪ ﺑﺎ اﺳﺘﻔﺎده از »ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ« دادهﻫﺎ ﺑﻪ ﻓﻀﺎي دﯾﮕﺮي )اﺣﺘﻤﺎﻻ ﺑﺎ اﺑﻌﺎد ﺑﺰرﮔﺘﺮ( ﻧﮕﺎﺷﺖ ﻣﯽﺷﻮﻧﺪ‪.‬‬
‫‪ ‬ﺑﺎ اﯾﻦ ﺗﺮﻓﻨﺪ‪ ،‬اﮔﺮ دادهﻫﺎ در ﻓﻀﺎي اوﻟﯿﻪ ﺑﻪ ﺻﻮرت ﺧﻄﯽ‪ ،‬ﺟﺪاﭘﺬﯾﺮ ﻧﺒﺎﺷﻨﺪ‪ ،‬اﺣﺘﻤﺎﻻ در ﻓﻀﺎي ﻧﮕﺎﺷﺖ )ﻓﻀﺎي‬
‫ﻫﺴﺘﻪ( ﺑﻪ ﺻﻮرت ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد‪.‬‬
‫‪ ‬روﺷﯽ )ﺗﻘﺮﯾﺒﺎ( ﺑﺪون ﭘﺎراﻣﺘﺮ اﺳﺖ‪.‬‬
‫‪ ‬درد ﭘﺎراﻣﺘﺮ ﮐﺸﯿﺪهﻫﺎ ﻣﻌﻨﺎي ﺟﻤﻠﻪ ﻓﻮق را ﻣﯽﻓﻬﻤﻨﺪ!‬
‫‪ ‬ﭘﺎراﻣﺘﺮﻫﺎي آزاد ﯾﮏ اﻟﮕﻮرﯾﺘﻢ‪ ،‬ﻣﯿﺦﻫﺎي ﺗﺎﺑﻮﺗﺶ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ SVM ‬در ﻋﻮض‪ ،‬ﺑﺨﺸﯽ از ﺧﻮد ﻧﻤﻮﻧﻪﻫﺎ را ذﺧﯿﺮه ﻣﯽﮐﻨﺪ‪.‬‬
‫‪ ‬در ﺑﺪﺗﺮﯾﻦ ﺣﺎﻟﺖ‪ ،‬ﺗﻤﺎم ﻧﻤﻮﻧﻪﻫﺎ را‬
‫‪ ‬وﻟﯽ ﻣﻌﻤﻮﻻ درﺻﺪ ﺑﺴﯿﺎر ﭘﺎﯾﯿﻨﯽ از آﻧﻬﺎ را‬
‫‪ ‬ﻣﺜﻼ ﻧﻤﻮﻧﻪ دادهﻫﺎﯾﯽ ﺑﻪ ﺗﻌﺪاد ﭼﻨﺪ ﺑﺮاﺑﺮ اﺑﻌﺎد دادهﻫﺎ‪ ،‬ﻧﮕﻬﺪاري ﻣﯽﺷﻮد‪.‬‬
‫‪3‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫ﮐﺪام ﺧﻂ ﺟﺪا ﮐﻨﻨﺪه؟‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪4‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫دﻗﺖ ﺑﯿﺸﯿﻨﻪ؟‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪5‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫دﻗﺖ ﺑﯿﺸﯿﻨﻪ؟‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪6‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫دﻗﺖ ﺑﯿﺸﯿﻨﻪ؟‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪7‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﺑﯿﺸﺘﺮ از دﻗﺖ ﺑﯿﺸﯿﻨﻪ؟‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪8‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﻧﻮﯾﺰ و ﺗﻌﻤﯿﻢ‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪9‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫آﯾﺎ ﺧﻄﻮط ﺑﺎ ﺑﯿﺸﺘﺮﯾﻦ دﻗﺖ ﻣﻨﺎﺳﺐ ﻫﺴﺘﻨﺪ؟‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪10‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫اﮔﺮ ﻧﻮﯾﺰ ﺑﯿﺸﺘﺮ ﺷﻮد؟ )ﻧﻪ ﻓﻘﻂ ﻧﻮﯾﺰ(‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪11‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﺣﺎﺷﯿﻪ اﻣﻦ!‬

‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬
‫‪X‬‬ ‫‪O‬‬

‫‪12‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﮐﺪام ﺧﻂ ﺟﺪاﮐﻨﻨﺪه؟‬
‫‪SVM‬‬
‫رﮔﺮﺳﯿﻮن ‪Logistic‬‬ ‫ﺑﺮﺧﯽ از ﻧﻤﻮﻧﻪﻫﺎ در ﺗﻌﯿﯿﻦ ﺧﻂ ﺟﺪاﮔﻨﻨﺪه ﻣﻬﻢ‬
‫ﯾﮑﯽ از ﺧﻄﻮط را ﭘﯿﺪا ﻣﯽﮐﻨﺪ‬
‫ﺗﺮ ﻫﺴﺘﻨﺪ )ﺑﺎﯾﺪ ﺑﺎﺷﻨﺪ(‬
‫ﺗﻤﺎم ﻧﻤﻮﻧﻪ دادهﻫﺎ )ﻧﻘﺎط( در ﯾﺎﻓﺘﻦ آن ﺗﺎﺛﯿﺮ دارﻧﺪ‬
‫‪ ‬ﺗﻌﻤﯿﻢ ﺑﯿﺸﺘﺮ‬

‫‪13‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﯾﺎﻓﺘﻦ ﺧﻂ ﺟﺪاﮐﻨﻨﺪه‬

‫‪ SVM ‬ﺗﻼش ﻣﯽﮐﻨﺪ ﻗﺪرت ﺗﻌﻤﯿﻢ را اﻓﺰاﯾﺶ دﻫﺪ‬


‫‪ ‬ﺟﺪا ﮐﻨﻨﺪﮔﯽ ﺑﺮ اﺳﺎس اﯾﺠﺎد ﺑﯿﺸﺘﺮﯾﻦ ﺣﺎﺷﯿﻪ )‪(Margin‬‬
‫‪ ‬ﺣﺎﺷﯿﻪ‪ :‬دوﺑﺮاﺑﺮ ﻓﺎﺻﻠﻪ ﺧﻂ ﺗﺎ ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻧﻘﻄﻪ‬
‫‪ ‬ﻣﺴﺎﻟﻪ دو ﮐﻼﺳﻪ )‪ +1‬و ‪(-1‬‬
‫‪𝑥𝑥 ∶ 𝑤𝑤𝑤𝑤𝑤 + 𝑏𝑏 = 0‬‬ ‫‪ ‬ﺧﻂ ﺟﺪا ﮐﻨﻨﺪه‪:‬‬
‫‪ ‬ﻣﯽﺗﻮان ﺑﺎ ﮐﻤﮏ روش ﻧﺰول در راﺳﺘﺎي ﮔﺮادﯾﺎن ﭘﺎراﻣﺘﺮﻫﺎي ﺧﻂ )𝑏𝑏 𝑤𝑤𝑤( را ﺑﻪ ﮔﻮﻧﻪاي ﯾﺎﻓﺖ ﮐﻪ‬
‫ﺣﺎﺷﯿﻪ ﺑﯿﺸﯿﻨﻪ ﮔﺮدد‪ ،‬و ﺗﻤﺎم دادهﻫﺎ ﻫﻢ )در ﺻﻮرت اﻣﮑﺎن( ﺑﻪ درﺳﺘﯽ ﺟﺪا ﺷﻮﻧﺪ‪.‬‬
‫‪ ‬اﻣﺎ روش ﻣﺤﺎﺳﺒﺎﺗﯽ دﯾﮕﺮي ﺑﺮاي ﺣﻞ ﻣﺴﺎﻟﻪ ﻓﻮق وﺟﻮد دارد ﮐﻪ در اداﻣﻪ ﺧﻼﺻﻪ آن ﺑﯿﺎن ﻣﯽﺷﻮد‬

‫‪14‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮاي ﺣﺎﻟﺖ دو ﺑﻌﺪي‬
‫‪ ‬ﻧﻤﻮﻧﻪ ﻫﺎي آﻣﻮزﺷﯽ‬
‫‪x ∈ ℜn‬‬
‫}‪y ∈ {-1, 1‬‬
‫‪ ‬ﺗﺎﺑﻊ ﺗﺼﻤﯿﻢ ﮔﯿﺮي‬
‫)‪sign(<w,x> + b‬‬
‫‪w ∈ ℜn‬‬
‫‪b∈ℜ‬‬
‫‪ ‬اﺑﺮ ﺻﻔﺤﻪ‬
‫‪<w, x> + b = 0‬‬
‫‪w1x1 + w2x2 … + wnxn + b = 0‬‬
‫‪ ‬ﻣﯿﺨﻮاﻫﯿﻢ ﻣﻘﺎدﯾﺮ ‪ W, b‬را ﺑﻪ ﮔﻮﻧﻪاي ﭘﯿﺪا ﮐﻨﯿﻢ ﮐﻪ‪:‬‬
‫‪ ‬ﻧﻤﻮﻧﻪ ﻫﺎي آﻣﻮزﺷﯽ را ﺑﺪﻗﺖ دﺳﺘﻪ ﺑﻨﺪي ﮐﻨﺪ‬
‫‪ ‬ﺑﺎ اﯾﻦ ﻓﺮض ﮐﻪ داده ﻫﺎ ﺑﺼﻮرت ﺧﻄﯽ ﺟﺪا ﭘﺬﯾﺮ ﺑﺎﺷﻨﺪ‬
‫‪ ‬ﺣﺎﺷﯿﻪ را ﺣﺪاﮐﺜﺮ ﻧﻤﺎﯾﺪ‬

‫‪15‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﺣﻞ ﻣﺴﺌﻠﻪ ﺑﺮاي ﺣﺎﻟﺖ دو ﺑﻌﺪي‬

‫‪f(x)<0‬‬ ‫‪f(x)=0‬‬ ‫‪f(x)>0‬‬


‫‪X2‬‬
‫‪b‬‬ ‫ﺑردار ‪ w‬ﺑر ھر دو ﺻﻔﺣﮫ ﻣﺛﺑت وﻣﻧﻔﯽ‬
‫‪w‬‬ ‫‪x‬‬ ‫ﻋﻣود ﺧواھد ﺑود‪.‬‬

‫‪w‬‬ ‫)‪f ( x‬‬ ‫‪wx + b‬‬


‫=‬
‫‪w‬‬ ‫‪w‬‬

‫‪X1‬‬

‫‪b‬‬
‫‪w‬‬ ‫‪ ‬ﻓﺎﺻﻠﻪ ﺧﻂ ﺟﺪاﮐﻨﻨﺪه از ﻣﺒﺪا ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ‬
‫)‪f ( x‬‬ ‫‪wx + b‬‬
‫‪w‬‬
‫=‬
‫‪w‬‬ ‫‪ ‬ﻓﺎﺻﻠﻪ ﻧﻤﻮﻧﻪ اي ﻣﺜﻞ ‪ x‬از ﺧﻂ ﺟﺪا ﮐﻨﻨﺪه ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ‬
‫‪16‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫‪17‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫‪ ‬اﮔﺮ ﻗﺪر ﻣﻄﻠﻖ )𝑥𝑥(𝑓𝑓 ﺑﺮاي ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻧﻘﻄﻪ ﺑﻪ ﺧﻂ )‪ (SV‬را ﺑﺎ ‪ ρ/2‬ﻧﺸﺎن دﻫﯿﻢ‪ ،‬ﺑﺮاي ﻫﺮ ﻧﻤﻮﻧﻪ داده ‪ i‬دارﯾﻢ‪:‬‬

‫‪wTxi + b ≤ - ρ/2 if yi = -1‬‬


‫⇔‬ ‫‪yi(wTxi + b) ≥ ρ/2‬‬
‫‪wTxi + b ≥ ρ/2 if yi = 1‬‬
‫‪ ‬ﺑﺮاي ﺑﺮدارﻫﺎي ﭘﺸﺘﯿﺒﺎن ‪) x‬ﻧﺰدﯾﮏﺗﺮﯾﻦ ﻧﻤﻮﻧﻪﻫﺎ ﺑﻪ ﺧﻂ ﺟﺪاﮐﻨﻨﺪه(‪ ،‬ﻣﻌﺎدﻟﻪ ﺑﺎﻻ ﺑﻪ ﺻﻮرت ﺗﺴﺎوي ﺣﺎﮐﻢ اﺳﺖ‪.‬‬
‫‪ ‬ﭘﺎراﻣﺘﺮﻫﺎي ‪ w‬و ‪ b‬ﻣﻘﯿﺎس ﭘﺬﯾﺮ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ ‬اﻧﺪازه آﻧﻬﺎ را ﻃﻮري ﺗﻐﯿﯿﺮ ﻣﯽدﻫﯿﻢ ﮐﻪ ﺑﺮاي ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻧﻘﻄﻪ ﺑﻪ ﺧﻂ داﺷﺘﻪ ﺑﺎﺷﯿﻢ‪𝑓𝑓(𝑥𝑥) = 1 :‬‬
‫‪ ‬ﺑﺎ ﺗﻐﯿﯿﺮ ﻣﻘﯿﺎس ﭘﺎراﻣﺘﺮﻫﺎي ‪ w‬و ‪ b‬ﺑﺎ ‪) ρ/2‬ﺗﻘﺴﯿﻢ دو ﻃﺮف ﻧﺎﻣﻌﺎدﻟﻪ ﻓﻮق ﺑﺮ ‪ ،(ρ/2‬ﻓﺎﺻﻠﻪ ﻫﺮ ﺑﺮدار ﭘﺸﺘﯿﺒﺎن ‪ x‬ﺑﺎ ﺧﻂ‬
‫)اﺑﺮﺻﻔﺤﻪ( ﺟﺪاﮐﻨﻨﺪه ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫)‪y s ( w T x s + b‬‬ ‫‪1‬‬
‫=‪r‬‬ ‫=‬
‫‪w‬‬ ‫‪w‬‬
‫‪ ‬ﺑﺪﯾﻦ ﺻﻮرت اﻧﺪازه ﺣﺎﺷﯿﻪ ﻧﺴﺒﺖ ﻋﮑﺲ ﺑﺎ اﻧﺪازه ‪ w‬ﺧﻮاﻫﺪ داﺷﺖ‪:‬‬
‫‪2‬‬
‫= ‪ρ = 2r‬‬
‫‪w‬‬
‫‪18‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫راه ﺣﻞ ﯾﺎﻓﺘﻦ ﺧﻂ ﺟﺪا ﮐﻨﻨﺪه‬
‫‪Minimise ||w||2‬‬
‫‪Subject to : yi (<w,xi> + b) ≥ 1 for all I‬‬
‫‪Where ||w||2 = wTw‬‬
‫‪ ‬اﯾﻦ ﯾﮏ ﻣﺴﺌﻠﻪ ‪ quadratic programming‬ﺑﺎ ﻣﺤﺪودﯾﺖ ﻫﺎﺋﯽ ﺑﺼﻮرت‬
‫ﻧﺎﻣﻌﺎدﻻت ﺧﻄﯽ اﺳﺖ‪.‬‬
‫‪ ‬روشﻫﺎي ﺷﻨﺎﺧﺘﻪ ﺷﺪهاي ﺑﺮاي ﭼﻨﯿﻦ ﻣﺴﺌﻠﻪاي وﺟﻮد دارد‪.‬‬
‫‪ ‬ﺣﻞ ﻣﻌﺎدﻟﻪ زﯾﺮ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﺣﻞ ﻣﻌﺎدﻟﻪ ﺑﺎﻻ اﺳﺖ و ﻣﯿﺘﻮاﻧﺪ ﻣﻘﺪار ‪ w‬را ﻧﺘﯿﺠﻪ دﻫﺪ‪:‬‬
‫‪1 N‬‬
‫∑‬ ‫∑‬
‫‪N‬‬
‫‪maximise : W (α ) = −‬‬ ‫‪α‬‬ ‫‪α‬‬ ‫‪y‬‬ ‫‪y‬‬ ‫‪x‬‬ ‫‪x‬‬
‫‪i , j =1 i j i j i j‬‬
‫‪+‬‬ ‫‪α‬‬
‫‪i =1 i‬‬
‫‪2‬‬
‫‪subject to : ∑i =1α i yi = 0, α i ≥ 0, i = 1,...N‬‬
‫‪N‬‬

‫‪ ‬در اﯾﻦ ﺻﻮرت ‪ w‬ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬


‫‪ b ‬ﺑﻪ ﺻﻮرت ﻣﺠﺰا ﻣﺤﺎﺳﺒﻪ ﻣﯽﺷﻮد )از ﻣﻌﺎدﻟﻪ اوﻟﯿﻪ(‬
‫‪19‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫راه ﺣﻞ ﯾﺎﻓﺘﻦ ﺧﻂ ﺟﺪا ﮐﻨﻨﺪه‬
‫‪1 N‬‬
‫∑‬ ‫∑‬
‫‪N‬‬
‫‪maximise : W (α ) = −‬‬ ‫‪α‬‬ ‫‪α‬‬ ‫‪y‬‬ ‫‪y‬‬ ‫‪x‬‬ ‫‪x‬‬
‫‪i , j =1 i j i j i j‬‬
‫‪+‬‬ ‫‪α‬‬
‫‪i =1 i‬‬
‫‪2‬‬
‫‪subject to : ∑i =1α i yi = 0, α i ≥ 0, i = 1,...N‬‬
‫‪N‬‬

‫‪ ‬ﻣﻌﺎدﻟﻪ ﻓﻮق ﻣﺤﺪب اﺳﺖ ‪ ‬ﯾﮏ ﺟﻮاب ﺳﺮﺗﺎﺳﺮي ﯾﮑﺘﺎ دارد ﮐﻪ ﺑﻪ راﺣﺘﯽ ﭘﯿﺪا ﻣﯽﺷﻮد‪.‬‬
‫‪ ‬دادهﻫﺎ در ﻣﻌﺎدﻟﻪ ﻓﻮق ﺻﺮﻓﺎ ﺑﻪ ﺻﻮرت ﺿﺮب داﺧﻠﯽ ﺑﯿﻦ ﺟﻔﺖ ﻧﻤﻮﻧﻪﻫﺎ ﺣﺎﺿﺮ ﺷﺪهاﻧﺪ‪.‬‬
‫‪ ‬ﺧﺐ؟‬
‫‪ ‬ﺧﺐ ﮐﻪ ﺧﺐ! ﯾﻪ دﯾﻘﻪ ﺻﺐ ﮐﻦ!‬
‫‪ ‬ﺣﺘﯽ ﺧﻮد اﺑﺮﺻﻔﺤﻪ ﺟﺪاﮐﻨﻨﺪه ﻫﻢ ﺑﻪ ﺻﻮرت ﺿﺮب داﺧﻠﯽ ﺟﻔﺖ ﻧﻤﻮﻧﻪﻫﺎ ﻗﺎﺑﻞ ﺑﯿﺎن اﺳﺖ‪:‬‬

‫*‪f (x, α , b ) = w x + b = ∑i =1α i* yi x i x + b* = ∑i∈SV α i* yi x i x + b‬‬


‫*‬ ‫*‬ ‫*‬ ‫*‬ ‫‪N‬‬

‫‪ 𝛼𝛼𝑖𝑖 ‬ﻫﺎ ﺑﺮاي ﻫﻤﻪ ﻧﻤﻮﻧﻪﻫﺎ ﻏﯿﺮ از ﺑﺮدارﻫﺎي ﭘﺸﺘﯿﺒﺎن ﺻﻔﺮ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ ‬ﺗﻌﺪاد ﺑﺮدارﻫﺎي ﭘﺸﺘﯿﺒﺎن )‪ (SV‬ﻧﺴﺒﺖ ﺑﻪ ﮐﻞ دادهﻫﺎ ﺑﺴﯿﺎر ﮐﻤﺘﺮ اﺳﺖ ‪ ‬ﮐﻮﭼﮏ ﺑﻮدن ﻣﺪل‬
‫‪ ‬ﺑﺮاي داده ﺟﺪﯾﺪ‪ ،‬ﺿﺮب داﺧﻠﯿﺶ ﺑﺎ ﺗﻤﺎم ‪ SV‬ﻫﺎ ﺑﺎﯾﺪ ﻣﺤﺎﺳﺒﻪ ﺷﻮد و ﻋﻼﻣﺖ ﺗﺎﺑﻊ 𝑓𝑓 ﻓﻮق‪ ،‬ﺗﻌﯿﯿﻦ ﮐﻨﻨﺪه دﺳﺘﻪ داده اﺳﺖ‪.‬‬
‫‪20‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫داده ﻫﺎﺋﯽ ﮐﻪ ﺑﺼﻮرت ﺧﻄﯽ ﺟﺪا ﭘﺬﯾﺮ ﻧﯿﺴﺘﻨﺪ ) ﺑﻪ دﻟﯿﻞ ﻧﻮﯾﺰ(‬

‫‪ ‬ﯾﮏ ﻓﺮض ﺑﺴﯿﺎر ﻗﻮي در ‪ SVM‬اﯾﻦ ﺑﻮد ﮐﻪ دادهﻫﺎ ﺑﺼﻮرت ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮ ﺑﺎﺷﻨﺪ‪ .‬در ﺣﺎﻟﯿﮑﻪ‬
‫در ﻋﻤﻞ در ﺑﺴﯿﺎري ﻣﻮاﻗﻊ اﯾﻦ ﻓﺮض ﺻﺤﯿﺢ ﻧﯿﺴﺖ‪.‬‬
‫‪ ‬ﻣﺜﻼ ﺑﻪ دﻟﯿﻞ وﺟﻮد ﻧﻮﯾﺰ و ﺗﻨﺎﻗﺾ در دادهﻫﺎي آﻣﻮزﺷﯽ‬

‫‪−‬‬ ‫‪+ −‬‬


‫‪+‬‬
‫‪+‬‬ ‫‪−−‬‬ ‫‪−‬‬
‫‪+ +‬‬ ‫‪− −‬‬
‫‪+‬‬ ‫‪+‬‬

‫‪21‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫اﻓﺰودن ﻣﺘﻐﯿﺮﻫﺎي ‪slack‬‬
‫‪ ‬ﯾﮏ راه ﺣﻞ اﯾﻦ اﺳﺖ ﮐﻪ اﻧﺪﮐﯽ ﮐﻮﺗﺎه آﻣﺪه و ﻣﻘﺪاري ﺧﻄﺎ در دﺳﺘﻪ ﺑﻨﺪي را ﺑﭙﺬﯾﺮﯾﻢ!‬
‫‪ ‬اﯾﻦ ﮐﺎر ﺑﺎ ﻣﻌﺮﻓﯽ ﻣﺘﻐﯿﺮ ‪ ξi‬اﻧﺠﺎم ﻣﯽﺷﻮد ﮐﻪ ﻧﺸﺎﻧﮕﺮ ﻣﯿﺰان ﺧﻄﺎ در ارزﯾﺎﺑﯽ ﺑﺮﺧﯽ از‬
‫ﻧﻤﻮﻧﻪﻫﺎ ﺗﻮﺳﻂ ﺗﺎﺑﻊ ‪ wTx+b‬ﻣﯽﺑﺎﺷﺪ‪.‬‬

‫‪Class 2‬‬

‫‪Class 1‬‬
‫‪22‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫اﻓﺰودن ﻣﺘﻐﯿﺮ ﻫﺎي ‪slack‬‬
‫‪ ‬ﺑﺎ ﻣﻌﺮﻓﯽ ﻣﺘﻐﯿﺮ ‪ ξi, i=1, 2, …, N,‬ﻣﺤﺪودﯾﺖ ﻫﺎي ﻗﺒﻠﯽ ﺳﺎدهﺗﺮ ﺷﺪه و راﺑﻄﻪ‬
‫‪yi (<w,xi> + b) ≥1‬‬
‫‪ ‬ﺑﺼﻮرت زﯾﺮ ﺗﻐﯿﯿﺮ ﻣﯽﮐﻨﺪ‪:‬‬
‫‪yi (<w,xi> + b) ≥1 -ξi , ξi ≥ 0‬‬
‫‪ ‬در ﺣﺎﻟﺖ اﯾﺪه آل ﻫﻤﻪ اﯾﻦ ﻣﺘﻐﯿﺮﻫﺎي ‪ ξi‬ﺑﺎﯾﺪ ﺻﻔﺮ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ ‬در اﯾﻦﺻﻮرت ﻣﺴﺌﻠﻪ ﺑﻬﯿﻨﻪﺳﺎزي ﺗﺒﺪﯾﻞ ﻣﯽﺷﻮد ﺑﻪ ﯾﺎﻓﺘﻦ ‪ w‬ﺑﻪ ﻧﺤﻮي ﮐﻪ ﻣﻌﺎدﻟﻪ زﯾﺮ ﮐﻤﯿﻨﻪ ﮔﺮدد‪:‬‬

‫‪ ‬ﮐﻪ در آن ‪ C > 0‬ﻣﯽﺑﺎﺷﺪ‪.‬‬


‫‪ ‬ﺟﻤﻠﻪ اﺿﺎﻓﻪ ﺷﺪه در ﺗﺎﺑﻊ ﻫﺪف ﺳﻌﯽ دارد ﺗﺎ ﺣﺪ اﻣﮑﺎن ﻫﻤﻪ ﻣﺘﻐﯿﺮﻫﺎي ‪ slack‬را ﮐﻮﭼﮏ ﻧﻤﺎﯾﺪ‪.‬‬
‫‪ ‬ﻣﻘﺪار ﻣﻨﺎﺳﺐ ﭘﺎراﻣﺘﺮ ‪ ،C‬ﺑﺮ اﺳﺎس دادهﻫﺎ و ﻣﯿﺰان ﻧﻮﯾﺰي ﺑﻮدن آنﻫﺎ و ﺑﺎ آزﻣﻮن و ﺧﻄﺎ ﺑﺎﯾﺪ ﭘﯿﺪا ﺷﻮد )ﻣﻬﻢ(‬
‫‪23‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫داده ﻫﺎﺋﯽ ﮐﻪ ﺑﺼﻮرت ﺧﻄﯽ ﺟﺪا ﭘﺬﯾﺮ ﻧﯿﺴﺘﻨﺪ ) ذاﺗﯽ(‬
‫) (‪φ‬‬

‫) (‪φ‬‬ ‫) (‪φ‬‬
‫) (‪φ( ) φ( ) φ‬‬
‫)‪φ(.‬‬ ‫) (‪φ‬‬
‫) (‪φ‬‬ ‫) (‪φ‬‬
‫) (‪φ( ) φ‬‬
‫) (‪φ( ) φ‬‬
‫) (‪φ‬‬ ‫) (‪φ( ) φ‬‬
‫) (‪φ‬‬
‫) (‪φ‬‬

‫‪Input space‬‬ ‫‪Feature space‬‬

‫‪ ‬ﻧﮕﺎﺷﺖ دادهﻫﺎ ﺑﻪ ﻓﻀﺎﯾﯽ دﯾﮕﺮ )ﻓﻀﺎي وﯾﮋﮔﯽ( ﺑﺎ ﮐﻤﮏ ﺗﺎﺑﻊ )𝑥𝑥(𝜙𝜙 ﮐﻪ در آن ﻓﻀﺎ دادهﻫﺎ ﺑﻪ ﺻﻮرت‬
‫ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮﻧﺪ‬
‫‪ ‬اﮔﺮ اﺑﻌﺎد ﻓﻀﺎي ﺟﺪﯾﺪ ﺑﻪ اﻧﺪازه ﮐﺎﻓﯽ ﺑﺰرگ ﺑﺎﺷﺪ‪ ،‬دادهﻫﺎ اﻏﻠﺐ ﺑﻪ ﺻﻮرت ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد‪.‬‬
‫‪ ‬اﻧﺠﺎم ﻣﺤﺎﺳﺒﺎت در ﻓﻀﺎي وﯾﮋﮔﯽ ﻣﯿﺘﻮاﻧﺪ ﭘﺮﻫﺰﯾﻨﻪ ﺑﺎﺷﺪ‪ ،‬زﯾﺮا اﺑﻌﺎد ﺑﯿﺸﺘﺮي دارد‪.‬‬
‫‪ ‬در ﺣﺎﻟﺖ ﮐﻠﯽ اﺑﻌﺎد اﯾﻦ ﻓﻀﺎ ﺑﯽﻧﻬﺎﯾﺖ اﺳﺖ‪.‬‬
‫‪ ‬ﺑﺮاي ﻏﻠﺒﻪ ﺑﺮ اﯾﻦ ﻣﺸﮑﻞ از ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ )‪ (kernel trick‬اﺳﺘﻔﺎده ﻣﯽﺷﻮد‪.‬‬
‫‪24‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫داده ﻫﺎﺋﯽ ﮐﻪ ﺑﺼﻮرت ﺧﻄﯽ ﺟﺪا ﭘﺬﯾﺮ ﻧﯿﺴﺘﻨﺪ ) ذاﺗﯽ(‬

‫‪ ‬ﻧﮕﺎﺷﺖ دادهﻫﺎ ﺑﻪ ﻓﻀﺎﯾﯽ دﯾﮕﺮ )ﻓﻀﺎي وﯾﮋﮔﯽ( ﺑﺎ ﮐﻤﮏ ﺗﺎﺑﻊ )𝑥𝑥(𝜙𝜙 ﮐﻪ در آن ﻓﻀﺎ دادهﻫﺎ ﺑﻪ ﺻﻮرت‬
‫ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮﻧﺪ‬
‫‪ ‬اﮔﺮ اﺑﻌﺎد ﻓﻀﺎي ﺟﺪﯾﺪ ﺑﻪ اﻧﺪازه ﮐﺎﻓﯽ ﺑﺰرگ ﺑﺎﺷﺪ‪ ،‬دادهﻫﺎ اﻏﻠﺐ ﺑﻪ ﺻﻮرت ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد‪.‬‬
‫‪ ‬اﻧﺠﺎم ﻣﺤﺎﺳﺒﺎت در ﻓﻀﺎي وﯾﮋﮔﯽ ﻣﯿﺘﻮاﻧﺪ ﭘﺮﻫﺰﯾﻨﻪ ﺑﺎﺷﺪ‪ ،‬زﯾﺮا اﺑﻌﺎد ﺑﯿﺸﺘﺮي دارد‪.‬‬
‫‪ ‬در ﺣﺎﻟﺖ ﮐﻠﯽ اﺑﻌﺎد اﯾﻦ ﻓﻀﺎ ﺑﯽﻧﻬﺎﯾﺖ اﺳﺖ‪.‬‬
‫‪ ‬ﺑﺮاي ﻏﻠﺒﻪ ﺑﺮ اﯾﻦ ﻣﺸﮑﻞ از ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ )‪ (kernel trick‬اﺳﺘﻔﺎده ﻣﯽﺷﻮد‪.‬‬
‫‪25‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫آﯾﺎ ﻧﮕﺎﺷﺖ ﻣﯽﺗﻮاﻧﺪ ﺳﻮدﻣﻨﺪ ﺑﺎﺷﺪ؟‬

‫‪𝑥𝑥 = 𝑥𝑥1 , 𝑥𝑥2‬‬ ‫) ‪𝜙𝜙 𝑥𝑥 = (𝑥𝑥1 2 , 𝑥𝑥2 2 , 2𝑥𝑥1 𝑥𝑥2‬‬

‫آﯾﺎ در ﻣﺜﺎل ﻓﻮق‪ ،‬ﺑﺎ ﻓﻀﺎي ﻧﮕﺎﺷﺖ داراي اﺑﻌﺎد ﮐﻤﺘﺮ ﻫﻢ ﻣﯽﺗﻮان دﺳﺘﻪﺑﻨﺪي ﺧﻄﯽ داﺷﺖ؟‬
‫‪26‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫ﺗﻌﻤﯿﻢ ‪ SVM‬ﺑﻪ ﺣﺎﻟﺖ ﻏﯿﺮ ﺧﻄﯽ‬
‫‪ ‬ﺑﺎ داﺷﺘﻦ 𝑥𝑥 𝜙𝜙‪ ،‬ﮐﺎﻓﯽ اﺳﺖ در ﻣﺴﺎﻟﻪ ﺑﻬﯿﻨﻪﺳﺎزي ‪) SVM‬ﻣﺪل زﯾﺮ(‪ ،‬ﺑﻪ ﺟﺎي 𝑥𝑥 ﻫﺎ‪ 𝜙𝜙 𝑥𝑥 ،‬ﻗﺮار داد‪.‬‬
‫‪1 N‬‬
‫∑‬ ‫∑‬
‫‪N‬‬
‫‪maximise : W (α ) = −‬‬ ‫‪α‬‬ ‫‪α‬‬ ‫‪y‬‬ ‫‪y‬‬ ‫‪x‬‬ ‫‪x‬‬
‫‪i , j =1 i j i j i j‬‬
‫‪+‬‬ ‫‪α‬‬
‫‪i =1 i‬‬
‫‪2‬‬
‫‪subject to : ∑i =1α i yi = 0, α i ≥ 0, i = 1,...N‬‬
‫‪N‬‬

‫‪ ‬اﻣﺎ ﺗﺎﺑﻊ ﻧﮕﺎﺷﺖ 𝑥𝑥 𝜙𝜙 را ﭼﮕﻮﻧﻪ ﻣﯽﺗﻮان ﯾﺎﻓﺖ؟‬


‫‪ ‬ﯾﺎﻓﺘﻦ آن ﺑﺮاي ﺧﻄﯽ ﮐﺮدن ﻓﻀﺎي دادهﻫﺎ ﻣﯽﺗﻮاﻧﺪ ﺑﺴﯿﺎر دﺷﻮار و ﯾﺎ ﻏﯿﺮ ﻣﻤﮑﻦ ﺑﺎﺷﺪ‪.‬‬
‫‪ ‬اﻣﺎ ﺟﺎﯾﮕﺬاري ) 𝑗𝑗𝑥𝑥(𝜙𝜙‪ 𝜙𝜙 𝑥𝑥𝑖𝑖 .‬ﺑﻪ ﺟﺎي 𝑗𝑗𝑥𝑥‪ 𝑥𝑥𝑖𝑖 .‬در ﻣﺴﺎﻟﻪ ﻓﻮق‪ ،‬دﺳﺖآورد ﻣﻬﻤﯽ در ﭘﯽ دارد!‬
‫‪ ‬ﺑﺮاي ﻣﺤﺎﺳﺒﻪ ) 𝑗𝑗𝑥𝑥(𝜙𝜙‪ 𝜙𝜙 𝑥𝑥𝑖𝑖 .‬ﻻزم ﻧﯿﺴﺖ ) 𝑗𝑗𝑥𝑥(𝜙𝜙 و 𝑖𝑖𝑥𝑥 𝜙𝜙 اﺑﺘﺪا ﺑﻪ ﺻﻮرت ﺟﺪاﮔﺎﻧﻪ ﻣﺤﺎﺳﺒﻪ ﺷﻮﻧﺪ‪.‬‬
‫‪ ‬ﻣﺜﻼ در ﻣﺜﺎل اﺳﻼﯾﺪ ﻗﺒﻞ‪ ،‬ﻣﯽﺗﻮان ﺑﻪ ﺳﺎدﮔﯽ ﻧﺸﺎن داد‪:‬‬
‫‪𝜙𝜙 𝑥𝑥𝑖𝑖 . 𝜙𝜙 𝑥𝑥𝑗𝑗 = (𝑥𝑥𝑖𝑖 . 𝑥𝑥𝑗𝑗 )2‬‬
‫‪ ‬ﯾﻌﻨﯽ در ﻣﺜﺎل ﻓﻮق‪ ،‬ﺑﺪون داﺷﺘﻦ ﺗﺎﺑﻊ 𝑥𝑥 𝜙𝜙 )ﺑﺎ ﺧﺮوﺟﯽ ‪ 3‬ﺑﻌﺪي ﻣﺸﺨﺺ( و ﺻﺮﻓﺎ ﺑﺎ ﺟﺎﮔﺬاري ‪(𝑥𝑥𝑖𝑖 .𝑥𝑥𝑗𝑗 )2‬‬
‫ﺑﻪ ﺟﺎي 𝑗𝑗𝑥𝑥‪ 𝑥𝑥𝑖𝑖 .‬در ﺗﺎﺑﻊ ﻫﺪف ‪ ،SVM‬دادهﻫﺎي ذاﺗﺎ ﻏﯿﺮﺧﻄﯽ‪ ،‬ﺑﻪ ﺻﻮرت ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮ ﻣﯽﺷﻮﻧﺪ‪.‬‬
‫‪ ‬آﯾﺎ ﻫﻨﻮز ﻫﻢ اﯾﻤﺎن ﻧﻤﯽآورﯾﺪ؟ ﭘﺲ ﻫﻤﺎﻧﺎ ﻗﻮﻣﯽ ﺳﺘﻢﭘﯿﺸﻪ ﻫﺴﺘﯿﺪ!‬
‫‪27‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫ﺗﺎﺑﻊ ﻫﺴﺘﻪ‬
‫‪ ‬در ﻣﺜﺎل ﻓﻮق‪ ،‬ﺗﺎﺑﻊ ‪ ،(𝑥𝑥𝑖𝑖 .𝑥𝑥𝑗𝑗 )2‬ﺗﺎﺑﻊ ﻫﺴﺘﻪ )‪ (Kernel Function‬ﻧﺎم دارد‪.‬‬
‫‪ ‬ﺗﺎﺑﻊ ﻫﺴﺘﻪ ﺑﻪ ﺻﻮرت ) 𝑗𝑗𝑥𝑥‪ 𝐾𝐾(𝑥𝑥𝑖𝑖 .‬ﻧﻮﺷﺘﻪ ﻣﯽﺷﻮد‪.‬‬
‫‪ ‬دو ﺑﺮدار را ﻣﯽﮔﯿﺮد و ﻋﺪدي ﺣﻘﯿﻘﯽ )ﮐﻪ ﻣﯽﺗﻮاﻧﺪ ﺑﯿﺎﻧﮕﺮ ﻧﻮﻋﯽ ﺷﺒﺎﻫﺖ ﺑﯿﻦ ﺟﻔﺖ ﻧﻤﻮﻧﻪﻫﺎي ورودي ﺑﺎﺷﺪ( را ﺑﺮﻣﯽﮔﺮداﻧﺪ‪.‬‬
‫‪ ‬ﺗﺎﺑﻊ ﻫﺴﺘﻪ روي ﺟﻔﺖ ﻧﻤﻮﻧﻪﻫﺎ اﻋﻤﺎل ﻣﯽﺷﻮد و ﺑﯿﺎﻧﮕﺮ ﺿﺮب داﺧﻠﯽ دو ﻧﻘﻄﻪ در ﻓﻀﺎي ﻧﮕﺎﺷﺖ اﺳﺖ‪.‬‬
‫‪ ‬ﺿﺮب داﺧﻠﯽ‪ ،‬ﻣﻌﯿﺎري اﺳﺖ ﮐﻪ ﺑﯿﺎﻧﮕﺮ ﻣﯿﺰان ﺷﺒﺎﻫﺖ دو ﻧﻘﻄﻪ )دو ﻧﻤﻮﻧﻪ داده( اﺳﺖ‪.‬‬

‫‪a‬‬

‫‪θ‬‬
‫‪b‬‬

‫‪a ⋅ b = a b cosθ‬‬
‫‪28‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ‬
‫‪ ‬ﺑﺎ ﺟﺎﯾﮕﺬاري ﺗﺎﺑﻊ ﻫﺴﺘﻪ ﺑﻪ ﺟﺎي ﺿﺮب داﺧﻠﯽ ﺟﻔﺖ ﻧﻤﻮﻧﻪﻫﺎ در ﻣﺤﺎﺳﺒﺎت ‪ ،SVM‬از ﺗﻌﺮﯾﻒ ﺻﺮﯾﺢ‬
‫ﻓﻀﺎي ﻧﮕﺎﺷﺖ ﺑﯽﻧﯿﺎز ﻣﯽﺷﻮﯾﻢ!‬
‫‪ ‬در رﯾﺎﺿﯿﺎت ‪ ،SVM‬ﻫﻢ در ﯾﺎﻓﺘﻦ ﺧﻂ ﺟﺪاﮐﻨﻨﺪه )ﻓﺎز آﻣﻮزش( و ﻫﻢ در ﻣﺮﺣﻠﻪ آزﻣﺎﯾﺶ‪ ،‬از ﺿﺮب‬
‫داﺧﻠﯽ ﺑﯿﻦ ﺟﻔﺖ ﻧﻤﻮﻧﻪﻫﺎ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ و ﻫﯿﭻ 𝑖𝑖𝑥𝑥 اي ﺑﻪ ﺻﻮرت ﻣﺴﺘﻘﻞ )ﺑﺪون ﺿﺮب داﺧﻠﯽ(‬
‫وﺟﻮد ﻧﺪارد‪.‬‬
‫‪ ‬ﺑﻨﺎﺑﺮاﯾﻦ ﺟﺎﯾﮕﺬاري ﺿﺮبﻫﺎي داﺧﻠﯽ ﺑﺎ ﺗﺎﺑﻊ ﻫﺴﺘﻪ‪ ،‬ﮐﺎﻓﯽ اﺳﺖ‪.‬‬
‫‪ ‬ﻓﺎز آﻣﻮزش‪:‬‬
‫‪1 N‬‬
‫∑‬ ‫∑‬
‫‪N‬‬
‫‪maximise : W (α ) = −‬‬ ‫‪α‬‬ ‫‪α‬‬ ‫‪y‬‬ ‫‪y‬‬ ‫‪x‬‬ ‫‪x‬‬
‫‪i , j =1 i j i j i j‬‬
‫‪+‬‬ ‫‪α‬‬
‫‪i =1 i‬‬
‫‪2‬‬
‫‪subject to : ∑i =1α i yi = 0, α i ≥ 0, i = 1,...N‬‬
‫‪N‬‬

‫‪ ‬ﻓﺎز آزﻣﺎﯾﺶ)اﺳﺘﻔﺎده از ﻋﻼﻣﺖ ﺧﺮوﺟﯽ ﺗﺎﺑﻊ 𝑓𝑓 (‪:‬‬

‫*‪f (x, α , b ) = w x + b = ∑i =1α i* yi x i x + b* = ∑i∈SV α i* yi x i x + b‬‬


‫*‬ ‫*‬ ‫*‬ ‫*‬ ‫‪N‬‬

‫‪29‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﺗﻌﺮﯾﻒ ﺗﺎﺑﻊ ﻫﺴﺘﻪ‬
‫‪ ‬ﻃﺒﻖ ﺗﺌﻮري ‪ Mercer‬در رﯾﺎﺿﯿﺎت‪ ،‬ﻫﺮ ﺗﺎﺑﻊ ﻫﺴﺘﻪاي ﮐﻪ ﺷﺮاﯾﻂ ‪ mercer‬را ارﺿﺎ ﮐﻨﺪ‪،‬‬
‫ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﯾﮏ ﻓﻀﺎي وﯾﮋﮔﯽ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪ ‬وﺟﻮد ﻓﻀﺎي وﯾﮋﮔﯽ ﺑﺮاي آن ﺗﺎﺑﻊ ﻫﺴﺘﻪ ﺗﻀﻤﯿﻦ ﻣﯽﺷﻮد‪.‬‬
‫‪ ‬ﻓﻀﺎي وﯾﮋﮔﯽ ﻣﯽﺗﻮاﻧﺪ داراي اﺑﻌﺎد ﺑﺴﯿﺎر زﯾﺎد ﺑﺎﺷﺪ‪ ،‬ﺣﺘﯽ اﮔﺮ ﺗﺎﺑﻊ ﻫﺴﺘﻪ در ﻇﺎﻫﺮ ﺳﺎده ﺑﺎﺷﺪ‪.‬‬
‫‪ ‬ﺗﺎﺑﻊ 𝑅𝑅 ⟶ 𝑋𝑋 × 𝑋𝑋 ∶ 𝑘𝑘 را ﻫﺴﺘﻪ ﻧﺎﻣﯿﺪه ﻣﯽﺷﻮد اﮔﺮ‪:‬‬
‫‪ ‬ﻣﺘﻘﺎرن ﺑﺎﺷﺪ‪𝑘𝑘 𝑥𝑥𝑥𝑥𝑥 = 𝑘𝑘(𝑦𝑦𝑦𝑦𝑦) :‬‬
‫‪ ‬ﻣﺎﺗﺮﯾﺲ 𝑲𝑲 )ﻣﻮﺳﻮم ﺑﻪ ‪ (Gram matrix‬ﺣﺎﺻﻞ از ﺗﺎﺑﻊ 𝑘𝑘‪ positive semi-definite ،‬ﺑﺎﺷﺪ‪.‬‬
‫ﯾﻌﻨﯽ ﺑﺮاي ﻫﺮ 𝑚𝑚 ﻧﻘﻄﻪ دﻟﺨﻮاه در ﻓﻀﺎ‪ ،‬ﻣﺎﺗﺮﯾﺲ 𝑲𝑲 ﺑﺎ دراﯾﻪﻫﺎي ) 𝑗𝑗𝑥𝑥 ‪ 𝑘𝑘𝑖𝑖,𝑗𝑗 = 𝑘𝑘(𝑥𝑥𝑖𝑖 ,‬در راﺑﻄﻪ زﯾﺮ‬
‫ﺻﺪق ﮐﻨﺪ‪:‬‬

‫‪∀𝑐𝑐 ∈ 𝑅𝑅𝑚𝑚 , 𝑐𝑐 𝑇𝑇 𝑲𝑲𝑐𝑐 ≥ 0‬‬

‫‪30‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﻣﺜﺎلﻫﺎﯾﯽ از ﺗﻮاﺑﻊ ﻫﺴﺘﻪ‬
‫‪ ‬ﺗﺎﺑﻊ ﻫﺴﺘﻪ ﺧﻄﯽ‪:‬‬

‫‪ ‬ﺗﺎﺑﻊ ﻫﺴﺘﻪ ﭼﻨﺪ ﺟﻤﻠﻪاي‪:‬‬

‫‪ ‬ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻓﻀﺎي وﯾﮋﮔﯽ ﮐﻪ اﺑﻌﺎدش ﺑﺮﺣﺴﺐ 𝑑𝑑 ﻧﻤﺎﯾﯽ اﺳﺖ!‬


‫‪ ‬و در ﺣﺎﻟﺖ ﮐﻠﯽﺗﺮ‪:‬‬

‫‪ ‬ﺗﺎﺑﻊ ﻫﺴﺘﻪ ﮔﺎوﺳﯽ ﯾﺎ ‪:(Radial Basis Function) RBF‬‬

‫‪ ‬ﮐﺎرﺑﺮدي و ﻣﺸﻬﻮرﺗﺮﯾﻦ‬

‫‪31‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﺳﺎﺧﺘﻦ ﺗﻮاﺑﻊ ﻫﺴﺘﻪ ﭘﯿﭽﯿﺪهﺗﺮ‬

‫‪ ‬اﮔﺮ 𝑘𝑘 و ‪ 𝑘𝑘 ′‬ﯾﮏ ﺗﺎﺑﻊ ﻫﺴﺘﻪ ﺑﺎﺷﺪ‪:‬‬


‫‪ 𝑘𝑘 + 𝑘𝑘′ ‬ﻧﯿﺰ ﯾﮏ ﺗﺎﺑﻊ ﻫﺴﺘﻪ اﺳﺖ‬
‫‪ 𝑐𝑐𝑐𝑐 ‬ﺑﺮاي ‪ 𝑐𝑐 > 0‬ﯾﮏ ﺗﺎﺑﻊ ﻫﺴﺘﻪ اﺳﺖ‬
‫‪ 𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑘𝑘 ′ ‬ﺑﺮاي ‪ 𝑎𝑎𝑎𝑎𝑎 > 0‬ﯾﮏ ﺗﺎﺑﻊ ﻫﺴﺘﻪ اﺳﺖ‪.‬‬
‫‪... ‬‬
‫‪ ‬ﺑﺪﯾﻦ ﺗﺮﺗﯿﺐ ﻣﯽﺗﻮان ﺗﻮاﺑﻊ ﭘﯿﭽﯿﺪهﺗﺮ را ﺑﺎ ﺗﺮﮐﯿﺐ ﺗﻮاﺑﻊ ﺳﺎدهﺗﺮ اﯾﺠﺎد ﮐﺮد‪.‬‬

‫‪32‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﺧﻂ ﺟﺪا ﮐﻨﻨﺪه در ﻓﻀﺎي وﯾﮋﮔﯽ‬
‫ﻣﻨﺤﻨﯽ ﻣﺘﻨﺎﻇﺮ در ﻓﻀﺎي اوﻟﯿﻪ‬

‫‪33‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫‪34‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫‪35‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬
‫ﭼﻨﺪ ﻧﮑﺘﻪ ﺗﺴﺘﯽ)!(‬

‫‪ ‬ﺗﻮﺟﻪ ﺑﻪ ﭘﺎراﻣﺘﺮ ‪) c‬اﻫﻤﯿﺖ ﻣﺘﻐﯿﺮﻫﺎي ‪(slack‬‬


‫‪ ‬ﺗﻮﺟﻪ ﺑﻪ ﭘﺎراﻣﺘﺮﻫﺎي ﺗﺎﺑﻊ ﻫﺴﺘﻪ اﻧﺘﺨﺎب ﺷﺪه‬
‫‪ ‬ﻧﺮﻣﺎل ﺳﺎزي دادهﻫﺎ ﻗﺒﻞ از آﻣﻮزش ‪SVM‬‬
‫‪ ‬ﻣﺜﻼ ﻣﯿﺎﻧﮕﯿﻦ و وارﯾﺎﻧﺲ )اﻧﺤﺮاف ﻣﻌﯿﺎر( ﻫﺮ وﯾﮋﮔﯽ در دادهﻫﺎ ﻣﺤﺎﺳﺒﻪ ﺷﻮد و ﮐﻠﯿﻪ وﯾﮋﮔﯽﻫﺎ ﻣﻨﻬﺎي‬
‫ﻣﯿﺎﻧﮕﯿﻦ و ﺗﻘﺴﯿﻢ ﺑﺮ اﻧﺤﺮاف ﻣﻌﯿﺎر ﺷﻮﻧﺪ‪.‬‬
‫‪ ‬اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﻫﺴﺘﻪ ﻣﺨﺘﻠﻒ‬

‫‪36‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬


‫ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ در ﻏﯿﺮ ‪SVM‬‬

‫‪ ‬ﻫﻢ ﮐﺎرﺑﺮد دارد )!(‬


‫‪ ‬ﺑﺴﯿﺎري از روشﻫﺎ و اﻟﮕﻮرﯾﺘﻢﻫﺎي ﻣﻄﺮح در ﺣﻮزه ﻫﻮش ﻣﺼﻨﻮﻋﯽ‪ ،‬از ﺟﻤﻠﻪ دﺳﺘﻪﺑﻨﺪي‬
‫ﮐﻨﻨﺪهﻫﺎي ﻣﺨﺘﻠﻒ‪ ،‬ﺑﺎ اﺳﺘﻔﺎده از ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ‪ ،‬ﺑﻪ ﺣﺎﻟﺖ ﻏﯿﺮﺧﻄﯽ ﺗﻌﻤﯿﻢ داده ﻣﯽﺷﻮﻧﺪ‪.‬‬
‫‪ ‬ﺷﺮط اﻋﻤﺎل ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ در ﻫﺮ ﻣﺴﺎﻟﻪ و روش رﯾﺎﺿﯿﺎﺗﯽ‪ ،‬وﺟﻮد ﺿﺮب داﺧﻠﯽ ﺑﯿﻦ ﺟﻔﺖ‬
‫ﻧﻤﻮﻧﻪﻫﺎ در رواﺑﻂ ﻣﺮﺑﻮﻃﻪ و ﻋﺪم اﺳﺘﻔﺎده از ﻧﻤﻮﻧﻪﻫﺎي ورودي ﺧﺎرج از ﺿﺮب داﺧﻠﯽ در‬
‫رﯾﺎﺿﯿﺎت ﻣﺴﺎﻟﻪ اﺳﺖ‪.‬‬
‫‪ ‬ﺑﺮاي اﻋﻤﺎل ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ‪ ،‬ﻧﻮﻋﺎ ﻻزم اﺳﺖ رﯾﺎﺿﯿﺎت روشﻫﺎ ﺑﻪ ﮔﻮﻧﻪاي ﺑﺎزﻧﻮﯾﺴﯽ‪ /‬ﺑﺎزﺗﻮﻟﯿﺪ ﺷﻮد‬
‫ﮐﻪ وﯾﮋﮔﯽ ﻓﻮق در آن ﭘﺪﯾﺪ آﯾﺪ‪.‬‬
‫‪  ‬ﻧﺴﺨﻪ ﻫﺴﺘﻪاي روشﻫﺎي ﻣﻮﺟﻮد‬

‫‪37‬‬ ‫داﻧﺸﮕﺎه‪ ،‬ﻋﻠﻢ‪ ،‬ﺻﻨﻌﺖ‪.‬‬

You might also like