ML-Ex2.pdf

‫ﺗﻤﺮﻳﻨﺎت ﺳﺮي دوم درس ﻳﺎدﮔﻴﺮي ﻣﺎﺷﻴﻦ‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ‪1388/9/30 :‬‬
‫ ﻣﻮﺿﻮﻋﺎت ﺗﻤﺮﻳﻦ‪ :‬ﻳﺎدﮔﻴﺮﻫﺎي ﮔﺮوﻫﻲ‪ ،‬ﻳﺎدﮔﻴﺮﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﻧﻤﻮﻧﻪ‪.‬‬
‫ ﺗﻤﺮﻳﻨﺎت ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﺑﺎﻳﺪ ﺑﻪ زﺑﺎن ‪ MATLAB‬ﻳﺎ ﺟﺎوا )ﻧﺮماﻓﺰار ‪ (WEKA‬ﻧﻮﺷﺘﻪ ﺷﻮﻧﺪ‪.‬‬
‫ ﺑﺮاي ﺗﻤﺮﻳﻨﺎت ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﺑﺎﻳﺪ ﮔﺰارﺷﻲ ﺣﺎوي ﺗﻮﺿﻴﺢ ﻣﺨﺘﺼﺮ ﻛﺪ‪ ،‬ﻧﺘﺎﻳﺞ و ﻧﻤﻮدارﻫﺎي‬
‫ﺑﻪدﺳﺖ آﻣﺪه و ﺗﺤﻠﻴﻞ آنﻫﺎ اراﺋﻪ ﺷﻮد‪.‬‬
‫ﺗﻤﺮﻳﻦ ‪ 30) (1‬ﻧﻤﺮه( اﻟﮕﻮرﻳﺘﻢ آداﺑﻮﺳﺖ در ﺷﻜﻞ زﻳﺮ اراﺋﻪ ﺷﺪه اﺳـﺖ‪ .‬در اﻳﻨﺠـﺎ‪ ،‬در ﻫـﺮ ﺗﻜـﺮار‪ ،‬ﻣﺠﻤـﻮع‬
‫وزنﻫﺎي ﻧﻤﻮﻧﻪﻫﺎي آﻣﻮزﺷﻲ ﺑﺮاﺑﺮ ‪ 1‬ﻧﺨﻮاﻫﺪ ﺑﻮد و ﻧﻤﻲﺗﻮان از وزنﻫﺎ ﺑﻪﻋﻨﻮان ﺗﻮزﻳﻊ ﻧﻤﻮﻧﻪﻫﺎ ﺗﻌﺒﻴﺮ ﻛﺮد؛ اﻟﺒﺘﻪ‬
‫اﻟﮕﻮرﻳﺘﻢ ﻫﻢﭼﻨﺎن ﺑﺮﻗﺮار اﺳﺖ‪ .‬ﻓﺮض ﻛﻨﻴﻢ ﻣﺠﻤﻮع وزنﻫﺎ در اﺑﺘﺪاي ﺗﻜﺮار ‪ t‬ﺑﺮاﺑـﺮ ‪ Zt‬ﺑﺎﺷـﺪ ﻛـﻪ در اوﻟـﻴﻦ‬
‫ﺗﻜﺮار ﺑﺮاﺑﺮ ﻣﻘﺪار ‪ n‬ﺧﻮاﻫﺪ ﺑﻮد‪ .‬در اداﻣﻪ رﻓﺘﺎر ‪ Zt‬ﺑﻪﻋﻨﻮان ﺗﺎﺑﻌﻲ از ‪ t‬ﺑﺮرﺳﻲ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫اﻟﻒ( اﮔﺮ ﺧﻄﺎي آﻣﻮزش در ‪t‬اﻣﻴﻦ ﺗﻜﺮار‪ ،‬ﺑﺮاﺑﺮ ‪ εt‬ﺑﺎﺷﺪ‪ ،‬ﻧﺸﺎن دﻫﻴﺪ رأيﮔﻴﺮي ﺑﺮاﺳﺎس‬
‫
‬
‫‬
‫‬
‫‬
‫‪ = log‬‬
‫ﺑﻬﻴﻨﻪ اﺳﺖ زﻳﺮا ‪ Zt+1‬را ﻛﻤﻴﻨﻪ ﻣﻲﻛﻨﺪ‪) .‬راﻫﻨﻤﺎﻳﻲ‪ :‬ﺑﻪ ‪ Zt+1‬ﺑﻪﻋﻨﻮان ﺗﺎﺑﻌﻲ از ‪ α‬ﻧﮕﺎه ﻛﻨﻴـﺪ و ﻣﻘـﺪاري را ﻛـﻪ‬
‫ﺑﺎزاي آن ‪ Z‬ﻛﻤﻴﻨﻪ ﻣﻲﺷﻮد ﺑﻴﺎﺑﻴﺪ(‪.‬‬
‫ﺗﻤﺮﻳﻨﺎت ﺳﺮي دوم درس ﻳﺎدﮔﻴﺮي ﻣﺎﺷﻴﻦ‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﻳﻞ‪1388/9/30 :‬‬
‫ب( ﻧﺸﺎن دﻫﻴﺪ ﻣﺠﻤﻮع وزنﻫﺎ ﺑﻪﻋﻨﻮان ﺗﺎﺑﻌﻲ از ‪ ،(Zt) t‬اﻛﻴﺪاً ﻧﺰوﻟﻲ اﺳﺖ‪.‬‬
‫ج( ﻧﺸﺎن دﻫﻴﺪ ﺣﺪ ﺑﺎﻻي ﺧﻄﺎي آﻣﻮزش ﺗﺮﻛﻴﺐ دﺳﺘﻪﺑﻨﺪﻫﺎ ﺑﻌﺪ از ‪ k‬ﺗﻜﺮار )‪(h = ∑ α h x‬‬
‫ﺑﺮاﺑﺮ‬
‫‬
‫‬
‫اﺳﺖ‪) .‬راﻫﻨﻤﺎﻳﻲ‪ Zt :‬را ﺑﺮاﺳﺎس وزنﻫﺎي اوﻟﻴﻪ و ‪ α1,…,αk‬ﺑﻨﻮﻳﺴﻴﺪ(‪.‬‬
‫ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ آداﺑﻮﺳﺖ در ﻫﺮ ﺗﻜﺮار ﺣﺪ ﺑﺎﻻي ﺧﻄﺎ را ﻛﻤﻴﻨﻪ ﻣﻲﻛﻨﺪ و اﻳﻦ ﺣﺪ از ﺧﻄﺎ در ﻃﻮل ﺗﻜﺮارﻫﺎ اﻛﻴﺪاً‬
‫ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ‪.‬‬
‫ﺗﻤﺮﻳﻦ ‪ 40) (2‬ﻧﻤﺮه( ﻳﻚ ﮔﻮﻧﻪ ﺗﻐﻴﻴﺮﻳﺎﻓﺘﻪ اﻟﮕﻮرﻳﺘﻢ ‪ k‬ﻧﺰدﻳﻚﺗـﺮﻳﻦ ﻫﻤﺴـﺎﻳﻪ‪ k-p ،‬ﻧﺰدﻳـﻚﺗـﺮﻳﻦ ﻫﻤﺴـﺎﻳﻪ‬
‫اﺳﺖ‪ .‬در اﻳﻦ اﻟﮕﻮرﻳﺘﻢ‪ ،‬از ﻣﻴﺎن ‪ k‬ﻧﺰدﻳﻚﺗﺮﻳﻦ ﻫﻤﺴﺎﻳﻪ ﻛﻼﺳﻲ ﺑﺮﻧﺪه ﺧﻮاﻫﺪ ﺷﺪ ﻛﻪ ﺣﺪاﻗﻞ ‪ p‬ﻫﻤﺴﺎﻳﻪ ﺑﻪ آن‬
‫ﺗﻌﻠﻖ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ .‬در ﺻﻮرﺗﻲ ﻛﻪ ﻫﻴﭻ ﻛﻼﺳﻲ ‪ p‬ﻫﻤﺴﺎﻳﻪ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪ k ،‬را اﻓﺰاﻳﺶ ﻣﻲدﻫﻴﻢ‪ .‬ﺑـﺪﻳﻦ ﺗﺮﺗﻴـﺐ‬
‫ﭘﺎراﻣﺘﺮ اﺻﻠﻲ اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ‪ p‬ﺧﻮاﻫﺪ ﺑﻮد )‪ k‬را اﺑﺘﺪا ﺑﺮاﺑﺮ ‪ p‬درﻧﻈـﺮ ﻣـﻲﮔﻴـﺮﻳﻢ و درﺻـﻮرت ﻧﻴـﺎز اﻓـﺰاﻳﺶ‬
‫ﻣﻲدﻫﻴﻢ(‪ .‬اﻳﻦ اﻟﮕﻮرﻳﺘﻢ را ﭘﻴﺎدهﺳﺎزي ﻛﺮده و ﺧﻄﺎي دﺳﺘﻪﺑﻨﺪي را ﺑﺮ روي ﻣﺠﻤﻮﻋﻪ آزﻣﺎﻳﺸـﻲ ﻣﺠﻤﻮﻋـﻪ داده‬
‫‪ cancer.mat‬ﺑﺪﺳﺖ آورﻳﺪ‪ .‬ﻧﺘﺎﻳﺞ را ﺑﺮاي ‪ p = 3, 5, 7‬ﺑﺮرﺳﻲ ﻛﻨﻴﺪ‪.‬‬
‫ﺗﻤﺮﻳﻦ ‪ 30) (3‬ﻧﻤﺮه( اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺑﻴﺰﺳﺎده‪ 1-NN ،‬و ‪ 3-NN‬را روي ﻣﺠﻤﻮﻋﻪ دادهﻫـﺎي ‪ diabetes‬و‬
‫‪ credit-g‬اﻋﻤﺎل ﻧﻤﺎﻳﻴﺪ‪ ،‬دﻗﺖ و ﺧﻄﺎي دﺳﺘﻪﺑﻨﺪي اﻟﮕﻮرﻳﺘﻢﻫـﺎ را روي ﻣﺠﻤﻮﻋـﻪ دادهﻫـﺎي ﻣـﻮرد ﺑﺮرﺳـﻲ‬
‫ﻣﻘﺎﻳﺴﻪ ﻛﻨﻴﺪ‪ .‬ﺑﺮاي ﻣﻘﺎﻳﺴﻪ دﻗﻴﻖﺗﺮ از درﺳﺘﻲﺳﻨﺠﻲ ﺿﺮﺑﺪري ‪ 10‬ﺗﻜﻪاي اﺳﺘﻔﺎده ﻛﻨﻴـﺪ‪ .‬ﻧﺘـﺎﻳﺞ روشﻫـﺎي ‪1-‬‬
‫‪ NN‬و ‪ 3-NN‬را ﺑﺎ اﻋﻤﺎل ﺿﺮﻳﺐ ﻓﺎﺻﻠﻪ در دﺳﺘﻪﺑﻨﺪي ﺑﺮرﺳﻲ ﻛﻨﻴﺪ‪.‬‬