0% found this document useful (0 votes)
28 views2 pages

Mini Project SPL 2020

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 2

‫ﭘﺮﻭﮊﻩ ﺩﺭﺱ ﻓﺮﺁﻳﻨﺪﻫﺎﻱ ﺗﺼﺎﺩﻓﻲ )ﺑﺮﮔﺮﻓﺘﻪ ﺷﺪﻩ ﺍﺯ ﺗﻤﺮﻳﻦ ﺩﺍﻧﺸﮕﺎﻩ ﭘﺮﻳﻨﺴﺘﻮﻥ(‬

‫ﺩﻛﺘﺮ ﺭﺑﻴﻌﻲ‬
‫‪ ۱۵‬ﺩﻱ ‪۱۳۹۹‬‬

‫ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﻗﺼﺪ ﺩﺍﺭﻳﻢ ﺗﺎ ﻣﺮﺍﺣﻞ ﻣﺨﺘﻠﻒ ﺳﺎﺧﺖ ‪ HMM‬ﺍﺯ ﺭﻭﻱ ﺩﺍﺩﻩ ﺭﺍ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﻛﻨﻴﻢ ﻛﻪ ﺩﺭ ﺍﺩﺍﻣﻪ ﺷﺮﺡ ﺩﺍﺩﻩ ﻣﻲ ﺷﻮﺩ‪.‬‬
‫ﺩﺭ ﻣﺮﺍﺣﻞ ﻣﺨﺘﻠﻒ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺩﺭ ﺣﺪ ﻣﻌﻘﻮﻝ ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﺍﺯ ﻛﺘﺎﺑﺨﺎﻧﻪ ﻫﺎﻱ ﺁﻣﺎﺩﻩ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ )ﺑﻪ ﻋﻨﻮﺍﻥ ﻧﻤﻮﻧﻪ ﺍﻟﮕﻮﺭﻳﺘﻢ ‪ Viterbi‬ﺭﺍ ﺑﺎﻳﺪ‬
‫ﺧﻮﺩﺗﺎﻥ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﻛﻨﻴﺪ(‪.‬‬

‫‪ ۱‬ﺳﺎﺧﺖ ﻣﺪﻝ ﺍﺯ ﺭﻭﻱ ﺩﺍﺩﻩ‬


‫‪ ۳‬ﺩﺳﺘﻪ ﭘﺎﺭﺍﻣﺘﺮ ﻣﻮﺭﺩ ﻧﻴﺎﺯ ﺑﺮﺍﻱ ﺳﺎﺧﺖ ﻳﻚ ‪ HMM‬ﺭﺍ ﺑﻴﺎﻥ ﻛﺮﺩﻩ ﻭ ﺑﺮﻧﺎﻣﻪﺍﻱ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺑﺎ ﺩﺭﻳﺎﻓﺖ ﺩﺍﺩﻩ‪ ،‬ﭘﺎﺭﺍﻣﺘﺮﻫﺎﻱ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ ﺍﺳﺘﺨﺮﺍﺝ‬
‫ﻧﻤﺎﻳﺪ‪ .‬ﺩﻗﺖ ﻧﻤﺎﻳﻴﺪ ﻛﻪ ﻛﺪ ﺷﻤﺎ ﺑﺎﻳﺪ ﺣﺎﻟﺖ ﻋﻤﻮﻣﻲ ﺩﺍﺷﺘﻪ ﻭ ﺑﺪﻭﻥ ﺗﻮﺟﻪ ﺑﻪ ﻧﻮﻉ ﺩﺍﺩﻩﻱ ﻭﺭﻭﺩﻱ ﻋﻤﻞ ﻧﻤﺎﻳﺪ‪ .‬ﺩﺭ ﻣﺤﺎﺳﺒﻪﻱ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﻱ‬
‫ﻣﺪﻝ ﺍﺯ ‪۱‬ﻫﻤﻮﺍﺭﺳﺎﺯﻱ ﻻﭘﻼﺱ ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﺎﻳﻴﺪ‪.‬‬

‫‪ ۲‬ﻳﺎﻓﺘﻦ ﻣﺤﺘﻤﻞﺗﺮﻳﻦ ﺩﻧﺒﺎﻟﻪ‬


‫ﻛﺪﻱ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺑﺎ ﮔﺮﻓﺘﻦ ﺩﻧﺒﺎﻟﻪﻱ ﺧﺮﻭﺟﻲﻫﺎﻱ ﻣﺸﺎﻫﺪﻩ ﺷﺪﻩ‪ ،‬ﻣﺤﺘﻤﻞ ﺗﺮﻳﻦ ﺩﻧﺒﺎﻟﻪ ‪۲‬ﺣﺎﻻﺕ ﺭﺍ ﺑﻪ ﺩﺳﺖ ﺁﻭﺭﺩ‪ .‬ﺑﻪ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺎﻳﺪ ﺍﺯ‬
‫ﺍﻟﮕﻮﺭﻳﺘﻢ ‪ Viterbi‬ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﺎﻳﻴﺪ‪ .‬ﺩﻗﺖ ﻧﻤﺎﻳﻴﺪ ﻛﻪ ﺩﺭ ﻃﻮﻝ ﺍﺟﺮﺍﻱ ﺍﻳﻦ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺑﻪ ﺩﻟﻴﻞ ﺿﺮﺏ ﺗﻌﺪﺍﺩ ﺯﻳﺎﺩﻱ ﺍﺣﺘﻤﺎﻝ‪ ،‬ﺍﻋﺪﺍﺩﻱ ﺗﻮﻟﻴﺪ‬
‫ﺧﻮﺍﻫﻨﺪ ﺷﺪ ﻛﻪ ﻣﺮﺗﺒﻪﻱ ﺑﺴﻴﺎﺭ ﻛﻮﭼﻜﻲ ﺩﺍﺭﻧﺪ ﻭ ﻣﻤﻜﻦ ﺍﺳﺖ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺤﺪﻭﺩﻳﺖﻫﺎﻱ ﺳﻴﺴﺘﻤﻲ‪ ،‬ﺑﻪ ﺻﻔﺮ ﺗﺒﺪﻳﻞ ﺷﻮﻧﺪ‪ .‬ﺑﺮﺍﻱ ﺣﻞ ﺍﻳﻦ‬
‫ﻣﺸﻜﻞ ﻣﻲﺗﻮﺍﻧﻴﺪ ﺍﺯ ﻟﮕﺎﺭﻳﺘﻢ ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﺎﻳﻴﺪ ‪:‬‬
‫)‪log(pq) = log(p) + log(q‬‬

‫‪ ۳‬ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺩﺍﺩﻩﻫﺎﻱ ﻭﺍﻗﻌﻲ‬


‫ﺩﺭ ﺍﻳﻦ ﻗﺴﻤﺖ ﻛﺪﻫﺎﻱ ﭘﻴﺎﺩﻩﺳﺎﺯﻱ ﺷﺪﻩ ﺩﺭ ﺩﻭ ﻗﺴﻤﺖ ﻗﺒﻞ ﺭﺍ ﺑﺮ ﺭﻭﻱ ﺩﺍﺩﻩﻫﺎﻱ ﻭﺍﻗﻌﻲ ﺗﺴﺖ ﻣﻲﻛﻨﻴﺪ ‪:‬‬

‫‪ ۱.۳‬ﺭﺑﺎﺕ‬
‫ﺩﺭ ﺍﻳﻦ ﺩﺍﺩﻩ ﺭﺑﺎﺗﻲ ﺑﺮ ﺭﻭﻱ ﺻﻔﺤﻪﻱ ﺷﻜﻞ ﺯﻳﺮ ﺣﺮﻛﺖ ﻣﻲﻛﻨﺪ‪ .‬ﺩﺭ ﻫﺮ ﻟﺤﻈﻪ‪ ،‬ﺭﺑﺎﺕ ﻣﻲﺗﻮﺍﻧﺪ ﺑﻪ ﻳﻜﻲ ﺍﺯ ﺳﻤﺖﻫﺎﻱ ﺑﺎﻻ‪ ،‬ﭘﺎﻳﻴﻦ‪ ،‬ﭼﭗ ﻭ‬
‫ﺭﺍﺳﺖ ﺣﺮﻛﺖ ﻛﻨﺪ ﻭ ﺩﺭ ﻫﺮ ﺧﺎﻧﻪ ﻣﻲﺗﻮﺍﻧﺪ ﺭﻧﮓ ﺁﻥ ﺭﺍ ﺍﺣﺴﺎﺱ ﻛﻨﺪ‪ .‬ﺩﺭ ﺻﻮﺭﺗﻲ ﻛﻪ ﺣﺮﻛﺖ ﺭﺑﺎﺕ ﻣﻮﺟﺐ ﺷﻮﺩ ﺑﻪ ﺧﺎﺭﺝ ﺍﺯ ﺻﻔﺤﻪ ﻳﺎ‬
‫ﻳﻜﻲ ﺍﺯ ﺧﺎﻧﻪﻫﺎﻱ ﺳﻴﺎﻩ ﺑﺮﻭﺩ‪ ،‬ﺣﺮﻛﺖ ﺍﻧﺠﺎﻡ ﻧﺨﻮﺍﻫﺪ ﺷﺪ‪.‬‬

‫‪1 Laplace‬‬ ‫‪Smoothing‬‬


‫‪2 States‬‬

‫‪۱‬‬
‫ﺳﻨﺴﻮﺭﻫﺎﻱ ﺭﺑﺎﺕ‪ ،‬ﺩﺭ ‪ ۱۰‬ﺩﺭﺻﺪ ﻣﻮﺍﻗﻊ ﺧﻄﺎ ﺩﺍﺭﻧﺪ ﻭ ﻣﻤﻜﻦ ﺍﺳﺖ ﺭﻧﮓ ﺍﺷﺘﺒﺎﻫﻲ ﺭﺍ ﺣﺲ ﻛﻨﻨﺪ‪ .‬ﺣﺎﻻﺕ ﺍﻳﻦ ﻣﺴﺌﻠﻪ ﻣﺨﺘﺼﺎﺕ ﺭﺑﺎﺕ‬
‫ﺑﻪ ﺻﻮﺭﺕ ‪ x : y‬ﻭ ﺧﺮﻭﺟﻲ ﻫﺮ ﺣﺎﻟﺖ ﺭﻧﮕﻲ ﺍﺳﺖ ﻛﻪ ﺗﻮﺳﻂ ﺳﻨﺴﻮﺭﻫﺎﻱ ﺭﺑﺎﺕ ﺣﺲ ﻣﻲﺷﻮﺩ ﻛﻪ ﻳﻜﻲ ﺍﺯ ﺭﻧﮓﻫﺎﻱ ‪r, g, b and y‬‬
‫ﺧﻮﺍﻫﺪ ﺑﻮﺩ‪.‬‬
‫ﺩﺭ ﻓﺎﻳﻞ ﺩﺍﺩﻩ ‪ ۴۰۰‬ﺩﻧﺒﺎﻟﻪ ﻭﺟﻮﺩ ﺩﺍﺭﺩ ﻛﻪ ﺍﺯ ‪ ۲۰۰‬ﺩﻧﺒﺎﻟﻪﻱ ﺍﻭﻝ ﺑﺮﺍﻱ ﻳﺎﺩﮔﻴﺮﻱ ﻣﺪﻝ ﻭ ﺍﺯ ‪ ۲۰۰‬ﺩﻧﺒﺎﻟﻪﻱ ﺑﻌﺪ ﺑﺮﺍﻱ ﺗﺴﺖ ﻣﺪﻝ ﺍﺳﺘﻔﺎﺩﻩ‬
‫ﻧﻤﺎﻳﻴﺪ‪.‬‬

‫ﺗﺼﺤﻴﺢ ﺧﻄﺎﻱ ﻧﻮﺷﺘﺎﺭﻱ‬ ‫‪۲.۳‬‬


‫ﺩﺭ ﺍﻳﻦ ﻣﺴﺌﻠﻪ‪ ،‬ﻛﺎﺭﺍﻛﺘﺮﻫﺎﻱ ﻣﻮﺟﻮﺩ ﺩﺭ ﻳﻚ ﻣﺘﻦ ﻣﺠﺪﺩﺍ ﺗﺎﻳﭗ ﻣﻲﺷﻮﻧﺪ‪ .‬ﺩﻭ ﺩﺍﺩﻩ ﺩﺭ ﺍﺧﺘﻴﺎﺭ ﺷﻤﺎ ﻗﺮﺍﺭ ﮔﺮﻓﺘﻪ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﻳﻜﻲ ‪ ۱۰‬ﺩﺭﺻﺪ‬
‫ﻛﺎﺭﺍﻛﺘﺮﻫﺎ ﺑﻪ ﺻﻮﺭﺕ ﺍﺷﺘﺒﺎﻩ ﺗﺎﻳﭗ ﺷﺪﻩ ﻭ ﺩﺭ ﺩﻳﮕﺮﻱ ‪ ۲۰‬ﺩﺭﺻﺪ ﺩﺍﺩﻩﻫﺎ‪ .‬ﺣﺎﻻﺕ ﻣﺪﻝ ﻣﺎﺭﻛﻮﻑ‪ ،‬ﻛﺎﺭﺍﻛﺘﺮﻫﺎﻱ ﺍﺻﻠﻲ ﻭ ﺧﺮﻭﺟﻲ ﻣﺸﺎﻫﺪﻩ‬
‫ﺷﺪﻩ ﻛﺎﺭﺍﻛﺘﺮ ﺗﺎﻳﭗ ﺷﺪﻩ ﺧﻮﺍﻫﺪ ﺑﻮﺩ‪.‬‬
‫ﺩﺭ ﻓﺎﻳﻞ‪ ،‬ﺩﺍﺩﻩﻫﺎﻱ ﺁﻣﻮﺯﺵ ﻭ ﺗﺴﺖ ﺑﺎ ﺩﻭ ﻛﺎﺭﺍﻛﺘﺮ )‪ (..‬ﻳﻜﺪﻳﮕﺮ ﺟﺪﺍ ﺷﺪﻩﺍﻧﺪ‪.‬‬

‫‪ .۱‬ﻣﺤﺪﻭﺩﻳﺘﻲ ﺩﺭ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺯﺑﺎﻥﻫﺎﻱ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻭﺟﻮﺩ ﻧﺪﺍﺭﺩ‪.‬‬


‫‪ .۲‬ﺍﺯ ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎﻱ ﺁﻣﺎﺩﻩ ﺩﺭ ﺣﺪ ﻣﻌﻘﻮﻝ ﻣﻲﺗﻮﺍﻧﻴﺪ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ‪ .‬ﺩﺭ ﺻﻮﺭﺕ ﺍﺑﻬﺎﻡ ﻣﻲﺗﻮﺍﻧﻴﺪ ﺳﻮﺍﻻﺕ ﺧﻮﺩ ﺭﺍ ﺩﺭ ﻛﻮﺋﺮﺍ ﻣﻄﺮﺡ ﻛﻨﻴﺪ‪.‬‬
‫‪ .۳‬ﺑﺨﺸﻲ ﺍﺯ ﻧﻤﺮﻩﻱ ﭘﺮﻭﮊﻩ ﺑﻪ ﮔﺰﺍﺭﺵ ﺁﻥ ﺗﺨﺼﻴﺺ ﺧﻮﺍﻫﺪ ﻳﺎﻓﺖ‪ .‬ﺑﻪ ﺍﻳﻦ ﺳﻮﺍﻻﺕ ﺩﺭ ﮔﺰﺍﺭﺵ ﺧﻮﺩ ﭘﺎﺳﺦ ﺩﻫﻴﺪ ‪:‬‬
‫)ﺁ( ﺁﻳﺎ ﺩﺭ ﺍﻳﻦ ﺩﻭ ﻧﻮﻉ ﺩﺍﺩﻩ‪ ،‬ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ‪ HMM‬ﻧﺘﻴﺠﻪﻱ ﻣﻄﻠﻮﺑﻲ ﺩﺍﺭﺩ؟ ﭼﺮﺍ؟‬
‫)ﺏ( ﭼﻪ ﻓﺮﺿﻴﺎﺗﻲ ﺩﺭ ‪ HMM‬ﺻﻮﺭﺕ ﻣﻲﮔﻴﺮﺩ ﻛﻪ ﻣﻮﺟﺐ ﻣﻲﺷﻮﺩ ﺩﺭ ﻣﻮﺭﺩ ﺍﻳﻦ ﺩﻭ ﺩﺍﺩﻩ ﺧﻮﺏ )ﻳﺎ ﺑﺪ( ﻋﻤﻞ ﻛﻨﺪ؟‬

‫‪۲‬‬

You might also like