𝐈𝐧𝐟𝐢𝐧𝐢𝐭𝐲 𝐂𝐒
200 subscribers
122 photos
1 video
3 files
34 links
Your daily source for Artificial Intelligence (AI), Machine Learning (ML), Deep Learning, and Computer Science trends. We share coding resources, projects, tech news, and updates.

#Infinitycs
Download Telegram
𝐈𝐧𝐟𝐢𝐧𝐢𝐭𝐲 𝐂𝐒
Photo
Article 12: Data Preprocessing & Feature Engineering - දත්ත සකස් කිරීම ⚙️


මේ පියවර තමයි ඔයාගේ Machine Learning මොඩල් එකක සාර්ථකත්වය තීරණය කරන ප්‍රධානම සාධකය. Data Cleaning වලට පස්සේ ඒ දත්ත මැෂින් එකකට තේරුම් ගත හැකි සහ ගණිතමය වශයෙන් ගැලපෙන ආකාරයට හැඩගැස්වීම මෙතනදී සිදු වෙනවා. ඒ ක්‍රියාවලිය කොටස් කීපයකට බෙදන්න පුළුවන්, 🧪

1. Feature Scaling (දත්ත සමාන පරිමාණයකට ගැනීම) ⚖️

Machine Learning Algorithms වැඩි හරියක් වැඩ කරන්නේ ගණිතමය දුර (Distance) මැනීම මත. අපි මෙහෙම හිතමු, අපේ Dataset එකේ වයස (අවුරුදු 0-100) සහ ආදායම (රුපියල් 50,000-500,000) කියලා columns දෙකක් තියෙනවා නම් model එක හිතන්නේ ආදායම කියන column එක වඩා වැදගත් කියලා මොකද ඒකෙ අගයන් විශාල නිසා. මේකට තියෙන විසදුම තමා මේ දත්ත දෙකම එකම පරාසයකට (උදා: 0 සිට 1 දක්වා) අරගෙන එන එක. මේකට ප්‍රධාන ක්‍රම දෙකක් තියෙනවා,

● Normalization (Min-Max Scaling) - දත්ත සියල්ල 0 සහ 1 අතර පරාසයකට පත් කරන එක. Image Processing වලදී මේක ගොඩක් පාවිච්චි කරනවා. 📉🖼

● Standardization (Z-score Normalization) - දත්තවල සාමාන්‍ය අගය (Mean) 0 කරලා, සම්මත අපගමනය (Standard Deviation) 1ක් වෙන විදියට හදනවා. ගොඩක් ML ඇල්ගොරිතම් වලට සුදුසුම ක්‍රමය මේක. 📊

2. Encoding Categorical Data (අකුරු ඉලක්කම් වලට හැරවීම) 🤔💭

Model එකකට "Colombo", "Kandy", "Galle" වගේ වචන තේරෙන්නේ නැ. ඒවා ඉලක්කම්වලට හරවන්න ක්‍රම දෙකක් තියෙනවා,

● Label Encoding - අකුරුවලට අනුපිළිවෙලක් තියෙනවා නම් (උදා: Low=0, Medium=1, High=2) මෙය පාවිච්චි කරනවා.
● One-Hot Encoding - අකුරුවලට විශේෂ අනුපිළිවෙලක් නැත්නම් (උදා: නගරවල නම්), එක් එක් නගරය සඳහා වෙනම column එකක් හදලා 0 සහ 1 ලෙස සලකුණු කරනවා.

3. Feature Selection (වැදගත්ම දේ තෝරා ගැනීම) 🎯

අපිට තියෙන හැම දත්තයක්ම මොඩල් එකට වැඩක් වෙන්නේ නැහැ. උදාහරණයක් විදියට ගෙදරක මිල අනුමාන කරද්දී ගෙදර පාට කියන එකට වඩා වර්ග අඩිය සහ කාමර ගණන වගේ දේවල් වැදගත් වෙනවා. අනවශ්‍ය දත්ත ඉවත් කිරීමෙන් මොඩල් එක වේගවත් වෙනවා වගේම ැඑක ඕනෑවට වඩා සංකීර්ණ වෙන එක (Overfitting) වළක්වා ගන්න පුලුවන්. 🔍🛠🧹

4. Feature Engineering (අලුත් දත්ත නිර්මාණය)
🎨🏗

මේක තමයි ML Engineer කෙනෙකුගේ නිර්මාණශීලීත්වය පෙන්වන තැන. තියෙන දත්තවලින් වඩාත් අර්ථවත් දත්තයක් අලුතින් හදාගැනීම මේකෙන් අදහස් කරනවා. උදාහරණයක් විදියට, අපිට login time සහ logout time තියෙනවා නම් ඒ දෙක අඩු කරලා Duration කියන අලුත් feature එක හදාගන්න පුළුවන්. 💡

5. Handling Imbalanced Data (අසමතුලිත දත්ත පාලනය) ⚖️🚨

සමහර වෙලාවට අපේ දත්තවල එක පැත්තක් වැඩියි. උදාහරණයක් විදියට බැංකු වංචා (Fraud detection) dataset එකක 99% ක්ම හොඳ ගනුදෙනු වන අතර වංචා තියෙන්නෙ 1% ක් වගේ. Model එකට මේ 1% අඳුරගන්න අමාරුයි. මෙ වගේ වෙලාවට SMOTE වගේ තාක්ෂණයන් පාවිච්චි කරලා අඩු දත්ත ප්‍රමාණය කෘතිමව වැඩි කරනවා. 🕵️‍♂️🤖🔄


හොඳ Preprocessing step එකක් කියන්නේ model එකට ඉගෙන ගන්න ලේසි පිරිසිදු පාරක් හදලා දෙනවා වගේ වැඩක්. මේ පියවර නිවැරදිව කළොත් සරල මොඩල් එකකින් වුණත් ඉතා හොඳ ප්‍රතිඵල ගන්න පුළුවන්. ඊලග ආටිකල් එකෙන් ( (Article 13) අපි පටන් ගන්නේ Phase 5: Machine Learning Core. එතනදී අපි බලමු ML වල තියෙන ප්‍රධාන learning methods එකිනෙකට වෙනස් වෙන්නේ කොහොමද කියලා. 🧠⏭️ 🙊😁

✍️ @TheInfinityAI
3
This media is not supported in your browser
VIEW IN TELEGRAM
👾1
𝐈𝐧𝐟𝐢𝐧𝐢𝐭𝐲 𝐂𝐒
Photo
Article 13: Machine Learning යනු කුමක්ද සහ ප්‍රධාන වර්ග 🤖


Machine Learning (ML) කියන්නේ පරිගණකයකට පැහැදිලිවම උපදෙස් (Explicit Programming) නොදී දත්ත ඇසුරෙන් තනියම ඉගෙන ගැනීමට සහ තීරණ ගැනීමට හැකියාව ලබා දීමයි. ML ප්‍රධාන ආකාර 5කට බෙදන්න පුළුවන් 💻🧠

1. Supervised Learning 👨‍🏫🍎

මේක හරියට ගුරුවරයෙක් යටතේ ඉගෙන ගන්නවා වගේ දෙයක්. අපි මොඩල් එකට දත්ත (Input) වගේම ඒකට අදාළ නිවැරදි උත්තරත් (Label) ලබා දෙනවා. (Regression සහ Classification.)

2. Unsupervised Learning 🔍🕵️‍♂️

මේකෙදී අපි මොඩල් එකට උත්තර දෙන්නේ නැහැ. මොඩල් එක කරන්නේ දත්ත අතර තියෙන සමානකම් සහ රටාවන් (patterns) තනියම හොයාගෙන ඒවා කාණ්ඩ කරන එක.

3. Semi-supervised Learning 🧪⚖️


මේක Supervised Learning සහ Unsupervised Learning ක්‍රම දෙකේම මිශ්‍රණයක්. අප ලග තියෙන දත්තවලින් කොටසකට විතරක් labels තියෙන අවස්තාවල මේක පාවිච්චි කරනවා.

5. Reinforcement Learning 🎮🏆

මෙය හරියට වීඩියෝ ගේම් එකක් ගහන්න ඉගෙන ගන්නවා වගේ වැඩක්. model එක යම් ක්‍රියාවක් සිදු කලාම ඒක නිවැරදි නම් Rewards සහ වැරදි නම් Penalties ලැබෙනවා. ඒ අනුව model එක කාලයත් සමඟ හොඳම තීරණ ගන්න ඉගෙන ගන්නවා.

අපි Python වලින් ML කරද්දී වැඩිපුරම පාවිච්චි කරන්නේ Scikit-learn කියන library එක. ඕනම ML Project එකක තිබිය යුතු සම්මත පියවර කිහිපයක් තියෙනවා,

● Data Loading - Pandas හරහා data set එක මොඩල් එකට ලබා දීම.
● Train-Test Split - අපේ data වලින් කොටසක් (සාමාන්‍යයෙන් 80%) මොඩල් එක Train කරන්න සහ ඉතිරි කොටස මොඩල් එක test කරන්න යොදාගන්නවා.
● Model Selection - Data වල ස්වභාවය අනුව ගැලපෙන algorithm එකක් තෝරා ගැනීම.
● Tuning (Hyperparameter Tuning) - මොඩල් එකේ තියෙන විවිධ Settings වෙනස් කරමින් accuracy වැඩි කිරීම.
● Prediction - අවසානයේදී අලුත් දත්ත ලබා දීලා මොඩල් එක හරහා අනුමාන ලබා ගැනීම.

අපි ML වල theoritical base එක සාර්ථකව අවසන් කරලා ඉන්නේ. 🎉🎓 ඊලග ආටිකල් එකෙන් (Article 14) අපි පටන් ගන්නේ Phase 6: Supervised Learning (Deep Dive). එතනදී අපි බලමු Classification යටතේ තියෙන KNN, Logistic Regression සහ SVM වැඩ කරන්නේ කොහොමද කියලා. 🧠⏭️ 🙊😁

✍️ @TheInfinityAI
3
🎓 Student-Only Offer – Important Notice 🎓

To claim it successfully, you must use a valid student email address 📧 or complete the student status verification process

📩 After registering, please check your email carefully for the claim instructions.
This offer is limited & time-sensitive, so redeem it as soon as you receive the email.
⚠️ Don’t forget to check your Spam / Junk folder as well.


🔗 Official student offer details: Click here

🤝 If you face any issues with student email access, verification, or the claiming process, feel free to reach out. 👉@Hasindu_Lakshan

🚀 Don’t miss out — claim your offer early!

@TheInfinityAI
3
1
Classification කියන්නේ දේවල් කාණ්ඩ වලට බෙදන එක. මේක Supervised Learning වල තියෙන ප්‍රධානම කොටසක්. මෙතනදී අපි කරන්නේ අලුතින් ලැබෙන දත්තයක් (Data point) කලින් හඳුනාගත් කාණ්ඩයකට (Class/Category) අයිති කරන්නේ කොහොමද කියලා මොඩල් එකට උගන්වන එකයි.

Article 14: K-Nearest Neighbours (KNN) – Let’s learn from neighbours 🏘🤝


KNN කියන්නේ Machine Learning වල තියෙන සරලම ඒත් හරිම බලසම්පන්න algorithm එකක්. මේකේ විශේෂත්වය තමයි මේක Lazy Learner කෙනෙක් වීම. ඒ කියන්නේ මෙයා කලින්ම මොඩල් එකක් හදලා තියාගන්නේ නැහැ, අලුත් දත්තයක් ආපු වෙලාවට විතරයි වැඩ පටන් ගන්නේ. මේකේ තියෙන Intuition එක මොකද්ද? මේක සරලව තේරුම් ගමු. ඔයා අලුත් පළාතකට පදිංචියට ගියොත් ඒ පැත්තේ මිනිස්සු මොන වගේද කියලා දැනගන්නේ ඔයාගේ ගේ වටේ ඉන්න අසල්වැසියෝ කීප දෙනෙක් (K=5) දිහා බලලනේ. අන්න ඒ වගේ තමයි KNN. අලුත් data point එකක් ආවම ඒකට ලඟින්ම ඉන්න අසල්වැසියෝ k ප්‍රමාණයක් බලලා ඒ වැඩි දෙනෙක් අයිති කාණ්ඩයට අලුත් එකත් දානවා. 😴⚡️🗳

01. The Mathematical Foundation - KNN වැඩ කරන්නේ සම්පූර්ණයෙන්ම දුර මැනීම මතයි. 📐🔢

I. Minkowski Distance (General equation) - අපි හැමෝම දන්න පයිතගරස් ප්‍රමේයයෙන් එන Euclidean දුර කියන්නේ ඇත්තටම Minkowski distance එකේ විශේෂ අවස්ථාවක්.

D(x,y) = (∑ᵢᷠ₌₁ ∣ xᵢ − yᵢ ∣ ᵖ)⁽¹/ᵖ⁾ (සමීකරණේ පැහැදිලි නැත්නම් මෙතනින් බලන්න)

p = 1 වෙද්දි මේක Manhattan Distance (L1 Norm) වෙනවා.
p = 2 වෙද්දි මේක Euclidean Distance (L2 Norm) වෙනවා.

II. Hamming Distance - ප්‍රොජෙක්ට් වලදී වචන (Categorical data) අතර වෙනස මනින්න පාවිච්චි කරන්නේ මේක. මේකෙන් බලන්නේ අගයන් දෙකක් එකිනෙකට වෙනස් වන ස්ථාන ගණන.

02. Engineering Challenges & Advanced Optimisation 🏗⚙️

දැන් අපි බලමු ඇත්තම KNN පාවිච්චි කරද්දී මුහුණ දෙන ප්‍රශ්න සහ ඒවා විසඳන හැටි.

I. The Curse of Dimensionality - දත්ත වල තීරු (Features/Dimensions) ගණන වැඩි වෙද්දී ලග කියන සංකල්පය නැති වෙලා යනවා. මොකද හැම දත්තයක්ම එකිනෙකෙන් හුඟක් ඈතින් පිහිටන නිසා. මේක විසඳන්න අනිවාර්යයෙන්ම PCA (Dimensionality Reduction) වගේ තාක්ෂණයක් පාවිච්චි කරලා වැදගත්ම features ටික විතරක් ඉතිරි කරගන්න ඕනේ.

II. Feature Scaling - මේක අනිවාර්ය පියවරක්. KNN සම්පූර්ණයෙන්ම දුර මත පදනම් වන නිසා අගයන් විශාල දත්ත (උදා: ආදායම) අගයන් කුඩා දත්ත (උදා: වයස) වලට වඩා බලපෑමක් කරනවා. ඒ නිසා Standardization (Z-score scaling) මගින් දත්ත සියල්ලම එකම මට්ටමකට ගෙන ඒම අනිවාර්යයි.

III. Speed Optimization (KD-Trees & Ball Trees) - දත්ත මිලියන ගණනක් තියෙද්දි හැම එකකටම දුර මනින එක (O(n)) time wasting. ඒ නිසා අපි data store කරන්නේ Trees ව්‍යුහයන් වල.
● KD-Tree - data ටික dimension කිපයක් අනුව බෙදලා වෙන් කරනවා.
● Ball Tree - data වලට dimension ගොඩක් තියෙන අවස්ථාවලදී (High dimensions) වඩාත් කාර්යක්ෂමයි.

03. Choosing the K: Hyperparameter Tuning 🎯🔧

K අගය තෝරා ගැනීම හරිම වැදගත්.
● Small K (e.g., K=1) - මේකේදී Noise වලට හුඟක් සංවේදීයි (Overfitting).
● Large K - මේකෙදී patterns මග හැරෙන්න පුළුවන් (Underfitting).

හොඳම K අගය හොයාගන්න අපි Square root of N (දත්ත ගණන) පාවිච්චි කරනවා නැත්නම් Cross-validation හරහා check කරලා බලනවා.

අද අපි KNN සංකල්පයේ ඉදලා KD-Trees සහ Minkowski distance වගේ maths කොටස් දක්වාම කතා කළා. 🎓 ඊලග ආටිකල් එකෙන් (Article 15) අපි කතා කරන්නේ probability base කරගත්තු algorithm එකක් වෙන Logistic Regression ගැන. 📉🧠 🙊😁

✍️ @TheInfinityAI
2
Article 15: Logistic Regression – Make decisions with probability 📈🎲


මුලින්ම මේ නම ගැන පොඩි පැහැදිලි කිරීමක් කරන්න ඕනේ. මේකේ නමට Regression කෑල්ලක් තිබුණට මේක පාවිච්චි කරන්නේ Classification සඳහා. මේකේ පදනම වැටෙන්නේ Statistics සහ Probability මත. මේකේ Intuition එක මොකද්ද කියලා සරලව තේරුම් ගමු. අපි මෙහෙම හිතමු, ඔයාට ලැබෙන මැසේජ් එකක් Scam එකක්ද නැද්ද කියලා තීරණය කරන්න Probability ඕනේ වෙනවා. උදාහරණයක් විදිහට මැසේජ් එකක් Scam එකක් වෙන්න තියෙන ඉඩ 0.85 (85%) ක් නම් අපිට කියන්න පුළුවන් ඒක Scam එකක් කියලා. 0.5 ට වඩා අඩු නම් ඒක Legit මැසේජ් එකක්. 📧⚖️

01. The Sigmoid Function 📉

අපි Linear Regression වලදී ඉගෙන ගත්ත y = mx + c සමීකරණයෙන් ඕනෑම අගයක් ලැබෙන්න පුළුවන් (-∞ සිට +∞ දක්වා). හැබැයි Probability එක තියෙන්න ඕනේ 0 සහ 1 අතර විතරයි. අන්න ඒ නිසයි අපි Sigmoid (Logistic) Function එක පාවිච්චි කරන්නේ.

σ(z) = (1 / (1 + e⁻ᶻ))

මෙතැනදී z = β₀ + β₁x₁ + … + βₙxₙ වෙනවා. ඕනම විශාල හෝ කුඩා z අගයක් මේ function එක ඇතුළට දැම්මම ඒක 0 සහ 1 අතර අගයකට squash වෙනවා.

02. The Mathematical Deep Dive 🧬🧮

දැන් අපි බලමු ඇයි අපි මේකට සාමාන්‍ය Linear Regression වල පාවිච්චි කරන Mean Squared Error (MSE) පාවිච්චි නොකරන්නේ කියලා. 🤔

I. Why not MSE? 🎢

Logistic Regression වලදී MSE පාවිච්චි කළොත් ලැබෙන Cost Function එක Non-Convex එකක් වෙනවා. ඒ කියන්නේ ඒකේ ගොඩක් Local Minima තියෙන්න පුළුවන්. එතකොට Gradient Descent වලට නියම Global Minimum එක හොයාගන්න බැරිව හිර වෙන්න පුළුවන්.(තේරුනේ නෑ නේද? ඉන්න පැහැදිලි කරන්නම්)

👉 Minima කියන්නේ Cost එක එහෙමත් නැත්නම් Error එක අඩුම තැන. Local Minima කියන්නේ අපි සලකන සම්පූර්ණ surface එකේ පොඩි ප්‍රදේශයක තියෙන ගැඹුරුම තැන. Global Minimum කියන්නේ සම්පූර්ණ surface එකම බලද්දී ලැබෙන අඩුම තැන. එතකොට Gradient Descent කියන්නේ Error එක අඩුවෙන දිශාවට step by step යන algorithm එක.

දැන් මොකද්ද Problem එක? Gradient Descent algorithm එක Local Minima එකකට ගියොත්, Gradient = 0 වෙනවා එතකොට Algorithm එක හිතනවා “අහ්, minimum එක හම්බුණා” කියලා, එත් ඒක Global Minimum නෙවෙයි කියලා algorithm එක දන්නේ නෑ. 🛑

එක නිසා Logistic Regression වලදී MSE පාවිච්චි කළොත් Cost Function එක Non-Convex වෙනවා. Non-Convex senario එකකදී Local Minima ගොඩක් තියෙන නිසා Gradient Descent එක Local Minima එකක හිර වෙලා True Global Minimum එක miss වෙනවා.

II. Binary Cross-Entropy (Log-Loss) 🪵📉

මේ ප්‍රශ්නය විසඳන්න අපි පාවිච්චි කරන්නේ Log-Loss function එක. මේක පදනම් වෙන්නේ Maximum Likelihood Estimation (MLE) කියන Statistical concept එක මත.

J(θ) =− (1 / m)∑ᵢͫ₌₁[y⁽ⁱ⁾log(ŷ⁽ⁱ⁾) + (1 − y⁽ⁱ⁾)log(1 −ŷ⁽ⁱ⁾)] (සමීකරණේ පැහැදිලි නැත්නම් මෙතනින් බලන්න)

● y = 1 නම් (උදා: Scam) පළවෙනි කොටස විතරක් වැඩ කරනවා.
● y = 0 නම් (උදා: Legit) දෙවෙනි කොටස විතරක් වැඩ කරනවා.
● මැෂින් එක වැරදි අනුමානයක් කළොත් මේ function එක හරහා ලැබෙන Loss එක ඉතා විශාල වෙනවා.

03. Regularization - Let's control overfitting 🛡⚙️

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

● L1 Regularization (Lasso) - සමහර අනවශ්‍ය features වල weights බින්දුව කරනවා. (Feature selection වලට වැදගත්).

● L2 Regularization (Ridge) - weights වල අගයන් කුඩා කරලා මොඩල් එකේ සංකීර්ණ බව අඩු කරනවා.

04. Decision Boundary 📏🛣

අපි සම්භාවිතාව 0.5 ට වඩා වැඩිනම් එක පැත්තකටත් අඩුනම් අනිත් පැත්තකටත් දානවා. ඒ මැදින් ඇඳෙන රේඛාව තමයි Decision Boundary එක. Logistic Regression වලදී මේ මායිම නිතරම Linear එකක් වෙනවා.

අද අපි කතා කළේ දත්තයක සම්භාවිතාව හොයලා ඒක වර්ගීකරණය කරන හැටි. 🎓 ඊලග ආටිකල් එකෙන් (Article 16) අපි කතා කරන්නේ සංකීර්ණ දත්ත වෙන් කරන්න පුළුවන් Support Vector Machines (SVM) ගැන. 🧠⏭️ 🙊😁

✍️ @TheInfinityAI
3
Article 16: Support Vector Machines (SVM) – Maximum Gap Classification 🛡⚖️


SVM වල මූලික අරමුණ වෙන්නේ කාණ්ඩ දෙකක් වෙන් කරන කොට ඒ දෙක අතර තියෙන හිස් අවකාශය එහෙමත් නැත්නම් Margin එක උපරිම වන විදිහට මායිම් රේඛාව අදින එක. මුලින්ම මෙකේ Intuition එක මොකද්ද කියලා සරලව තේරුම් ගමු. හිතන්න පාරක දෙපැත්තේ කඩවල් තියෙනවා කියලා. අපිට ඕනේ පාර මැදින් ඉරක් අඳින්න. හැබැයි ඒ ඉර දෙපැත්තේම තියෙන කඩවල් වලට ගෑවෙන්නේ නැති වෙන්න පුළුවන් තරම් ලොකු පරතරයක් තියෙන විදිහට. අන්න ඒ පරතරය තමයි Margin එක. ඒ පරතරය තීරණය කරන්න උදව් වෙන පාරට කිට්ටුවෙන්ම තියෙන කඩවල් වලට අපි කියනවා Support Vectors කියලා.

01. The Mathematical Part 🧬🔢

දැන් අපි බලමු SVM වලින් ඇත්තටම මේ පරතරය උපරිම කරන්නේ කොහොමද කියලා.

I. The Hyperplane Equation
📍

අපි වෙන් කරන මායිම (Hyperplane) මෙහෙම ලියන්න පුළුවන්,

wᵀx + b = 0

මේකේ w කියන්නේ Weight vector එකක්. b කියන්නේ Bias එක. අපේ Margin එක වෙන්නේ 2/w අගයයි. මේක උපරිම කරන්න නම් අපිට w අගය අවම (Minimize) කරන්න වෙනවා.

II. Hard Margin vs Soft Margin (C Parameter) 🚦

Hard Margin - දත්ත අතර කිසිම වැරදීමකට ඉඩ දෙන්නේ නැ. හැබැයි ප්‍රායෝගික ලෝකයේදී දත්ත මිශ්‍ර වෙලා තියෙන්න පුළුවන්.

Soft Margin - මෙතැනදී අපි Slack Variables පාවිච්චි කරනවා. මෙතැනදී C parameter එක හරිම වැදගත්. High C වැරදි වලට ඉඩ දෙන්නේ නැහැ (Overfitting වෙන්න පුළුවන්). Low C ලොකු පරතරයක් ගන්න උත්සාහ කරනවා (Generalization හොඳයි).

02. The Kernel Trick 🪄🌀

සමහර වෙලාවට දත්ත සරල රේඛාවකින් (Linear) වෙන් කරන්න බැහැ. උදාහරණයක් විදිහට රවුමක් ඇතුලේ තියෙන දත්ත සහ ඒ වටේ තියෙන දත්ත වෙන් කරන්න බැහැ. මෙන්න මෙතැනදී SVM එක කරන්නේ ඒ දත්ත 2D තලයක ඉදලා 3D හෝ ඊට වඩා වැඩි මානයකට (Higher Dimension) ගෙන යන එක. එතකොට අපිට පුළුවන් ඒවා මැදින් තලයක් (Plane) දාලා වෙන් කරන්න.

● Polynomial Kernel - දත්ත වල බලයන් (Squares/Cubes) පාවිච්චි කරලා වෙන් කරනවා.
● RBF (Radial Basis Function) - මේකෙන් දත්ත අනන්ත මානයකට (Infinite Dimensions) මැප් කරනවා. මේකේ තියෙන Gamma අගය මගින් එක් දත්ත ලක්ෂ්‍යයක බලපෑම කොච්චර දුරකට තියෙනවද කියලා තීරණය කරනවා.

Support Vector Machines (SVM) කියන්නේ හුදෙක් data category දෙකක් මැදින් ඉරක් ඇඳලා වෙන් කරනවාට වඩා ඒ category දෙක අතර තියෙන වෙනස Maximize කරන්න උත්සාහ කරන ඉතාමත් බුද්ධිමත් algorithm එකක්. මේකේ මූලිකම සිද්ධාන්තය වෙන්නේ Maximum Margin Classifier ලෙස ක්‍රියා කරන එක. ඒ කියන්නේ data category දෙක වෙන් කරන ප්‍රධාන රේඛාව හෙවත් Hyperplane එක අදිද්දී ඒ රේඛාවට දෙපැත්තෙන් තියෙන data points අතර පවතින Margin එක උපරිම අගයක තබා ගන්න එක තමා මේකේ අරමුණ. 🎯

ඊළඟ ආටිකල් එකෙන් (Article 17) අපි කතා කරන්නේ අපේ Supervised Learning පියවරේ තවත් වැදගත්ම කොටසක් වන Regression වල තියෙන දියුණු මට්ටම් (Polynomial, Lasso, Ridge) ගැන. 📈⏭️ 🙊😁

✍️ @TheInfinityAI
3