Reading Time: 3 minutes

              හොදයි යාලුවනේ ඔන්න අද මං කතා කරන්න යන්නෙ අද ලෝකෙ ගොඩක් දෙනා කතා කරන තවමත් පර්යේෂණ මට්ටමේ පවතින ගොඩක් දියුණු තාක්ෂණයක් ගැන. ඒ තමා Machine Learning.

කෘතීම බුද්ධි තාක්ෂණය එහෙම නැත්නම් Artificial Intelligence කෙලින්ම කීවොත් වර්තමානයත් අනාගතයත් යා කරන පරිගණක පරම්පරාව අද බොහෝ දෙනා කතා කරන තාක්ෂයක්. ඒ තාක්ෂණයෙ තියෙන ඉතා නිර්මාණශීලි තාක්ෂණයක් තමා මේ Machine Learning කියන්නෙ. Vacuum tube තාක්ෂණයේ ඉදලා Micro-Processor දක්වා ආවේ මිනිසා සෘජුව සම්බන්ධ වුණු තාක්ෂණයක්. නමුත් මේ Machine Learning කියන්නෙ සම්පූර්ණයෙන්ම වෙනස් තාක්ෂණයක් වගේම දියුණු තාක්ෂණයක්. පර්යේෂණාත්මක තාක්ෂණයක්.

            හොදයි අපි බලමු මොකක්ද මේ Machine Learning කියන්නෙ කියලා. කෙලින්ම කීවොත් මේ පරිගණක විද්‍යාවේ තියෙන දියුණුම පැතිකඩක්. ඒ කියන්නෙ පරිගණකය විසින්ම ස්වයංක්‍රීයව ඉගෙන ගෙන අත්දැකීම් ලබා ගෙන දැනුම වැඩි කරගෙන යම් කිසි කාර්යක් කරන්න පුලුවන් මට්ටමකට පැමිණිමක්.

මම ඉගෙන ගැනීම කියලා අදහස් කළේ සාමාන්‍ය මනුස්සයෙක් වගේ  යම් කිසි දත්ත වගේ දේවල් හදුනා ගැනීමේ හැකියාව වටහා ගැනීමේ හැකියාව මෙන්ම එම දත්ත අනුකූලව තීරණ ගැනීමේ හැකියාව වගේ දේවල් මේ ඉගෙනීම යටතට අයත්. නමුත් මෙය ඉතාමත් අමාරු දෙයක්. ඇයි මම එහෙම කියන්නෙ මොකද හැම දත්තයකට අදාලවම නිවැරදි තීරණයක් ගන්න සාමාන්‍ය මනුසසයෙකුට පවා අමාරුයි. ඒ නිසා මේක කරන්න විශේෂ ඇල්ගොරිතම් ගොඩනගන්න වෙනවා.මෙම ඇල්ගොරිතම් වලට පාදක කරගන්න විශේෂ දත්ත අවශ්‍යයි . ඒවගේම පෙර පුහුණු කළ අත්දැකීම් අවශ්‍යයි. ඒ අත්දැකීම් තුළ අන්තර්ගත විය යුතුයි විශේෂ ගණිතමය සංකල්ප සංඛ්‍යාන සම්භාවිතාව මෙන්ම Optimizations වගේ සංකල්ප.

            හැබැයි මෙහෙම ඉගෙන ගන්න කොච්චර කාලයක් යනවද කියලා ඔයාලට හිතෙනවද? උදාහරණයක් විදියට මට හොදට English ඉගෙන ගන්න අවුරුදු 2ක් ගියා කියමුකො. Machine එකකට කොච්චර කාලයක් යයිද? ඒක තමා තාම පර්යේෂණ මට්ටමේ තියෙන්නෙ මොකද Machine එකකට ඉගෙන ගන්නත් ඒ හා සමාන කාලයක් යනවා. මේ කාලය අඩු කරගන්නෙ කොහොමද කියලා පරිගණක විද්‍යාඥයො තාමත් පර්යේෂණ කරනවා. ඉතින් මේ Machine Learning කියන තාක්ෂණයට ගොඩක්ම වැදගත්වෙන්නෙ දත්ත. විශාල දත්ත ගබඩාවක් අවශ්‍යයි  Machine Learning කාර්යක්ෂම විදියට කරන්න නම්.

එකිනෙකට වෙනස් විදියෙ කාර්යන් කරන්න ගොඩනගපු ඇල්ගොරිතම් කිහිපයක් මං කියන්නම්

  • Vision Processing
  • Language Processing
  • Robotics
  • Games
  • Pattern Recognition
  • Forecasting

Machine Learning තාක්ෂණය ගොඩනගන්න ක්‍රම කිහිපයක් තියෙනවා. ඒ අතරෙ ගොඩක්ම භාවිතා කරන තාක්ෂණයක් තමා Supervised Learning සහ Unsupervised Learning.

Supervised Learning

                Supervised Learning ගැන කතා කලොත් මේක‍ෙ වෙන්නෙ හුරුවෙන්න අපේක්ෂා කරන ක්‍රියාවට අදාල දත්ත වල පවතින ක්‍රියාපටිපාටි (functions) ඉගෙන ගැනීමක්. ඒ කියන්නෙ හුරු වෙන්න තියෙන ක්‍රියාවට අදාල දත්ත විශ්ලේෂණය කරලා නිගමනය කරන්න පුලුවන් ක්‍රියාපටිපාටියක් ගොඩනගනවා. මේ ක්‍රියාපටිපාටිය පාවිච්චි කරලා අලුත් දෙයක් නිර්මාණය කරන්න පුලුවන්. උදාහරණ කීවොත් Voice recognition. ඒ වගේම Email තුළ අඩංගු වන Spam හදුනා ගැනීම වගේ දේවල් මේ Supervised Learning යටතට අයත්.

            ඒ වගේම Neural Network , Naïve Bayes classifiers , Mahouts Implements වගේම Supports Vector Machines(SVMs) වගේ බොහෝ ඇල්ගොරිතම් Supervised Learning තුළ අන්තර්ගතයි.

Unsupervised Learning

            මෙහිදී ඉගෙනීමට කළින් අර්ථ දක්වන ලද දත්ත කිසිවක් භාවිත් වීමක් නෑ. මේකෙදි පාව්ච්චි වෙන්නෙ භාවිතා නොකරන ලද දත්ත වල අර්ථය පමණයි. උදහරණ කීවොත් Self-organizing maps , Hierarchical clustering වගේම k-means clustering වගේ දේවල් මේ Unsupervised Learning යටතට අයත්.

Supervised Learning සහ Unsupervised Learning යටතට අයත් තවත් බොහෝ Learning methods අන්තර්ගතයි. ඒ අතර විශේෂ ක්‍රම කිහිපයක් ගැන මම කතා කරන්නම්.

Reinforcement learning

                මේකෙදි වෙන්නෙ කලින් ඉගෙනගද්දි තිබුණ වැරදි තැන් හදා ගෙන ඊළග වටයෙදි ඒ වැරදි නිවැරදි කරමින්  ඉගෙන ගැනීමක් වගේ දෙයක්. ඒ කියන්නෙ මේ ක්‍රමයෙදි අදාල Machine එකේ ප්‍රතිඵල වැඩි දියුණු කරගැනීමක් සිදු වෙනවා.

Over-fitting

                අදාල යන්ත්‍රය ඉතාමත් හොදින් පුහුණු කිරීමක් මෙහිදී වෙනවා මොකද නියම දත්ත තුළ දෝෂ සහිත දත්තද පවතින්න පුලුවන්. ඒ නිසා එහෙම දත්ත තිබ්බොත් අලුත් දත්ත වලට යන්ත්‍රය දක්වන ප්‍රතිචාරය සෘණාත්මක වෙන්න පුලුවන්. ඒ නිසා Over-fitting කියන තාක්ෂණයෙදි යන්ත්‍රය ඵලදායී ලෙස දත්ත මතක තබා ගැනීමක් සිදුවෙනවා. ඒ වගේම ප්‍රතිදානය ගැන අනාවැකි පළකිරීමක් සිදු වෙනවා. නමුත් මේකෙදි සම්පූර්ණයෙන්ම අලුත් දත්ත තිබුණොත් යන්ත්‍රයේ  Accuracy එක අඩු වෙනවා.

Under-fitting

                අවාසි රාශියක් ඇති තාක්ෂණ ක්‍රමයකි මෙය. මොකද මෙහෙදී ක්‍රමවත් පුහුණු කිරීමක් සිදුවෙන්නෙ නෑ යන්ත්‍රයට.කෙළින්ම කීවොත් මෙය දත්ත පුහුණු කිරීමේදී Poor Performance සහිත තාක්ෂණයකි.

තවත් ක්‍රම රාශියක් අන්තර්ගතයි මේ Machine Learning තාක්ෂණය යටතේ. නම් වශයෙන් කීවොත් Recommendation , Clustering Classification වගේ. මේ දේවල් පිළිබද මම ඉදිරියෙදි කතා කරන්න බලාපොරොත්තු වෙනවා උදාහරණ එක්ක.

            ඉතින් අදට මම Machine Learning ගැන පොඩි හදුන්වාදීමක් පමණයි කලේ අලුතින් මේ ගැන ඉගෙන ගන්න කැමති අයට. මම ඊළග ලිපියෙන් කියන්නම් කොහොමද මේ Machine Learning කරන්න පටන් ගන්නෙ කියලා Programming Language එකක් පාවිච්චි කරලා. ඊළග ලිපියෙන් හමු වන බලාපොරොත්තුවෙන් මම ගිහින් එන්නම්. සතූතියි හැමෝටම!


Hasee Amarathunga

I am a Computer Science student of University of Colombo School of Computing

1 Comment

Machine Learning දෙවැනි දිගහැරුම. - The SIGMA · February 9, 2019 at 1:53 pm

[…] Machine Learning […]

Leave a Reply

Your email address will not be published. Required fields are marked *