14 - Learning From Examples - SVM
14 - Learning From Examples - SVM
O O
X
X
X O
X O O
X X O
X O
X O
O O
X
X
X O
X O O
X X O
X O
X O
O O
X
X
X O
X O O
X X O
X O
X O
O O
X
X
X O
X O O
X X O
X O
X O
O O
X
X
X O
X O O
X X O
X O
X O
O O
X
X
X O
X O O
X X O
X O
X O
O O
X
X
X O
X O O
X X O
X O
X O
O O
X
X
X O
X O O
X X O
X O
X O
O O
X
X
X O
X O O
X X O
X O
X O
X1
b
w ﻓﺎﺻﻠﻪ ﺧﻂ ﺟﺪاﮐﻨﻨﺪه از ﻣﺒﺪا ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ
)f ( x wx + b
w
=
w ﻓﺎﺻﻠﻪ ﻧﻤﻮﻧﻪ اي ﻣﺜﻞ xاز ﺧﻂ ﺟﺪا ﮐﻨﻨﺪه ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ
16 داﻧﺸﮕﺎه ،ﻋﻠﻢ ،ﺻﻨﻌﺖ.
17 داﻧﺸﮕﺎه ،ﻋﻠﻢ ،ﺻﻨﻌﺖ.
اﮔﺮ ﻗﺪر ﻣﻄﻠﻖ )𝑥𝑥(𝑓𝑓 ﺑﺮاي ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻧﻘﻄﻪ ﺑﻪ ﺧﻂ ) (SVرا ﺑﺎ ρ/2ﻧﺸﺎن دﻫﯿﻢ ،ﺑﺮاي ﻫﺮ ﻧﻤﻮﻧﻪ داده iدارﯾﻢ:
ﻣﻌﺎدﻟﻪ ﻓﻮق ﻣﺤﺪب اﺳﺖ ﯾﮏ ﺟﻮاب ﺳﺮﺗﺎﺳﺮي ﯾﮑﺘﺎ دارد ﮐﻪ ﺑﻪ راﺣﺘﯽ ﭘﯿﺪا ﻣﯽﺷﻮد.
دادهﻫﺎ در ﻣﻌﺎدﻟﻪ ﻓﻮق ﺻﺮﻓﺎ ﺑﻪ ﺻﻮرت ﺿﺮب داﺧﻠﯽ ﺑﯿﻦ ﺟﻔﺖ ﻧﻤﻮﻧﻪﻫﺎ ﺣﺎﺿﺮ ﺷﺪهاﻧﺪ.
ﺧﺐ؟
ﺧﺐ ﮐﻪ ﺧﺐ! ﯾﻪ دﯾﻘﻪ ﺻﺐ ﮐﻦ!
ﺣﺘﯽ ﺧﻮد اﺑﺮﺻﻔﺤﻪ ﺟﺪاﮐﻨﻨﺪه ﻫﻢ ﺑﻪ ﺻﻮرت ﺿﺮب داﺧﻠﯽ ﺟﻔﺖ ﻧﻤﻮﻧﻪﻫﺎ ﻗﺎﺑﻞ ﺑﯿﺎن اﺳﺖ:
𝛼𝛼𝑖𝑖 ﻫﺎ ﺑﺮاي ﻫﻤﻪ ﻧﻤﻮﻧﻪﻫﺎ ﻏﯿﺮ از ﺑﺮدارﻫﺎي ﭘﺸﺘﯿﺒﺎن ﺻﻔﺮ ﻫﺴﺘﻨﺪ.
ﺗﻌﺪاد ﺑﺮدارﻫﺎي ﭘﺸﺘﯿﺒﺎن ) (SVﻧﺴﺒﺖ ﺑﻪ ﮐﻞ دادهﻫﺎ ﺑﺴﯿﺎر ﮐﻤﺘﺮ اﺳﺖ ﮐﻮﭼﮏ ﺑﻮدن ﻣﺪل
ﺑﺮاي داده ﺟﺪﯾﺪ ،ﺿﺮب داﺧﻠﯿﺶ ﺑﺎ ﺗﻤﺎم SVﻫﺎ ﺑﺎﯾﺪ ﻣﺤﺎﺳﺒﻪ ﺷﻮد و ﻋﻼﻣﺖ ﺗﺎﺑﻊ 𝑓𝑓 ﻓﻮق ،ﺗﻌﯿﯿﻦ ﮐﻨﻨﺪه دﺳﺘﻪ داده اﺳﺖ.
20 داﻧﺸﮕﺎه ،ﻋﻠﻢ ،ﺻﻨﻌﺖ.
داده ﻫﺎﺋﯽ ﮐﻪ ﺑﺼﻮرت ﺧﻄﯽ ﺟﺪا ﭘﺬﯾﺮ ﻧﯿﺴﺘﻨﺪ ) ﺑﻪ دﻟﯿﻞ ﻧﻮﯾﺰ(
ﯾﮏ ﻓﺮض ﺑﺴﯿﺎر ﻗﻮي در SVMاﯾﻦ ﺑﻮد ﮐﻪ دادهﻫﺎ ﺑﺼﻮرت ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮ ﺑﺎﺷﻨﺪ .در ﺣﺎﻟﯿﮑﻪ
در ﻋﻤﻞ در ﺑﺴﯿﺎري ﻣﻮاﻗﻊ اﯾﻦ ﻓﺮض ﺻﺤﯿﺢ ﻧﯿﺴﺖ.
ﻣﺜﻼ ﺑﻪ دﻟﯿﻞ وﺟﻮد ﻧﻮﯾﺰ و ﺗﻨﺎﻗﺾ در دادهﻫﺎي آﻣﻮزﺷﯽ
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ﺑﻪ ﻧﺤﻮي ﮐﻪ ﻣﻌﺎدﻟﻪ زﯾﺮ ﮐﻤﯿﻨﻪ ﮔﺮدد:
) (φ ) (φ
) (φ( ) φ( ) φ
)φ(. ) (φ
) (φ ) (φ
) (φ( ) φ
) (φ( ) φ
) (φ ) (φ( ) φ
) (φ
) (φ
ﻧﮕﺎﺷﺖ دادهﻫﺎ ﺑﻪ ﻓﻀﺎﯾﯽ دﯾﮕﺮ )ﻓﻀﺎي وﯾﮋﮔﯽ( ﺑﺎ ﮐﻤﮏ ﺗﺎﺑﻊ )𝑥𝑥(𝜙𝜙 ﮐﻪ در آن ﻓﻀﺎ دادهﻫﺎ ﺑﻪ ﺻﻮرت
ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮﻧﺪ
اﮔﺮ اﺑﻌﺎد ﻓﻀﺎي ﺟﺪﯾﺪ ﺑﻪ اﻧﺪازه ﮐﺎﻓﯽ ﺑﺰرگ ﺑﺎﺷﺪ ،دادهﻫﺎ اﻏﻠﺐ ﺑﻪ ﺻﻮرت ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد.
اﻧﺠﺎم ﻣﺤﺎﺳﺒﺎت در ﻓﻀﺎي وﯾﮋﮔﯽ ﻣﯿﺘﻮاﻧﺪ ﭘﺮﻫﺰﯾﻨﻪ ﺑﺎﺷﺪ ،زﯾﺮا اﺑﻌﺎد ﺑﯿﺸﺘﺮي دارد.
در ﺣﺎﻟﺖ ﮐﻠﯽ اﺑﻌﺎد اﯾﻦ ﻓﻀﺎ ﺑﯽﻧﻬﺎﯾﺖ اﺳﺖ.
ﺑﺮاي ﻏﻠﺒﻪ ﺑﺮ اﯾﻦ ﻣﺸﮑﻞ از ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ ) (kernel trickاﺳﺘﻔﺎده ﻣﯽﺷﻮد.
24 داﻧﺸﮕﺎه ،ﻋﻠﻢ ،ﺻﻨﻌﺖ.
داده ﻫﺎﺋﯽ ﮐﻪ ﺑﺼﻮرت ﺧﻄﯽ ﺟﺪا ﭘﺬﯾﺮ ﻧﯿﺴﺘﻨﺪ ) ذاﺗﯽ(
ﻧﮕﺎﺷﺖ دادهﻫﺎ ﺑﻪ ﻓﻀﺎﯾﯽ دﯾﮕﺮ )ﻓﻀﺎي وﯾﮋﮔﯽ( ﺑﺎ ﮐﻤﮏ ﺗﺎﺑﻊ )𝑥𝑥(𝜙𝜙 ﮐﻪ در آن ﻓﻀﺎ دادهﻫﺎ ﺑﻪ ﺻﻮرت
ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮﻧﺪ
اﮔﺮ اﺑﻌﺎد ﻓﻀﺎي ﺟﺪﯾﺪ ﺑﻪ اﻧﺪازه ﮐﺎﻓﯽ ﺑﺰرگ ﺑﺎﺷﺪ ،دادهﻫﺎ اﻏﻠﺐ ﺑﻪ ﺻﻮرت ﺧﻄﯽ ﺟﺪاﭘﺬﯾﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد.
اﻧﺠﺎم ﻣﺤﺎﺳﺒﺎت در ﻓﻀﺎي وﯾﮋﮔﯽ ﻣﯿﺘﻮاﻧﺪ ﭘﺮﻫﺰﯾﻨﻪ ﺑﺎﺷﺪ ،زﯾﺮا اﺑﻌﺎد ﺑﯿﺸﺘﺮي دارد.
در ﺣﺎﻟﺖ ﮐﻠﯽ اﺑﻌﺎد اﯾﻦ ﻓﻀﺎ ﺑﯽﻧﻬﺎﯾﺖ اﺳﺖ.
ﺑﺮاي ﻏﻠﺒﻪ ﺑﺮ اﯾﻦ ﻣﺸﮑﻞ از ﺗﺮﻓﻨﺪ ﻫﺴﺘﻪ ) (kernel trickاﺳﺘﻔﺎده ﻣﯽﺷﻮد.
25 داﻧﺸﮕﺎه ،ﻋﻠﻢ ،ﺻﻨﻌﺖ.
آﯾﺎ ﻧﮕﺎﺷﺖ ﻣﯽﺗﻮاﻧﺪ ﺳﻮدﻣﻨﺪ ﺑﺎﺷﺪ؟
آﯾﺎ در ﻣﺜﺎل ﻓﻮق ،ﺑﺎ ﻓﻀﺎي ﻧﮕﺎﺷﺖ داراي اﺑﻌﺎد ﮐﻤﺘﺮ ﻫﻢ ﻣﯽﺗﻮان دﺳﺘﻪﺑﻨﺪي ﺧﻄﯽ داﺷﺖ؟
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
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
ﮐﺎرﺑﺮدي و ﻣﺸﻬﻮرﺗﺮﯾﻦ