AI සඳහා ගණිතය: සම්භාවිතාව සහ සංඛ්‍යානය - Sinhala Guide

AI සඳහා ගණිතය: සම්භාවිතාව සහ සංඛ්‍යානය - Sinhala Guide

කෘත්‍රිම බුද්ධියට (AI) අත්‍යවශ්‍ය ගණිතය: සම්භාවිතාව සහ සංඛ්‍යානය (Probability & Statistics) - Sinhala Guide

කොහොමද යාලුවනේ? මේ දවස්වල හැමතැනම කතා වෙන AI ගැන ඔයාලත් උනන්දුවෙන් ඇති කියලා මම දන්නවා. Chatbots, Recommendation Systems, Face Recognition වගේ දේවල් දැක්කම ඇත්තටම පුදුම හිතෙනවා නේද? ඒත් මේ හැම AI Application එකක්ම පිටිපස්සේ තියෙන මූලික ශක්තිය මොකක්ද කියලා ඔයාලා දන්නවද? ඒ තමයි ගණිතය!

විශේෂයෙන්ම, සම්භාවිතාව (Probability) සහ සංඛ්‍යානය (Statistics) කියන්නේ AI සහ Machine Learning වලට නැතිවම බැරි දෙයක්. හරියට අපේ ජීවිතේ තියෙන අවිනිශ්චිතතාවයන් (Uncertainties) වගේම, AI Models වලටත් තීරණ ගන්න සිද්ධ වෙන්නේ ලැබෙන දත්තවල අවිනිශ්චිතතාවයන් එක්ක. ඉතින් මේ අවිනිශ්චිතතාවයන් තේරුම් ගන්නයි, ඒවයින් නිවැරදි නිගමනවලට එන්නයි Probability & Statistics උදව් වෙනවා. ඒක හරියට AI එකට ලෝකය තේරුම් ගන්න උදව් වෙන භාෂාවක් වගේ. මේ Guide එකෙන් අපි, AI වලට අත්‍යවශ්‍ය Probability & Statistics සංකල්ප කීපයක් ගැන සිංහලෙන් සරලව කතා කරමු. මොනවද අපි බලන්නේ?

  • Probability Distributions (සම්භාවිතා ව්‍යාප්ති)
  • Bayes' Theorem (බේයිස්ගේ ප්‍රමේයය)
  • Statistical Inference (සංඛ්‍යානමය අනුමාන කිරීම)
  • Hypothesis Testing (උපකල්පන පරීක්ෂා කිරීම)

මේවා ගැඹුරු සංකල්ප වුණත්, අපි ඒවා AI වලට කොහොමද පාවිච්චි කරන්නේ කියලා සරල උදාහරණ එක්ක තේරුම් ගමු. එහෙනම්, අපි පටන් ගමු!


1. Probability Distributions (සම්භාවිතා ව්‍යාප්ති) - දත්ත රටා තේරුම් ගැනීම

මුලින්ම බලමු මේ Probability Distribution එකක් කියන්නේ මොකක්ද කියලා. සරලව කිව්වොත්, මේකෙන් අපිට පේනවා යම්කිසි සිදුවීමක (Event) විවිධ ප්‍රතිඵල (Outcomes) ඇතිවීමේ සම්භාවිතාව (Probability) කොච්චරද කියලා. නිකන් හිතන්න, අපි කාසියක් උඩ දැම්මොත්, 'හිස' එන්න තියෙන සම්භාවිතාව 50%යි, 'පිටුපස' එන්න තියෙන සම්භාවිතාව 50%යි. මේකත් සරලම Probability Distribution එකක්. ඒත් AI වලදී අපිට මේකට වඩා සංකීර්ණ දේවල් එක්ක වැඩ කරන්න වෙනවා.

AI Models දත්ත වලින් ඉගෙන ගන්නකොට, ඒ දත්ත මොන වගේ රටාවකට ව්‍යාප්ත වෙලාද තියෙන්නේ කියලා තේරුම් ගන්න Probability Distributions උදව් වෙනවා. මේ රටා තේරුම් ගත්තම, Model එකට අලුත් දත්ත ගැන අනාවැකි කියන්න (Predictions) සහ තීරණ ගන්න (Decisions) පුළුවන් වෙනවා.

ප්‍රධාන Probability Distributions වර්ග කීපයක්:

Normal Distribution (සාමාන්‍ය ව්‍යාප්තිය) - Gaussian Distribution

මේක තමයි AI සහ Statistics වල වැඩිපුරම පාවිච්චි වෙන Distribution එක. මේකේ Graph එක Bell shape එකක් වගේ නිසා Bell Curve කියලාත් කියනවා. ගොඩක් ස්වභාවික සංසිද්ධි (උස, බර, විභාග ලකුණු, දෝෂ ව්‍යාප්තිය) මේ Distribution එකට අනුව ව්‍යාප්ත වෙනවා. AI වලදී, දත්ත Normal Distribution එකකට අනුව ව්‍යාප්ත වෙලා තියෙනවා කියලා දැනගත්තම, ඒ දත්ත විශ්ලේෂණය කරන්න සහ Model කරන්න පහසු වෙනවා.

උදාහරණයක් විදියට, Class එකක ළමයින්ගේ උස ගත්තොත්, වැඩිම ළමයි ප්‍රමාණයක් ඉන්නේ සාමාන්‍ය උස පරාසයේ. ගොඩක් කොට අයයි, ගොඩක් උස අයයි ඉන්නේ අඩු ප්‍රමාණයක්. මේක තමයි Normal Distribution එකේ හැටි.

Binomial Distribution (ද්විපද ව්‍යාප්තිය)

මේකෙන් පෙන්නන්නේ යම්කිසි පරීක්ෂණයක් (Experiment) කීප වතාවක් කළාම, සාර්ථක ප්‍රතිඵලයක් (Success) ලැබෙන වාර ගණනක සම්භාවිතාව. හැබැයි, මේ Distribution එක පාවිච්චි කරන්න නම්, සෑම පරීක්ෂණයක්ම ස්වාධීන වෙන්න ඕනේ, ඒ වගේම ප්‍රතිඵල දෙකක් (සාර්ථක/අසාර්ථක) විතරක් තියෙන්න ඕනේ. (උදා: කාසියක් උඩ දැමීම, ඔව්/නැහැ ප්‍රශ්නවලට පිළිතුරු දීම).

ප්‍රායෝගික උදාහරණයක් (Python):

අපි හිතමු Class එකක ළමයින්ගේ උස Normal Distribution එකකට අනුව ව්‍යාප්ත වෙලා තියෙනවා කියලා. අපි ඒක Python වලින් Simulate කරලා බලමු.

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# සාමාන්‍ය උස (Mean) සෙන්ටිමීටර් 165යි, සම්මත අපගමනය (Standard Deviation) සෙන්ටිමීටර් 10යි.
mu, sigma = 165, 10  

# ළමයින් 1000ක උස Normal Distribution එකකට අනුව Generate කරමු.
sample_heights = np.random.normal(mu, sigma, 1000)

# Histograph එකක් අඳිමු.
plt.figure(figsize=(10, 6))
sns.histplot(sample_heights, kde=True, bins=30)
plt.title('සාමාන්‍ය ව්‍යාප්තියට අනුව ළමයින්ගේ උස (Normal Distribution of Heights)')
plt.xlabel('උස (සෙන්ටිමීටර්)')
plt.ylabel('සම්භාවිතාව / වාර ගණන')
plt.grid(True)
plt.show()

මේ Code එක Run කලාම, අපිට Bell Curve එකක් පේනවා. ඒකෙන් පෙන්නන්නේ ළමයි වැඩි දෙනෙක් 165cm ආසන්න උස පරාසයක ඉන්න බව. මේ වගේ Distribution රටා තේරුම් ගැනීම AI Models වලට Data Analysis, Feature Engineering, සහ Model Evaluation වලදී ගොඩක් වැදගත්.


2. Bayes' Theorem (බේයිස්ගේ ප්‍රමේයය) - විශ්වාසයන් යාවත්කාලීන කිරීම

Bayes' Theorem කියන්නේ සම්භාවිතාව (Probability) සම්බන්ධ තීරණ ගැනීමේදී ඉතාම බලවත් මෙවලමක්. මේකෙන් අපිට පුළුවන්, අලුත් තොරතුරු ලැබුණාම, දැනට තියෙන විශ්වාසයන් (Beliefs) යාවත්කාලීන (Update) කරගන්න. AI වලදී මේක ගොඩක් වැදගත් වෙන්නේ, Model එකකට අලුත් දත්ත ලැබෙනකොට, ඒ දත්ත මත පදනම්ව Model එකේ අනාවැකි හැකියාව වැඩි දියුණු කරගන්න පුළුවන් නිසා.

Bayes' Theorem එකේ Formula එක මෙහෙමයි:

P(A|B) = P(B|A) * P(A) / P(B)

මේකේ තේරුම බලමු:

  • P(A|B): මේක තමයි Posterior Probability (පශ්චාත් සම්භාවිතාව). ඒ කියන්නේ, B සිදුවුණා කියලා දැනගත්තට පස්සේ, A සිදුවීමේ සම්භාවිතාව. අපිට දැනගන්න ඕනේ මේක තමයි.
  • P(B|A): මේක Likelihood (සම්භාවිතාව). A සිදුවුණා කියලා දැනගත්තට පස්සේ, B සිදුවීමේ සම්භාවිතාව.
  • P(A): මේක Prior Probability (පෙර සම්භාවිතාව). B සිදුවෙන්න කලින්, A සිදුවීමේ මුල් සම්භාවිතාව.
  • P(B): මේක Evidence (සාක්ෂි). B සිදුවීමේ සම්භාවිතාව.

මේක සරල උදාහරණයකින් තේරුම් ගමු. අපි හිතමු, ඔයා Doctor කෙනෙක් ළඟට යනවා ලෙඩක් (Disease) තියෙනවද කියලා බලන්න. Doctor කෙනෙක් මේ Bayes' Theorem එක යොදාගන්නේ කොහොමද කියලා බලමු:

A: රෝගියාට අසනීපය තිබීම (Patient has the disease)
B: Test එක Positive වීම (Test result is positive)

  • P(A): රෝගියාට අසනීපය තියෙන්න තියෙන මුල් සම්භාවිතාව (Population එකේ අසනීපය තියෙන අයගේ ප්‍රතිශතය). (Prior Probability)
  • P(B|A): අසනීපය තියෙන කෙනෙක්ගේ Test එක Positive වෙන්න තියෙන සම්භාවිතාව (Test එකේ නිරවද්‍යතාවය). (Likelihood)
  • P(B): කෙනෙක්ගේ Test එක Positive වෙන්න තියෙන සම්භාවිතාව (අසනීපය තියෙන නැති ඕනෙම කෙනෙක්ගේ). (Evidence)
  • P(A|B): Test එක Positive වුණාට පස්සේ, රෝගියාට ඇත්තටම අසනීපය තියෙන්න තියෙන සම්භාවිතාව. (Posterior Probability)

AI වලදී, Naive Bayes Classifier වගේ Algorithms වල මේ සංකල්පය ගොඩක් භාවිතා වෙනවා, විශේෂයෙන්ම Spam Filtering, Sentiment Analysis වගේ Tasks වලට. උදාහරණයක් විදියට, ඊමේල් එකක් 'Spam' ද 'Not Spam' ද කියලා තීරණය කරන්න, ඊමේල් එකේ තියෙන වචන මත පදනම්ව මේ Theorem එකෙන් Probability ගණනය කරනවා.

සරලව කිව්වොත්, Bayes' Theorem එක අපිට උදව් කරනවා, අලුත් තොරතුරු ලැබෙනකොට අපේ තීරණ කොච්චර නිවැරදිද කියලා මනින්න.


3. Statistical Inference (සංඛ්‍යානමය අනුමාන කිරීම) - Sample වලින් Population එක තේරුම් ගැනීම

Statistical Inference කියන්නේ, අපිට තියෙන දත්ත වලින් (සාමාන්‍යයෙන් මේවා Sample එකක්, ඒ කියන්නේ විශාල Population එකකින් ගත්ත කොටසක්) මුළු Population එක ගැනම නිගමනවලට එන ක්‍රියාවලිය. ඇයි මේක වැදගත්? මොකද අපිට හැම වෙලාවෙම මුළු Population එකෙන්ම දත්ත ගන්න බැහැ (උදාහරණයක් විදියට, ලංකාවේ හැම කෙනාගෙන්ම උස ගන්න බැහැ). ඒත් අපි ගන්න Sample එකකින් Population එක ගැන හොඳ අදහසක් ගන්න පුළුවන්.

AI වලදී, Machine Learning Models Training කරන්නේ යම්කිසි Sample Data Set එකකින්. ඒ Model එකෙන් අලුත් දත්ත ගැන අනාවැකි කියනකොට, ඇත්තටම වෙන්නේ මේ Statistical Inference එකක්. ඒ Sample එකෙන් ඉගෙන ගත්තු දේ පාවිච්චි කරලා, Model එක මුළු ලෝකයේම (Population එකේම) දත්ත ගැන නිගමනවලට එනවා.

Statistical Inference වල ප්‍රධාන කොටස් දෙකක් තියෙනවා:

  • Estimation (ඇස්තමේන්තු කිරීම): මේකෙන් කරන්නේ Sample Data පාවිච්චි කරලා Population එකේ Parameter එකක් (Mean, Standard Deviation වගේ) ඇස්තමේන්තු කිරීම. (උදා: ළමයි 100ක උස මැනලා, ඒකෙන් Class එකේ ළමයින්ගේ සාමාන්‍ය උස ගැන ඇස්තමේන්තුවක් දෙන එක.)
  • Hypothesis Testing (උපකල්පන පරීක්ෂා කිරීම): මේක තමයි අපි ඊළඟට කතා කරන්නේ. මේකෙන් කරන්නේ Population එකේ Parameter එකක් ගැන තියෙන ප්‍රකාශයක් (Hypothesis එකක්) Sample Data පාවිච්චි කරලා ඇත්තද නැත්තද කියලා තීරණය කරන එක.

AI Models වල Performance Evaluate කරනකොට (Model එකක් කොච්චර හොඳට වැඩ කරනවද කියලා බලනකොට), Statistical Inference techniques පාවිච්චි කරනවා. උදාහරණයක් විදියට, අපේ Model එක අලුත් දත්ත set එකක් මත කොච්චර හොඳට වැඩ කරනවද කියලා බලනවා.


4. Hypothesis Testing (උපකල්පන පරීක්ෂා කිරීම) - දත්ත මත පදනම්ව තීරණ ගැනීම

Hypothesis Testing කියන්නේ Statistics වල තියෙන ගොඩක් වැදගත් කොටසක්. මේකෙන් අපි කරන්නේ, යම්කිසි ප්‍රකාශයක් (Hypothesis) සත්‍යද අසත්‍යද කියලා Sample Data පාවිච්චි කරලා තීරණය කරන එක. AI වලදී, විශේෂයෙන්ම A/B Testing, Model Comparison වගේ දේවල් වලට මේක අත්‍යවශ්‍යයි.

සරල උදාහරණයක් බලමු. අපි හිතමු, ඔයා Web Developer කෙනෙක්. ඔයා Website එකක Button එකක පාට නිල් පාටින් තිබ්බමද, කොළ පාටින් තිබ්බමද Users ලා වැඩිපුර Click කරන්නේ කියලා දැනගන්න ඕනේ. මෙතනදී අපිට Hypothesis Testing පාවිච්චි කරන්න පුළුවන්.

Hypothesis Testing වල පියවර:

  1. Null Hypothesis (H₀) සහ Alternative Hypothesis (H₁ or Hₐ) සකස් කිරීම:
    • Null Hypothesis (H₀): මේක තමයි අපි පරීක්ෂා කරන්න යන මූලික ප්‍රකාශය. සාමාන්‍යයෙන් මේකෙන් කියවෙන්නේ කිසිම වෙනසක් නැහැ, නැත්නම් කිසිම සම්බන්ධයක් නැහැ කියලා. අපේ උදාහරණයේදී: "නිල් පාට සහ කොළ පාට Button Click වෙන ප්‍රතිශතයේ සැලකිය යුතු වෙනසක් නැහැ."
    • Alternative Hypothesis (H₁): මේක තමයි අපිට ඔප්පු කරන්න ඕනේ ප්‍රකාශය. Null Hypothesis එකට විරුද්ධ දෙයක්. අපේ උදාහරණයේදී: "නිල් පාට සහ කොළ පාට Button Click වෙන ප්‍රතිශතය අතර සැලකිය යුතු වෙනසක් තියෙනවා."
  2. Significance Level (α) එකක් තෝරා ගැනීම:
    • මේක තමයි අපි තීරණය කරන Risk Level එක. ඒ කියන්නේ Null Hypothesis එක ඇත්තටම ඇත්ත වුණත්, අපි ඒක වැරදියට ප්‍රතික්ෂේප කරන්න (Reject) තියෙන සම්භාවිතාව. සාමාන්‍යයෙන් 0.05 (5%) හෝ 0.01 (1%) වගේ අගයක් පාවිච්චි කරනවා.
  3. Test Statistics ගණනය කිරීම:
    • අපි ගත්ත Sample Data පාවිච්චි කරලා යම්කිසි Test Statistics එකක් (Z-score, T-score, Chi-square වගේ) ගණනය කරනවා. මේකෙන් පෙන්නන්නේ අපේ Sample එක Null Hypothesis එකෙන් කොච්චර දුරස් වෙලාද කියලා.
  4. P-value එක සොයා ගැනීම:
    • P-value එක කියන්නේ, Null Hypothesis එක ඇත්තයි කියලා හිතුවොත්, අපේ Sample එක වගේ නැත්නම් ඒකට වඩා අන්ත (extreme) ප්‍රතිඵලයක් ලැබෙන්න තියෙන සම්භාවිතාව.
    • සරලව කිව්වොත්: P-value එක අඩු වෙන්න අඩු වෙන්න, Null Hypothesis එක වැරදියි කියලා කියන්න පුළුවන්කම වැඩි වෙනවා.
  5. තීරණයක් ගැනීම:
    • P-value < Significance Level (α) නම්: Null Hypothesis එක ප්‍රතික්ෂේප (Reject) කරනවා. ඒ කියන්නේ, Alternative Hypothesis එකට සහය දක්වනවා. (අපේ Button උදාහරණයේදී, Button Click වෙන ප්‍රතිශතයේ සැලකිය යුතු වෙනසක් තියෙනවා.)
    • P-value ≥ Significance Level (α) නම්: Null Hypothesis එක ප්‍රතික්ෂේප නොකරනවා (Fail to Reject). ඒ කියන්නේ, අපිට Alternative Hypothesis එක ඔප්පු කරන්න තරම් ප්‍රමාණවත් සාක්ෂි නැහැ. (Button Click වෙන ප්‍රතිශතයේ සැලකිය යුතු වෙනසක් නෑ කියන එක අපි භාරගන්නවා.)

A/B Testing (අත්දැකීම් උදාහරණය):

අපි Website එකක A/B Test එකක් කරනවා කියලා හිතමු. Users ලා දෙකට බෙදලා, Group A එකට නිල් පාට Button එකක් පෙන්නනවා, Group B එකට කොළ පාට Button එකක් පෙන්නනවා. දවස් කීපයක් Data එකතු කරලා, අපි බලනවා මේ Button දෙක Click වුණ ප්‍රතිශතය. මේකේදී අපි Hypothesis Testing පාවිච්චි කරලා තීරණය කරනවා, ඇත්තටම මේ Button පාට දෙක අතර Users Click කරන ප්‍රමාණය අතර සැලකිය යුතු වෙනසක් තියෙනවද නැද්ද කියලා.

මේ වගේ තීරණ ගන්න Hypothesis Testing අත්‍යවශ්‍යයි. AI Models develop කරනකොට, විවිධ Model Versions වල Performance සංසන්දනය කරන්න, Feature එකක බලපෑම තීරණය කරන්න වගේ දේවල් වලට මේ ක්‍රමවේදය පාවිච්චි කරනවා.


අවසන් වචනය (Conclusion)

ඉතින් යාලුවනේ, ඔයාලට දැන් තේරෙනවා ඇති AI සහ Machine Learning වලට Probability සහ Statistics කියන ගණිතමය සංකල්ප කොච්චර වැදගත්ද කියලා. අපි මේ Guide එකෙන් කතා කරපු Probability Distributions, Bayes' Theorem, Statistical Inference, සහ Hypothesis Testing කියන මේ හැම සංකල්පයක්ම AI Model එකකට ලෝකය තේරුම් ගන්න, අවිනිශ්චිත තත්ත්වයන් යටතේ නිවැරදි තීරණ ගන්න, සහ අලුත් දත්ත වලින් ඉගෙන ගන්න උදව් වෙනවා.

මේවා මුලින් සංකීර්ණ වගේ පෙනුනත්, නිතරම පුහුණු වීමෙන් සහ ප්‍රායෝගික උදාහරණ එක්ක වැඩ කිරීමෙන් මේවා පහසුවෙන් තේරුම් ගන්න පුළුවන්. AI Field එකේ සාර්ථක වෙන්න නම්, මේ මූලික ගණිතමය දැනුම ඉතාම වැදගත්. ඒක අපිට AI Model එකක් ඇයි මෙහෙම වැඩ කරන්නේ, ඒකේ දුර්වලතා මොනවද, සහ කොහොමද ඒක දියුණු කරන්නේ කියලා තේරුම් ගන්න උදව් වෙනවා.

මතක තියාගන්න, AI කියන්නේ මැජික් එකක් නෙවෙයි, ඒක ගණිතය සහ දත්ත විද්‍යාවේ (Data Science) ප්‍රතිඵලයක්. ඉතින්, තවදුරටත් මේ සංකල්ප ගැන ඉගෙන ගන්න, පොඩි පොඩි Project කරන්න උත්සාහ කරන්න. ඔයාලගේ AI Learning Journey එකට මේ Guide එක උදව්වක් වෙන්න ඇති කියලා මම හිතනවා.

ඔයාලගේ අත්දැකීම්, ප්‍රශ්න, හෝ මේ ගැන අදහස් පහත Comment section එකේ දාන්න. අපි කතා කරමු! ජය වේවා!