අපි ගිය වර post එකෙන් කථා කරා machine learning කියන්නේ මොකක් ද? Machine learning ආකාර තුනකට වෙන් කරන්න පුළුවන් කියලා

Supervised Learning

Unsupervised Learning

Reinforcement Learning

අද මේ post එකෙන් කතා කරන්නේ Supervised Learning සහ Unsupervised Learning ගැන.

supervised Learning

machine learning කියලා කිව්වේ අතීත දත්ත වලින් machine එකට උගන්නලා අනාගතයේ යම් යම් තීරණ ගන්න උදව් කරන එක.

Supervised Learning වල දී අපි භාවිතා කරන්නේ Label දත්ත.

අපි machine learning model එකක් පුහුණු කරනවා. Model එකක් කියලා කියන්නේ අපි යන්ත්‍රයට උගන්නනකොට ඒ ඉගෙන ගත්ත දේවල් ගබඩා කරලා තියා ගන්න file එකක් කියලා හිතන්න.

අපි උදාහරණයක් අරගෙන බලමු.

Machine learning model එකක් පුහුණු කරමු ලකුණු වලට අනුව සමත් ද අසමත් ද යන්න සොයා ගන්න.

එක් එක් පුද්ගලයන් විෂයයන් කිහිපයකට ගත්ත ලකුණු සහ එම ලකුණු වලට අනුව විභාගය සමත් ද අසමත් ද බව පෙන්වන පහත වගුව බලන්න.

Name

Sub1

Sub2

Sub3

Result

James

80

60

65

Pass

Peter

70

54

63

Pass

Ann

61

47

86

Fail

Kate

50

50

64

Pass

 

දැන් ඉහත වගුවේ තියෙන්නේ label කරපු දත්ත. ඒ කියන්නේ අපිට ආදාන විදියට ගන්න පුළුවන් විෂයයන් තුනේ ලකුණු .ඒ වගේම ඒ ආදාන කරන ලකුණු වලට අනුව විභාගය සමත් ද අසමත් ද කියලා කියන RESULTS ප්‍රතිදානය වෙනවා.

දැන් අපි මුලින් ම කරන්න ඕනි මේ දත්ත වලින් machine learning model එකක් පුහුණු කරන්න ඕනි. එතකොට යන්ත්‍රයට පුළුවන් මේ දත්ත වලට අනුව සමත් වෙන්න කොයි විදියට ලකුණු ඕනි ද කොයි වගේ ලකුණු ගත්තොත් ද අසමත් වෙන්නේ කියලා යන්ත්‍රයට තෙරෙන විදියට Pattern එකක් හදා ගන්න.යන්ත්‍රය ඒ pattern එක ගබඩා කරලා තියා ගන්නවා machine learning model එකක් විදියට. ඒ විදියට machine learning model එකක් පුහුණු කරාට පසුව අපි හදා ගත්ත machine learning model එකට එක් එක්කෙනා ලබා ගත් ලකුණු දීලා එයා සමත් ද අසමත් ද කියලා යන්ත්‍රය තීරණය කරන විදිය ගැන යම් අවබෝධයක් ගන්න. සමහර වේලාවට මේ තීරණය වරදින්න ත් පුළුවන්. එතකොට මෙහි නිවැරදිභව වැඩි කර ගන්න ලොකු දත්ත ප්‍රමාණයක් දීලා පුුහුණු කරන්න පුළුවන්.

Supervised learning ආකාරය හදා ගන්න පුළුවන් ඇල්ගොරිතම කිහිපයක් බලමු

Linear Regression

Logistic Regression

Support Vector Machine (SVM)

K-Nearest Neighbors(KNN)

Naïve Bias

Decision Tree

Random Forest

දැන් අපි දන්නවා supervised learning කියන්නේ label දත්ත භාවිතා කරලා පුහුණු කරන බව.ඒ dataset එකේ තියනවා ආදාන සහ ප්‍රතිදාන විදියට ඒ කියන්නේ අපේ උදාහරණයට අනුව ආදාන විදියට ලකුණු සහ ප්‍රතිදාන විදියට result.

 

දැන් අපි Unsupervised learning බලමු

Unsupervised learning කියන්නේ යන්ත්‍රය පුහුණු කරන්න භාවිතා කරන්නේ label දත්ත නෙවෙයි. දත්ත වලින් යන්ත්‍රය පුහුණු කලාට ඒවායේ ප්‍රතිදාන හඳුන්වන්නේ නැහැ.

පහත දක්වා ඇති උදාහරණය බලන්න.


supervised learning විදියට පුහුණු කරොත් මේ දත්ත square circle විදියට නම් කරලා කියන්න පුළුවන්. නමුත් Unsupervised learning වල දී label කරන්නේ නැති නිසා යන්ත්‍රය මේ dataset එක වර්ගීකරනය කර ගන්නවා මෙයාට තෙරෙන විදියට pattern යොදාගෙන. නමුත් ඒ ඒ වට කියන නමක් දන්නේ නැහැ.

ඉහත උදාහරණයේ තියෙන dataset එක එයාට පුළුවන් හැඩය අනුව වර්ගිකරණය කරන්න.


එහෙම නැත්නම් පාට අනුව වර්ගිකරනය කර ගන්න පුළුවන්
Unsupervised learning වල දී මේ විදියට වර්ගීකරනය කරන එක හඳුන්වනවා clustering කියලා.

                           cluster 1                 cluster 2

Unsupervised learning වල දී clustering ආකාර කිහිපයක් තියනවා

K-Means Clustering

Hierarchical clustering

Principal component Analysis

Singular Value Decomposition

Independent Component Analysis

අද අපි මේ post එකෙන් කතා කලේ supervised සහ unsupervised learning ගැන. ඒ දෙක අතර වෙනස හඳුනාගන්න ඇති කියලා හිතනවා.

ඊලඟ post එකෙන් මුණ ගැසෙමු.......