අපි පසුගිය Post වලින් Linear Regression සහ Logistic Regression ගැන පැහැදිලි කරා.

Linear Regression අපි භාවිතා කරන්නේ continuous අගයන් තියන ගැටළු විසඳන්න.

ඒ වගේම  Logistic Regression භාවිතා කලේ Classification problem විසඳන්න.

මේ දෙකම ගැන දැන් අපි දන්නවා. මේ ආකාර දෙකෙදීම machine Learning model එකක් හැදුවා. ඒ model එක සාර්ථක එකක් කියලා අපි කියන්නේ කොහොම ද? ඒ model එකේ Accuracy එක වැඩි නම් ඒක සාර්ථක model එකක් කියලා කියන්න පුළුවන්.මේ ආකාර දෙකෙදීම අපි dataset එකක් අරගෙන ඒ dataset එක කොටස් දෙකකට බෙදා ගත්තා training set එක සහ Test set එක කියලා. Training set එක භාවිතා කරලා ඒ model එක train කරා. එතකොට අපිට ලැබුනා Training Accuracy එකක්. ඊට පස්සේ Test set එක භාවිතා කරලා හදපු training model  එකේ Accuracy  එක test කරලා බලනවා. මේ අවස්ථා දෙකෙ දී Accuracy දෙකක් ලැබෙනවා. Training Accuracy සහ Testing Accuracy කියලා. මේ ලැබුන Accuracy දෙකේ වෙනස්කම් තියෙන්න පුළුවන්.

මේ Train කරපු model එකේ Testing Accuracy එක හා Training Accuracy එක වැඩි නම් අපිට කියන්න පුළුවන් ඒ Model එක හොඳයි කියලා.

සමහර වේලාවට Training Accuracy එක වැඩියි නමුත් Testing Accuracy එක පහළ මට්ටමක තියෙන්න පුළුවන්. ඒ වගේම සමහර වේලාවට මේ දෙකම පහළ මට්ටමක තියෙන්න පුළුවන්.  

අද අපි මේ Post එකෙන් කතා කරන්නේ මේ දෙකේ වෙනස අනුව Underfitting හා Overfitting අවස්ථාව ඇති වෙන්නේ කොහොම ද කියලා.

අපි මුලින්ම බලමු Regression problem එකක්.

ඔයාලා දන්නවා දැන් අපි Linear Regression භාවිතා කලේ Continuous Values තියන ගැටළුවක් විසඳගන්න. දැන් අපි මේ අරගෙන තියෙන්නේ ඒ වගේ dataset එකක්.

Linear Regression වලදී අපි කරේ මේ dataset එකට අනුව Best fit Line එකක් සකස් කර ගන්න එක. ඒක දැන් මේ විදියට බලා ගන්න පුළුවන් වෙනවා.


මේ dataset එක බලපුවම පේනවා මේ වගේ සරල රේඛාවක් නෙවෙයි ගැලපෙන්නේ best fit line එක විදියට. හේතුව රේඛාවට සම්බන්ධ නොවන data තියන නිසා.රතු පාටින් පෙන්වලා තියන තැන්වල දී විශාල error එකක් cost එකක් ඇති වෙනවා. ඒක නිසා අපි මේ වගේ අවස්ථාව හඳුන්වනවා Underfitting (High Bias) කියලා.ඒ කියන්නේ Best fit line එක හා actual data point (රතු පාට) අතර සැලකිය යුතු වෙනසක් තියනවා. ඒ නිසා අපි කියනවා Bias එක වැඩියි. ඒක High  Bias කියලා කියනවා

අපිට මේක ඉහත ආකාරයට නැතුව මේ පහතින් පෙන්වලා තියන ආකාරයට train කර ගන්න පුළුවන්.


මේ අවස්ථාව අපි හඳුන්වනවා overfitting අවස්ථාව කියලා. මේ අවස්ථාවේ දී Accuracy එක ගොඩක් වැඩියි. මේ වැඩි වෙන්නේ Training Accuracy එක. අපි train කරපු model එකේ accuracy එක තමයි වැඩි වෙන්නේ. නමුත් training accuracy එක වැඩි වුනාට අපි test කරද්දි accuracy එක අඩු වෙනවා. අපි test කරන්න භාවිතා කරන්නේ වෙනම data ටිකක් දිලා නිසා ඒ data හා මේ plot එකේ ඒවත් එක්ක වෙනස් කමක් තියෙන්න පුළුවන්. ඒ නිසා අපි කියනවා ඒ අවස්ථාව variation වැඩියි නැත්නම් high variation කියලා.

දැන් අපිට තෙරෙනවා මේ අවස්ථා දෙකම ඒ කියන්නේ underfitting හා overfitting වල ප්‍රශ්නයක් තියනවා කියලා. ඒ නිසා මේ අවස්ථා දෙකම ඇති නොවන විදියට අපි model එකක් train කරන්න ඕනි.

එවිට අපිට මේ dataset එකට පහත ආකාරයට සාධාරන විදියට ප්‍රස්ථාරයක් නිරූපණය කරන්න පුළුවන්


 මේ අවස්ථාව අපිට කියන්න පුළුවන් underfitting හා overfitting අවස්ථා දෙක අතර අතරමැදි අවස්ථාවක් කියලා. මේක අපිට නිවැරදි ම ආකාරය කියලා කියන්න පුළුවන්.

 දැන් අපි බලමු classification problem එකක් ගැන.

අපි අරගමු Binary classification problem එකක්.

ඉහත ප්‍රස්ථාරයෙන් classification problem එකක class දෙකක් රතු පාටින් හා කළු පාටින් පෙන්වලා තියනවා. මේ ප්‍රස්ථාරයේ තියන datapoint ටික අපිට සරල රේඛාවක් භාවිතා කරලා class දෙක වෙන් කර ගන්න පුළුවන් පහත රූපයේ පෙන්වන ආකාරයට.


මේකත් පේනවා නේද සාධාරණ නැහැ. ඒ නිසා මේ අවස්ථාව Underfitting කියලා කියනවා. ඒ කියන්නේ High Bias.

ඊලගට අපිට පුළුවන් මේ datapoint ටික දෙකට බෙදා ගන්න පහත පෙන්වන ආකාරයට.



ඒ කියන්නේ මේක ගොඩක් සංකිර්ණ විදියට හදා ගත්ත model එකක්. මේ අවස්ථාව අපි කියනවා overfitting අවස්ථාව කියලා එහෙම නැත්නම් High variance කියලා.

නමුත් මේ අවස්ථා දෙකටම අතරමැදි අවස්ථාවක් විදියට පහත ආකාරයේ සාධාරණ ප්‍රස්තාරයක් ගන්න පුළුවන්.

මේ දත්ත වර්ග දෙක බෙදා ගන්න පුළුවන් සාධාරණම ආකාරය.

මේ ආකාරයේ underfitting අවස්ථාවක් සහ overfitting අවස්තාවක් ඇති වෙන්නේ මොනවගේ හේතු හින්ද ද? අපි කොහොම ද ඒක හඳුනාගන්නේ. අපි දැන් ඒ ගැන බලමු.

Underfitting අවස්තා දෙක බලමු

මේ අවස්තා දෙකෙදි ම සදා ගත්තු model දෙක සරලයි. ඒ නිසා මේක තව  සංකිර්ණ කරලා අපිට පුළුවන් සාධාරණ model එකක් බවට පත් කර ගන්න.

මේ model එක train කරන කොට අපි ගන්නවා feature. මේ features ගාන වැඩි කරලා අපිට තව සංකිර්ණ කරන්න පුළුවන්.

උදාහරණයක් විදියට අපි මේ ප්‍රස්තාර දෙකෙම අරන් තියෙන්නේ Y =mx + c ආකාරයට.

මේ සමිකරණයේ x කියන්නේ feature එක. මෙකේ එක feature එකක් අරගෙන තියෙන්නේ. මෙකේ features ගාන වැඩි කරාම පහත ආකාරයට සමිකරණය ලියන්න පුළුවන්

Y=mx1 + mx2 +…….

මෙකේ සංකිර්ණතාවය වැඩි කරන්න පුළුවන් තව විසඳුමක් තමයි model එක Train කරන වාර ගණන නැත්නම් Train කරන කාලසීමාව වැඩි කරන එක.

අපේ model එක underfitting අවස්තාවේ නම් තියෙන්නේ ඉහත විසඳුම් භාවිතා කරන්න පුළුවන් underfitting අවස්තාව නැති කර ගන්න.

ඊලගට බලමු overfitting අවස්තාව. Overfitting අවස්තා දෙක අපි බලමු.


 මේ model දෙකම සංකිර්ණයි. අපිට ඕනි මේ Model දෙක සරල කර ගන්න.

ඒකට විසඳුම් තමයි.

Model එකේ සංකිර්ණ කම අඩුකිරිම

Train කරන data size එක වැඩි කිරිම

Features ගාන අඩු කරන්න ඕනි සංකිර්ණ කම සරල කරන්න. මේක manually හා model selection algorithm එකක් භාවිතා කරලා කරන්න පුළුවන්.

Regularization Techniques භාවිතා කරන්න.


එහෙනම් අපි ඊලග post එකෙන් හමුවෙමු......................👉