Algorithm knwolage එක Capture කරගන්න හැටි.
පොඩි ගාණක් හදමු මුලින්ම, ස්කොලෙ යන ළමයෙක් ඉන්නව. මේ ළමයට සතියකට රුපියල් 50ක් දෙනව අමතර වියදමට. ඒ වගේම මාසෙ පටන් ගන්නකොට ලමය අතේ රුපියල් 100ක් තියෙනව. මාසයක් ඉවර වෙනකොට මේ ළමයට රුපියල් කීයක් ඉතුරු කරන්න පුළුවන්ද?
අපි ඔය ගාණ හදනව මෙහෙම, 50 X 4 + 100 කියල. උත්තරේ රුපියල් 300යි.
දැන් ඔය සමීකරණය අරගෙන බැලුවොත් පෙර දැනුම විදියට අපිට තියෙන්නෙ ඕනි සතියකට රුපියල් කීයක් ලැබෙනවද කියන එක, දැන් අතේ කීයක් තියෙනවද කියන එක. ඒ පෙර දැනුම අරගෙන තමා අපි අපේ ප්රශ්නෙ වෙන සති 4කදි කීයක් ඉතුරු කරගන්නවද කියන උත්තරේ හදාගන්නෙ.
ඕක අපිට මේ වගේ ලියාගන්න පුළුවන්.
අපි පිළිතුර ගන්නෙ ඒ පිළිතුර නිර්මාණය කරන්න ඕනි දැනුම අපේ ප්රශ්නෙ එක්ක ගුණනය කරල. මේ ෆෝමැට් එකේ ගුණනය කියන එක ගුණ කිරීම විදියට නැතුව යම් ගණිත කර්මයක් (apply) වගේ අදහසකින් තියාගන්න. ඊට පස්සෙ අපිට ඔය ආව පිළිතුරට බලපෑ හැකි වෙන දැනුමක් තියෙනව නන් ඒකත් එක්කත් යම් ගණිත කර්මයක් කරාම තමා අපිට පිළිතුර ලැබෙන්නෙ.
ඔය Format එකටම අපිට මේ වගේ උදාහරණ ගන්න පුළුවන්.
මේ හැම එකකදිම අර අපි කතා කරපු Format එකටම පිළිතුර නිර්මාණය කරන්න පුළුවන්.
හරි දැන් ඔය Format එකේම අපි එමු AI වලට. එතනදි ඔය කලින් උදාහරණ වල කිව්ව වගේම අපිට එක්කො දැනුම එලියෙන් අරගෙන තියාගන්න වෙනව. මේක අපි symbolic AI වලදි කරනව. එහෙම නැත්තන් අපිට සිද්ධ වෙනව උදාහරණ වලින් ඉගෙන ගන්න කියන්න. එතකොට අපි පාවිච්චි කරන්නෙ Machine Learning කියන ක්රමය.
ඔතනි Machine Learning වලට එනකොට අර ෆෝමැට් එකම වගේ තමා අපිට ලැබෙන්නෙ.
Y = wX + b
ඔතන මොන ක්රමයට ඉගෙන ගත්තත් අපි තියාගන්නෙ w අගය විදියට අර කලින් කතා කරපු උදාහරණවල වගේම දැනුමක්. ඒ දැනුම ලබාගන්නෙ මේ වගේ ක්රමයකට.
අපෙන් දන්නෙ නැති දෙයක් ඇහුවොත් අපි ගොඩක් වෙලාවට කරන්නෙ Guess කරල උත්තරයක් දෙනව. මෙතන ටිකක් වැදගත්. ඔය අනුමාන කරල උත්තරේ දෙන්නෙ හරිම දැනුමෙන් නෙවෙයි ඒක අපි නිකන් ඒ වෙලාවට හිතල හදාගන්න දැනුමක්. දැන් අපිට උගන්නන කෙනා උත්තරේ අරගෙන බලනව ඇත්තටම එන්න ඕනි උත්තරේ සහ දීල තියෙන උත්තරේ අතර තියෙන අඩුපාඩුව මොකද්ද කියල. උත්තරේ වැරදියි නන් අපිට කියල දෙනව වරද්දපු තැන සහ වැරද්ද නිවැරදි කරගන්න අපි කරන්න ඕනි මොකද්ද කියන එක. ඔහොම ටිකක් වෙලා වරද්ද වරද්ද කරද්දි අපි දැනගන්නව අපි දෙන්න ඔනි උත්තරේ හදන්නෙ කොහොමද කියන එක. මේක හැබයි අපි ඉගෙන ගන්නෙ පිළිවලකට නෙවෙයි. වරද්දනව, ඒ වැරද්ද පෙන්නන ගමන් හදාගන්න ඕනි විදිය කියල දෙනව. මේක ඉවර වෙනකොට අපි අත්දැකීමෙන් ඉගෙන ගෙන.
දැන් ඔය ක්රමය ඔහොම්මම අපි Machine Learning වලට අරගෙන ආවොත් එතනදිත් අපි කරන්නෙ මුලින්ම දැනුමක් (w අගය) නිකන් ඔහේ Random විදියකට හදාගන්නව. ඊට පස්සෙ මොකද කරන්නෙ අර අපි ඉගෙන ගත්ත වගේම කරන වැරදි බලල වැරද්ද හදාගන්න ඕනි හැටි කියල දෙනව. මේ ක්රමය ඇතුලෙදි මේ w අගය දැනුම තියාගන්නෙ ඉලක්කමක් විදියට. හරිම දැනුම 100 නන් එයා මුලින් ගන්නෙ 40 වගේ අනුමාන දැනුමක් නන් අපි ටික ටික කියල දෙනකොට එයා 100ට කිට්ටු කරනව. මොනව හරි මූලික අගයක් (මූලික දැනුමක්) තියෙන්න පුළුවන් නන් අපි ඒක b කියල තියාගෙන ඉන්නව. ඒක අපි දැනුම යොදන තැන අනුව එහෙට මෙහෙට කරල අපේ පිළිතුරේ නිවැරදි බව තියාගන්නව.
ඔය විදියට තමා අපි y=mx+c වල m,c දැනුම තියාගන්න පාවිච්චි කරන්නෙ
පොඩි ගාණක් හදමු මුලින්ම, ස්කොලෙ යන ළමයෙක් ඉන්නව. මේ ළමයට සතියකට රුපියල් 50ක් දෙනව අමතර වියදමට. ඒ වගේම මාසෙ පටන් ගන්නකොට ලමය අතේ රුපියල් 100ක් තියෙනව. මාසයක් ඉවර වෙනකොට මේ ළමයට රුපියල් කීයක් ඉතුරු කරන්න පුළුවන්ද?
අපි ඔය ගාණ හදනව මෙහෙම, 50 X 4 + 100 කියල. උත්තරේ රුපියල් 300යි.
දැන් ඔය සමීකරණය අරගෙන බැලුවොත් පෙර දැනුම විදියට අපිට තියෙන්නෙ ඕනි සතියකට රුපියල් කීයක් ලැබෙනවද කියන එක, දැන් අතේ කීයක් තියෙනවද කියන එක. ඒ පෙර දැනුම අරගෙන තමා අපි අපේ ප්රශ්නෙ වෙන සති 4කදි කීයක් ඉතුරු කරගන්නවද කියන උත්තරේ හදාගන්නෙ.
ඕක අපිට මේ වගේ ලියාගන්න පුළුවන්.
Code:
Answer =Knowledge \times Question + Prior Knowledge
අපි පිළිතුර ගන්නෙ ඒ පිළිතුර නිර්මාණය කරන්න ඕනි දැනුම අපේ ප්රශ්නෙ එක්ක ගුණනය කරල. මේ ෆෝමැට් එකේ ගුණනය කියන එක ගුණ කිරීම විදියට නැතුව යම් ගණිත කර්මයක් (apply) වගේ අදහසකින් තියාගන්න. ඊට පස්සෙ අපිට ඔය ආව පිළිතුරට බලපෑ හැකි වෙන දැනුමක් තියෙනව නන් ඒකත් එක්කත් යම් ගණිත කර්මයක් කරාම තමා අපිට පිළිතුර ලැබෙන්නෙ.
ඔය Format එකටම අපිට මේ වගේ උදාහරණ ගන්න පුළුවන්.
- ගලක් ගහල අඹ ගෙඩියක් කඩන්න ගල කොච්චර වේගෙකින් සහ කෝණයකින් යවන්න ඕනිද? ( අපි පුරුදු වෙලා වෙලා ඉගෙන ගන්නව කොච්චර බලයක් යොදන්න ඕනිද කියන එක)
- වත්තෙ තියෙන කොස් ගහක් තව අවුරුදු 5කින් කොච්චර උස යයිද? ( වසරකදී හෝ දිනකදී ගහ කොච්චර උස යනවද කියන දැනුම අපිට එලියෙන් ගන්න වෙනව අපි දන්නෙ නැත්තන්)
- පරිපථයක විභව අන්තරය කොච්චරද? ( ප්රතිරෝධය කියන දැනුම අපි මනින්න වෙනව )
මේ හැම එකකදිම අර අපි කතා කරපු Format එකටම පිළිතුර නිර්මාණය කරන්න පුළුවන්.
හරි දැන් ඔය Format එකේම අපි එමු AI වලට. එතනදි ඔය කලින් උදාහරණ වල කිව්ව වගේම අපිට එක්කො දැනුම එලියෙන් අරගෙන තියාගන්න වෙනව. මේක අපි symbolic AI වලදි කරනව. එහෙම නැත්තන් අපිට සිද්ධ වෙනව උදාහරණ වලින් ඉගෙන ගන්න කියන්න. එතකොට අපි පාවිච්චි කරන්නෙ Machine Learning කියන ක්රමය.
ඔතනි Machine Learning වලට එනකොට අර ෆෝමැට් එකම වගේ තමා අපිට ලැබෙන්නෙ.
Y = wX + b
ඔතන මොන ක්රමයට ඉගෙන ගත්තත් අපි තියාගන්නෙ w අගය විදියට අර කලින් කතා කරපු උදාහරණවල වගේම දැනුමක්. ඒ දැනුම ලබාගන්නෙ මේ වගේ ක්රමයකට.
අපෙන් දන්නෙ නැති දෙයක් ඇහුවොත් අපි ගොඩක් වෙලාවට කරන්නෙ Guess කරල උත්තරයක් දෙනව. මෙතන ටිකක් වැදගත්. ඔය අනුමාන කරල උත්තරේ දෙන්නෙ හරිම දැනුමෙන් නෙවෙයි ඒක අපි නිකන් ඒ වෙලාවට හිතල හදාගන්න දැනුමක්. දැන් අපිට උගන්නන කෙනා උත්තරේ අරගෙන බලනව ඇත්තටම එන්න ඕනි උත්තරේ සහ දීල තියෙන උත්තරේ අතර තියෙන අඩුපාඩුව මොකද්ද කියල. උත්තරේ වැරදියි නන් අපිට කියල දෙනව වරද්දපු තැන සහ වැරද්ද නිවැරදි කරගන්න අපි කරන්න ඕනි මොකද්ද කියන එක. ඔහොම ටිකක් වෙලා වරද්ද වරද්ද කරද්දි අපි දැනගන්නව අපි දෙන්න ඔනි උත්තරේ හදන්නෙ කොහොමද කියන එක. මේක හැබයි අපි ඉගෙන ගන්නෙ පිළිවලකට නෙවෙයි. වරද්දනව, ඒ වැරද්ද පෙන්නන ගමන් හදාගන්න ඕනි විදිය කියල දෙනව. මේක ඉවර වෙනකොට අපි අත්දැකීමෙන් ඉගෙන ගෙන.
දැන් ඔය ක්රමය ඔහොම්මම අපි Machine Learning වලට අරගෙන ආවොත් එතනදිත් අපි කරන්නෙ මුලින්ම දැනුමක් (w අගය) නිකන් ඔහේ Random විදියකට හදාගන්නව. ඊට පස්සෙ මොකද කරන්නෙ අර අපි ඉගෙන ගත්ත වගේම කරන වැරදි බලල වැරද්ද හදාගන්න ඕනි හැටි කියල දෙනව. මේ ක්රමය ඇතුලෙදි මේ w අගය දැනුම තියාගන්නෙ ඉලක්කමක් විදියට. හරිම දැනුම 100 නන් එයා මුලින් ගන්නෙ 40 වගේ අනුමාන දැනුමක් නන් අපි ටික ටික කියල දෙනකොට එයා 100ට කිට්ටු කරනව. මොනව හරි මූලික අගයක් (මූලික දැනුමක්) තියෙන්න පුළුවන් නන් අපි ඒක b කියල තියාගෙන ඉන්නව. ඒක අපි දැනුම යොදන තැන අනුව එහෙට මෙහෙට කරල අපේ පිළිතුරේ නිවැරදි බව තියාගන්නව.
ඔය විදියට තමා අපි y=mx+c වල m,c දැනුම තියාගන්න පාවිච්චි කරන්නෙ