ﺗﻤﺮﯾﻦ اول درس ﯾﺎدﮔﯿﺮی ﻣﺎﺷﯿﻦ رﮔﺮﺳﯿﻮن ﻣﻘﺪﻣﻪ ﺳﻼم؛ ﺑﻪ درس ﯾﺎدﮔﯿﺮی ﻣﺎﺷﯿﻦ ﺧﻮش آﻣﺪﯾﺪ .ﺷﻤﺎ در اﯾﻦ ﺗﮑﻠﯿﻒ رﮔﺮﺳﯿﻮن ﺧﻄ را ﺗﻮﺳﻂ Rﭘﯿﺎده ﺳﺎزی ﻣ ﮐﻨﯿﺪ و آن را ﺑﺮای دو دﯾﺘﺎﺳﺖ ﻣﺘﻔﺎوت اﺟﺮا ﻣ ﮐﻨﯿﺪ .ﻣﺪ ﻧﻈﺮ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ ﮐﺪ ﺷﻤﺎ ﺑﺎﯾﺪ ﺑﺘﻮاﻧﺪ ﺑﺎ ﻫﺮ دﯾﺘﺎﺳﺘ ﮐﺎر ﮐﻨﺪ؛ ﺑﻨﺎﺑﺮاﯾﻦ ﺗﻌﺪاد featureﻫﺎ و ﺗﻌﺪاد داده ﻫﺎ ﻫﺮ ﻣﻘﺪار ﻣ ﺗﻮاﻧﺪ ﺑﺎﺷﺪ .داده ﻫﺎﯾﯽ ﮐﻪ در اﺧﺘﯿﺎر ﺷﻤﺎ ﻗﺮار داده ﻣ ﺷﻮﻧﺪ ﺳﻄﺮی ذﺧﯿﺮه ﺷﺪه اﻧﺪ )ﯾﻌﻨ ﻫﺮ ﺳﻄﺮ ﻣﻌﺮف ﯾ داده اﺳﺖ و ﻫﺮ ﺳﺘﻮن ﻣﺮﺑﻮط ﺑﻪ ﯾ وﯾﮋﮔ اﺳﺖ( .ﻫﻤﭽﻨﯿﻦ ﺷﻤﺎ ﺑﺎﯾﺪ ﯾ ﻣﺴﺘﻨﺪ ﺗﺤﻮﯾﻞ دﻫﯿﺪ. ﻣﺴﺘﻨﺪ ﺷﻤﺎ ﻣ ﺑﺎﯾﺴﺖ ﺷﺎﻣﻞ آﻧﺎﻟﯿﺰ ﻧﺘﺎﯾﺞ ؛ ﭘﺎﺳ ﺑﻪ ﭘﺮﺳﺶ ﻫﺎ و ﺷﺮح ﭘﯿﺎده ﺳﺎزﯾﺘﺎن ﺑﺎﺷﺪ .ﺳﻮاﻻت ﺧﻮد را ﺑﺎ اﯾﻤﯿﻞ ﻫﺎی زﯾﺮ در ﻣﯿﺎن ﺑ ﺬارﯾﺪ: amir.keramatian٩١@gmail.com .١ [email protected] .٢ ﺳﯿﺎﺳﺖ ﺑﺮﺧﻮرد ﺑﺎ ﮐﭗ ﺑﺴﯿﺎر ﺳﺨﺘﮕﯿﺮاﻧﻪ ﻣ ﺑﺎﺷﺪ؛ ﻟﺬا ﮐﭗ ﻧﺰﻧﯿﺪ! ﺑﺨﺶ اول دﯾﺘﺎﺳﺖ اول ﺷﺎﻣﻞ ٩٧داده ی ﺗﮏ ﺑﻌﺪی اﺳﺖ .اﯾﻦ دﯾﺘﺎﺳﺖ در ﻓﺎﯾﻞ data_set١ذﺧﯿﺮه ﺷﺪه اﺳﺖ .آن را loadﮐﻨﯿﺪ .ﺑﺎ اﯾﻦ ﮐﺎر ﯾ ﻣﺎﺗﺮﯾﺲ ﺑﺎ ٩٧ﺳﻄﺮ و دو ﺳﺘﻮن ﺑﻪ workspaceﺷﻤﺎ اﺿﺎﻓﻪ ﻣ ﺷﻮد .ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﮔﻔﺘﻪ ﺷﺪ ٩٧ﺗﻌﺪاد داده ﻫﺎﺳﺖ؛ ﺳﺘﻮن اول ﻫﺮ ﺳﻄﺮ xﻣﺘﻨﺎﻇﺮ ﺑﺎ آن داده اﺳﺖ و ﺳﺘﻮن دوم ﻣﻘﺪار yﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻫﻤﺎن داده ﻣ ﺑﺎﺷﺪ .ﺣﺎل ﺷﻤﺎ xو yﻫﺎ را از ﻫﻢ ﺟﺪا ﮐﻨﯿﺪ و آﻧﻬﺎ را در ﻣﺎﺗﺮﯾﺲ ﻫﺎی ﻣﺠﺰا ﻗﺮار دﻫﯿﺪ و ﻣﻘﺎدﯾﺮ yرا ﻧﺴﺒﺖ ﺑﻪ xدر ﯾ ﻧﻤﻮدار ﺗﺮﺳﯿﻢ ﮐﻨﯿﺪ .ﺣﺎل ﯾ ﺑﻌﺪ ﺟﺪﯾﺪ ﺑﻪ داده ﻫﺎی ﻣﻮﺟﻮد در xاﺿﺎﻓﻪ ﮐﻨﯿﺪ ﮐﻪ ﻣﻘﺪار آن ﺑﺮای ﻫﻤﻪ ی آﻧﻬﺎ ١ﻣ ﺑﺎﺷﺪ) .ﭼﺮا اﯾﻦ ﮐﺎر را ﻣ ﮐﻨﯿﻢ؟( ﺑﺨﺶ دوم در اﯾﻦ ﺑﺨﺶ ﺑﺎﯾﺪ ﺗﺎﺑﻊ costFunctionرا ﭘﯿﺎده ﺳﺎزی ﮐﻨﯿﺪ .اﯾﻦ ﺗﺎﺑﻊ ﺑﺎﯾﺪ ﺳﻪ ورودی داﺷﺘﻪ ﺑﺎﺷﺪ .ﯾ ﺑﺮای ﻣﺎﺗﺮﯾﺲ داده ﻫﺎ؛ ﯾ ﺑﺮدار yﻫﺎ و دﯾ ﺮی ﺑﺮدار θﮐﻪ ﭘﺎراﻣﺘﺮﻫﺎی اﻟ ﻮرﯾﺘﻢ رﮔﺮﺳﯿﻮن را ﺷﺎﻣﻞ ﻣ ﺷﻮد .ﻣﻘﺪاری ﮐﻪ اﯾﻦ ﺗﺎﺑﻊ ﺑﺮ ﻣ ﮔﺮداﻧﺪ ﺑﺎﯾﺪ ﻣﻄﺎﺑﻖ ﺗﻌﺮﯾﻒ زﯾﺮ ﺑﺎﺷﺪ: ١ m Σ (hθ (x(i) ) − y (i) )٢ ٢m i=١ = )J(θ mﺗﻌﺪاد داده ﻫﺎﺳﺖ و ) y (iﻣﻘﺪار yﺑﺮای داده ی iاُم اﺳﺖ. ﺑﺨﺶ ﺳﻮم در اﯾﻦ ﺑﺨﺶ ﻣ ﺑﺎﯾﺴﺖ رﮔﺮﺳﯿﻮن ﺧﻄ را ﺑﺎ ﻣ ﺎﻧﯿﺴﻢ Gradient Descentﭘﯿﺎده ﺳﺎزی ﮐﻨﯿﺪ .ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر ﺗﺎﺑﻊ LinearRegression_GDرا ﭘﯿﺎده ﺳﺎزی ﮐﻨﯿﺪ .ورودی ﻫﺎی اﯾﻦ ﺗﺎﺑﻊ ﻣﺎﺗﺮﯾﺲ داده ﻫﺎ ) (X؛ ﺑﺮدار yﻫﺎ؛ ﻧﺮخ ﯾﺎدﮔﯿﺮی )(α و ﺗﻌﺪاد ﺗﮑﺮار ﻫﺎی ﺣﻠﻘﻪ ی اﻟ ﻮرﯾﺘﻢ Gradient LRDescentﻣ ﺑﺎﺷﺪ .ﺧﺮوﺟ اﯾﻦ ﺗﺎﺑﻊ ﻣﻘﺪار ﻧﻬﺎﯾﯽ ﺑﺮدار θﻣ ﺑﺎﺷﺪ. ﺑﺮای ﭘﯿﺎده ﺳﺎزی اﯾﻦ ﺗﺎﺑﻊ ﺷﻤﺎ ﻣ ﺑﺎﯾﺴﺖ در اﺑﺘﺪا ﯾ ﺑﺮدار θﺗﺸ ﯿﻞ دﻫﯿﺪ ﮐﻪ ﺗﻌﺪاد اﻟﻤﺎن ﻫﺎی آن ﺑﺮاﺑﺮ ﺑﺎ ﺗﻌﺪاد اﺑﻌﺎد داده ١ ﻫﺎ ﺳﺖ).دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ وﻗﺘ داده ﻫﺎ ﺑﻪ ﻋﻨﻮان ورودی ﺑﻪ اﯾﻦ ﺗﺎﺑﻊ داده ﻣ ﺷﻮﻧﺪ؛ ﺑﻪ آﻧﻬﺎ ﯾ ﺑﻌﺪ اﺿﺎﻓﻪ ﺷﺪه اﺳﺖ ( .اﯾﻦ ﺑﺮدار ﻣ ﺗﻮاﻧﺪ دارای ﻣﻘﺎدﯾﺮ اوﻟﯿﻪ ﺻﻔﺮ ﯾﺎ ﻫﺮ ﻣﻘﺪار رﻧﺪﻣ ﺑﺎﺷﺪ .آﻧﮕﺎه در ﻫﺮ ﺑﺎر ﺗﮑﺮار ﺣﻠﻘﻪ ﺑﺮدار θﺑﻪ ﺻﻮرت زﯾﺮ ﺑﻪ روز ﻣ ﺷﻮد: )θ ←− θ − α × ∇J(θ ) ∇J(θﺑﺮدار ﻣﺸﺘﻘﺎت ﺟﺰﯾﯽ ﺗﺎﺑﻊ ) J(θﻧﺴﺒﺖ ﺑﻪ اﻟﻤﺎن ﻫﺎی ﺑﺮدار θﻣ ﺑﺎﺷﺪ .اﯾﻦ ﺗﺎﺑﻊ ﻣ ﺑﺎﯾﺴﺖ ﻣﻘﺪار ) J(θرا؛ در ﻫﺮ ﺑﺎر ﺗﮑﺮار ﺣﻠﻘﻪ را رﺳﻢ ﮐﻨﺪ .ﺑﻪ ﻋﺒﺎرت دﯾ ﺮ ﺑﺎﯾﺪ ﯾ ﻧﻤﻮدار رﺳﻢ ﮐﻨﺪ ﮐﻪ ﻣﺤﻮر اﻓﻘ ﺷﻤﺎره ی iterationﺣﻠﻘﻪ ﺑﺎﺷﺪ و ﻣﺤﻮر ﻋﻤﻮدی ﻣﯿﺰان ﺗﺎﺑﻊ ﻫﺰﯾﻨﻪ ﺑﻌﺪ از اﺟﺮای ﺣﻠﻘﻪ ی ﺷﻤﺎره ی iاُم ﻣ ﺑﺎﺷﺪ i .از ﺻﻔﺮ ﺗﺎ ﺗﻌﺪاد ﺗﮑﺮار ﺣﻠﻘﻪ ﻣ ﺑﺎﺷﺪ) .ﺷ ﻞ ١ﯾ ﻣﺜﺎل از اﯾﻦ ﮔﺮاف را ﻧﺸﺎن ﻣ دﻫﺪ .در اﯾﻦ ﻣﺜﺎل ﺧﺎص اﻟ ﻮرﯾﺘﻢ Gradient Descentﺑﻪ درﺳﺘ ﮐﺎر ﻣ ﮐﻨﺪ و ﺑﻪ ﺻﻮرت ﻣﺪاوم از ﻣﯿﺰان ﺗﺎﺑﻊ ﻫﺰﯾﻨﻪ ﮐﺎﺳﺘﻪ ﻣ ﺷﻮد (.ﺑﺮای ﺑﻪ دﺳﺖ آوردن ﻫﺰﯾﻨﻪ از ﺗﺎﺑﻊ costFunctionاﺳﺘﻔﺎده ﮐﻨﯿﺪ. ﺑﺨﺶ ﭼﻬﺎرم ﺗﺎﺑﻌ ﮐﻪ در ﺑﺨﺶ ﻗﺒﻞ ﭘﯿﺎده ﺳﺎزی ﮐﺮدﯾﺪ را ﺑﺎ ﭘﺎراﻣﺘﺮﻫﺎی αو ﺗﻌﺪاد ﺗﮑﺮار ﺣﻠﻘﻪ ﻣﺘﻔﺎوت اﺟﺮا ﮐﻨﯿﺪ و ﻧﺘﺎﯾﺞ را در ﮔﺰارش ﺛﺒﺖ ﮐﻨﯿﺪ .ﻫﻤﭽﻨﯿﻦ ﻣﺸﺨﺺ ﮐﻨﯿﺪ ﺑﻪ ازای ﮐﺪام αﺑﻬﺘﺮﯾﻦ ﻧﺘﯿﺠﻪ ﺣﺎﺻﻞ ﻣ ﺷﻮد )ﯾﻌﻨ ﺗﺎﺑﻊ ﻫﺰﯾﻨﻪ ﺳﺮﯾﻊ ﺗﺮ ﻣﯿﻨﯿﻤﻢ ﻣ ﺷﻮد و ﻫﻤ ﺮا ﻣ ﺷﻮد( .ﺑﻬﺘﺮﯾﻦ ﺑﺮدار θرا ذﺧﯿﺮه ﮐﻨﯿﺪ و ﺑﺎ اﺳﺘﻔﺎده از آن ﺧﻂ ) y = θT xﺑﻬﺘﺮﯾﻦ ﺧﻄ ﮐﻪ ﺗﻮاﻧﺴﺘﯿﺪ ﺑﻪ داده ﻫﺎ fitﮐﻨﯿﺪ( را ﺑﻪ ﻫﻤﺮاه داده ﻫﺎ در ﯾ ﺷ ﻞ رﺳﻢ ﮐﻨﯿﺪ و ﺗﺼﻮﯾﺮ را در ﮔﺰارش ﺧﻮد ﻗﺮار دﻫﯿﺪ. ﺑﺨﺶ ﭘﻨﺠﻢ از آﻧﺠﺎ ﮐﻪ ﺑﺮای دﯾﺘﺎﺳﺖ داده ﺷﺪه ﺗﻌﺪاد ﭘﺎراﻣﺘﺮﻫﺎی رﮔﺮﺳﯿﻮن ﺧﻄ ٢ﻋﺪد ﻣ ﺑﺎﺷﺪ؛ ﻣ ﺗﻮان ﯾ ﻧﻤﻮدار ﺳﻪ ﺑﻌﺪی رﺳﻢ ﮐﺮد از ﻣﻘﺎدﯾﺮ ﺗﺎﺑﻊ ﻫﺰﯾﻨﻪ ﻧﺴﺒﺖ ﺑﻪ θ٠و .θ١ﺑﻪ ﻣﺮﮐﺰﯾﺖ ﺑﻬﺘﺮﯾﻦ ﺑﺮدار ) θﮐﻪ در ﻓﻀﺎی R٢اﺳﺖ( ﯾ gridﺗﺸ ﯿﻞ دﻫﯿﺪ )ﻣﺜﻼ ﺑﻪ اﺑﻌﺎد (١٠×١٠و ﻣﯿﺰان ﺗﺎﺑﻊ ﻫﺰﯾﻨﻪ را ﺑﻪ ازای ﻋﻀﻮ ﻫﺎی آن gridﺑﻪ دﺳﺖ آورﯾﺪ و ﻧﻬﺎﯾﺘﺎ surfaceﺳﻪ ﺑﻌﺪی را رﺳﻢ ﮐﻨﯿﺪ. ﺗﺤﻠﯿﻞ ﮐﻨﯿﺪ ﮐﻪ ﻧﻤﻮدار ﺑﻪ دﺳﺖ آﻣﺪه دارای ﭼﻪ ﺷ ﻠ اﺳﺖ و ﭼﺮا اﯾﻦ ﮔﻮﻧﻪ اﺳﺖ. ﺑﺨﺶ ﺷﺸﻢ ﺑﺎ اﺳﺘﻔﺎده از Normal Equationﺑﺮدار θرا ﺑﻪ دﺳﺖ آورﯾﺪ .آﯾﺎ ﺑﻬﺘﺮﯾﻦ ﺑﺮدار θﮐﻪ ﺑﺎ Gradient Descentﺑﻪ دﺳﺖ آوردﯾﺪ ﺑﻪ اﯾﻦ ﻣﻘﺪار ﻧﺰدﯾ اﺳﺖ؟ اﺧﺘﯿﺎری :اﮔﺮ اﯾﻦ دو ﻣﻘﺪار ﺑﻪ ﻫﻢ ﻧﺰدﯾ ﺑﺎﺷﻨﺪ؛ ﻧﺸﺎن دﻫﻨﺪه ی اﯾﻦ اﺳﺖ ﮐﻪ Normal Equationﺳﻌ در ﮐﻤﯿﻨﻪ ﮐﺮدن ﻣﯿﺎﻧﮕﯿﻦ ﻣﺠﻤﻮع ﻣﺮﺑﻌﺎت ) ١ﻫﻤﺎن ﺗﺎﺑﻊ ) ( J(θﮐﺮده اﺳﺖ .ﭼﻮن Gradient Descentﻧﯿﺰ ﺳﻌ در ﻣﯿﻨﯿﻤﻢ ﮐﺮدن ﻫﻤﯿﻦ ﺗﺎﺑﻊ داﺷﺘﻪ اﺳﺖ .ﻧﺸﺎن دﻫﯿﺪ ﻓﺮﻣﻮل close formﺑﺮای ﻣﯿﻨﯿﻤﻢ ﮐﺮدن ﻣﯿﺎﻧﮕﯿﻦ ﻣﺠﻤﻮع ﻣﺮﺑﻌﺎت ﺧﻄﺎ ﻫﻤﺎن ﻓﺮﻣﻮل Normal Equationﻣ ﺑﺎﺷﺪ ) .راﻫﻨﻤﺎﯾﯽ :از ﺗﺎﺑﻊ ) J(θﻧﺴﺒﺖ ﺑﻪ اﻟﻤﺎن ﻫﺎی θﻣﺸﺘﻘﺎت ﺟﺰی ﺑ ﯿﺮﯾﺪ و آﻧﻬﺎ را ﺑﺮاﺑﺮ ﺑﺎ ﺻﻔﺮ ﻗﺮار دﻫﯿﺪ(. ﻣ ﺗﻮاﻧﯿﺪ از راه ﺣﻞ ﺧﻮد ﻋﮑﺲ ﺑ ﯿﺮﯾﺪ و آن را در ﮔﺰارش ﺧﻮد ﻗﺮار دﻫﯿﺪ. ﺑﺨﺶ ﻫﻔﺘﻢ در اﯾﻦ ﺟﺎ ﻣ ﺧﻮاﻫﯿﻢ ﻣﺘﻮﺳﻂ ﻗﯿﻤﺖ ﺧﺎﻧﻪ ﻫﺎ را در ﯾ ﻣﺤﻠﻪ ﺗﻘﺮﯾﺐ ﺑﺰﻧﯿﻢ .دﯾﺘﺎﺳﺘ ﮐﻪ در اﺧﺘﯿﺎرﺗﺎن ﻗﺮار ﻣ ﮔﯿﺮد ﺷﺎﻣﻞ ۵٠۶ داده ی ١٣ﺑﻌﺪی اﺳﺖ ﮐﻪ ﻫﺮ ﺑﻌﺪ ﯾ وﯾﮋﮔ از ﻣﺤﻠﻪ اﯾﺴﺖ ﮐﻪ ﺧﺎﻧﻪ در آن ﻗﺮار دارد ١٣ .وﯾﮋﮔ ﻣﻮرد ﺑﺤﺚ ﺣﺎوی اﻃﻼﻋﺖ زﯾﺮ ﻣ ﺑﺎﺷﻨﺪ: Mean Squared Error١ ٢ Per capita crime rate per town Proportion of residential land zoned for lots over 25,000 sq. ft. proportion of non-retail business acres per town 1 if tract bounds Charles river, 0 otherwise )Nitric oxides concentration (parts per 10 million Average number of rooms per dwelling Proportion of owner-occupied units built prior to 1940 Weighted distances to five Boston employment centres Index of accessibility to radial highways Full-value property-tax rate per $10,000 Pupil-teacher ratio by town 1000(Bk - 0.63)^2, where Bk is the proportion of blacks by town Percent lower status of the population 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ﻓﺎﯾﻞ ﻫﺎی data_set٢_Xو data_set٢_Yو ﺑﻪ ﺗﺮﺗﯿﺐ ﺷﺎﻣﻞ ﻣﺎﺗﺮﯾﺲ Xﻫﺎ و ﺑﺮدار Yﻫﺎ ﻣ ﺑﺎﺷﻨﺪ) .ﺑﺮ ﺧﻼف دﯾﺘﺎﺳﺖ اول؛ در اﯾﻨﺠﺎ Y ، Xاز ﻫﻢ ﺟﺪا ﻫﺴﺘﻨﺪ(. • اﻟﻒ( ﺑﺎ اﺳﺘﻔﺎده از Normal Equationﺑﺮدار θﺑﻬﯿﻨﻪ را ﺑﻪ دﺳﺖ آورﯾﺪ. • ب( ﺣﺎل ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ LinearRegression_GDﮐﻪ در ﺑﺨﺶ ٣ﭘﯿﺎده ﺳﺎزی ﮐﺮدﯾﺪ؛ ﺳﻌ ﮐﻨﯿﺪ رﮔﺮﺳﯿﻮن ﺧﻄ را روی داده ﻫﺎی اﯾﻦ دﯾﺘﺎﺳﺖ اﺟﺮا ﮐﻨﯿﺪ )ﺑﺎ ﻫﺮ ﭘﺎراﻣﺘﺮی ﮐﻪ ﻣ ﺧﻮاﻫﯿﺪ( ‐ﻓﺮاﻣﻮش ﻧﮑﻨﯿﺪ ﮐﻪ ﯾ ﺑﻌﺪ ﺟﺪﯾﺪ ﺑﻪ داده ﻫﺎ اﺿﺎﻓﻪ ﮐﻨﯿﺪ ‐.و ﻣﺠﺪدا ﻧﻤﻮدار ﻣﯿﺰان ﺧﻄﺎ در ﻫﺮ iterationرا رﺳﻢ ﮐﻨﯿﺪ .اﺣﺘﻤﺎﻻ اﯾﻦ ﺑﺎر ﻧﻤﻮدار ﻫﻤ ﺮا ﻧﻤ ﺷﻮد .دﻟﯿﻠﺶ اﯾﻦ اﺳﺖ ﮐﻪ featureﻫﺎ در ﺑﺎزه ﻫﺎی ﻣﺘﻔﺎوﺗ ﻫﺴﺘﻨﺪ .در اﯾﻦ ﺑﺎره ﺑﯿﺸﺘﺮ ﺗﻮﺿﯿﺢ دﻫﯿﺪ و ﭘﯿﺸﻨﻬﺎد ﮐﻨﯿﺪ ﭼﻪ راه ﺣﻠ ﺑﺮای اﯾﻦ ﻣﺸ ﻞ وﺟﻮد دارد. • ج( اﺧﺘﯿﺎری :ﺑﺎ اﺳﺘﻔﺎده از Feature Scalingداده ﻫﺎ را ﭘﯿﺶ ﭘﺮدازش ﮐﻨﯿﺪ و آﻧﮕﺎه رﮔﺮﺳﯿﻮن را روی داده ﻫﺎی ﭘﯿﺶ ﭘﺮدازش ﺷﺪه اﻧﺠﺎم دﻫﯿﺪ .ﻫﻤﭽﻨﯿﻦ ﺗﻮﺿﯿﺢ دﻫﯿﺪ از ﭼﻪ ﻧﻮع Feature Scalingی اﺳﺘﻔﺎده ﮐﺮدﯾﺪ. ﺑﺨﺶ ﻫﺸﺘﻢ در اﯾﻦ ﺑﺨﺶ ﻣ ﺧﻮاﻫﯿﻢ رﮔﺮﺳﯿﻮن را ﺗﻌﻤﯿﻢ دﻫﯿﻢ و ﺑﺎ آن ﺗﻮاﺑﻊ ﻏﯿﺮ ﺧﻄ را ﺗﻘﺮﯾﺐ ﺑﺰﻧﯿﻢ .دﯾﺘﺎﺳﺖ ﺷﻤﺎره ٣ﺣﺎوی Xﻫﺎی ﺗﮏ ﺑﻌﺪی اﺳﺖ .در اﯾﻨﺠﺎ ﻫﺎ Yﺗﺎﺑﻌ ﺧﻄ ﻧﺴﺒﺖ ﺑﻪ Xﻧﻤ ﺑﺎﺷﻨﺪ .ﺑﻨﺎﺑﺮاﯾﻦ ﺑﻬﺘﺮ اﺳﺖ ﻣﺜﻼ ﺑﺎ ﺗﺎﺑﻌ از درﺟﻪ ی ٢آﻧﻬﺎ را ﺗﻘﺮﯾﺐ ﺑﺰﻧﯿﻢ )ﺷ ﻞ .(٢ راه ﺣﻠ ﮐﻪ ﺑﻪ ﻧﻈﺮ ﺷﻤﺎ ﻣ رﺳﺪ؛ ﭼﯿﺴﺖ؟ راه ﺣﻞ ﺧﻮد را ﺗﻮﺿﯿﺢ دﻫﯿﺪ .ﺳﻌ ﮐﻨﯿﺪ ﺗﺎ ﺟﺎی ﻣﻤ ﻦ از ﺗﻮاﺑﻌ ﮐﻪ ﭘﯿﺎده ﺳﺎزی ﮐﺮدﯾﺪ اﺳﺘﻔﺎده ﻣﺠﺪد ﮐﻨﯿﺪ .ﺑﻌﺪ از ﺑﻪ دﺳﺖ آوردن ﺑﻬﺘﺮﯾﻦ ﻣﻨﺤﻨ ﮐﻪ ﺑﻪ داده ﻫﺎ fitﻣ ﺷﻮد؛ آن ﻣﻨﺤﻨ و داده ﻫﺎ را در ﯾ ﺷ ﻞ ﻧﻤﺎﯾﺶ دﻫﯿﺪ. ٣ ﺷ ﻞ :١ﻧﻤﻮدار ﻣﻘﺎدﯾﺮ ﺗﺎﺑﻊ ﻫﺰﯾﻨﻪ در ﻫﺮ ﺗﮑﺮار ﺣﻠﻘﻪ ی اﻟ ﻮرﯾﺘﻢ Gradient Descent ﺷ ﻞ :٢راﺑﻄﻪ ی Xو Yدر ﯾ ۴ دﯾﺘﺎﺳﺖ ﺳﺎﺧﺘﮕ ﻣﻨﺤﻨ ﺑﻪ ﺗﻌﺪادی داده ﺷ ﻞ fit :٣ﮐﺮدن ﯾ ۵
© Copyright 2025 Paperzz