ბიბლიოთეკა
00/07 · ~34 წთ
GUIDEDECK · ინჟინრებისთვის, ვინც პირველად ხვდება ML-ს

მანქანური სწავლების
საფუძვლები —
კანონზომიერებები, არა წესები.

34-წუთიანი სამუშაო სესია იმ იდეებზე, რომლებიც ყველა ML სისტემას უდევს საფუძვლად: როგორ სწავლობს მოდელი მონაცემებიდან ხელით დაწერილი წესების ნაცვლად, ალგორითმების ძირითადი ოჯახები, როგორ წვრთნით და აფასებთ მოდელს — და გულწრფელი შეკითხვა: როდის არის ML არასწორი ინსტრუმენტი.

~34 წთდამწყები → საშუალოენისგან დამოუკიდებელი + Python
გადაახვიეთ
01 · რა არის მანქანური სწავლება 4 წთ

წესები მონაცემებიდან ისწავლეთ —
ხელით ნუ დაწერთ მათ.

ჩვეულებრივ პროგრამირებაში წესებს თქვენ წერთ და კომპიუტერი მათ ასრულებს. მანქანური სწავლება ამას აბრუნებს: თქვენ აძლევთ მაგალითებს — შემავალ მონაცემებს და იმ პასუხებს, რომლებიც გინდათ — და ის თავად პოულობს წესს, რომელიც მათ აკავშირებს. შედეგი არის მოდელი, რომელიც ახალ, უნახავ მონაცემებზე შეგიძლიათ გაუშვათ.

მანქანური სწავლება — პროგრამები, რომლებიც ამოცანაში უმჯობესდებიან მონაცემებიდან კანონზომიერებების სწავლით და არა ადამიანის აკრეფილი წესების შესრულებით. თქვენ აძლევთ ლეიბლიან ან ნედლ მაგალითებს; წვრთნის პროცესი ეძებს მოდელს, რომელიც შემავალ მონაცემებს გამომავალზე ასახავს; შემდეგ ამ მოდელს იყენებთ იმ მონაცემებზე პროგნოზისთვის, რომლებიც მას არასოდეს უნახავს. მთელი ფსონი განზოგადებაა — რომ წარსულიდან ნასწავლი კანონზომიერებები მომავალშიც გამოდგება.

იგივე ნაწილები, შებრუნებული ისრები: კლასიკური კოდი მოიხმარს წესებს; ML კი მათ მონაცემებისა და პასუხებისგან აწარმოებს.

აზროვნების გადართვა

  • აღარ ეკითხებით „რომელი წესი დავწერო?“ და იწყებთ კითხვას „რომელი მონაცემები აჩვენებს კანონზომიერებას?“
  • მოდელი ზუსტად იმდენად კარგია, რამდენადაც მისი მონაცემები — „ნაგავი შედის, ნაგავი გამოდის“ აქ ლოზუნგი არაა, ეს ჩავარდნის მთავარი მიზეზია.
  • ის სტატისტიკურია და არა ზუსტი. მოდელი სავარაუდო პასუხებს გცემთ ცდომილებით და არა გარანტიებს.
  • წარმატება იზომება იმ მონაცემებზე, რომლებიც არასოდეს უნახავს, და არა იმ მაგალითებზე, რომლებზეც იწვრთნებოდა.
ხელით დაწერილი წესები — მყიფე
// hand-written rules — endless edge cases
function isSpam(email: string): boolean {
  if (email.includes("free money")) return true
  if ((email.match(/!/g) ?? []).length > 5) return true
  return false // spammers adapt → you patch forever
}
ნასწავლი მოდელი — ეგუება
// learn the pattern from labeled examples
import { LogisticRegression } from 'ml-logistic-regression'
const model = new LogisticRegression()
model.train(xTrain, yTrain)   // X = features, y = spam?
model.predict(newEmail)        // generalizes to unseen spam

გულწრფელი შეკითხვა: როდის არის ML არასწორი ინსტრუმენტი

ML ნაგულისხმევი არჩევანი არაა. ის ამატებს მონაცემთა პაიპლაინებს, წვრთნის ღირებულებას, დრიფტს და გაუმჭვირვალობას. აირჩიეთ ჩვეულებრივი წესები ან საძიებო ცხრილი, როცა:

  • წესი ცნობილი და სტაბილურია — საგადასახადო საფეხურები, პაროლის სიგრძე, ბიზნესის პოლიტიკა. უბრალოდ დაწერეთ if.
  • მონაცემები ცოტა გაქვთ ან საერთოდ არ გაქვთ — მაგალითების გარეშე სასწავლი არაფერია.
  • შეცდომები დაუშვებელია ან უნდა აიხსნას — მოდელი ალბათობებს გცემთ და არა მტკიცებულებებს; ზოგიერთ გადაწყვეტილებას აუდიტირებადი წესი სჭირდება.
  • მარტივი ევრისტიკა უკვე მუშაობს. „მონიშნე $10k-ზე მეტი შეკვეთები“ შეიძლება სჯობდეს მოდელს, რომელსაც ღამის 2 საათზე ვერავინ გამართავს.

მთავარი წესი  მიმართეთ ML-ს, როცა წესები ძალიან ბევრი, ძალიან ბუნდოვანი ან მუდმივად ცვალებადია ხელით დასაწერად — სპამის ამოცნობა, შედეგების რანჟირება, მოთხოვნის პროგნოზირება.

02 · მიმოხილვა 5 წთ

სამი გზა, როგორ შეიძლება
მანქანა სწავლობდეს.

კლასიკურ ML-ში თითქმის ყველაფერი სამი მოწყობიდან ერთ-ერთში ჯდება, რომელთაც განსაზღვრავს ის, როგორ უკუკავშირს იღებს მოდელი სწავლისას: სრულ პასუხებს, არანაირ პასუხს თუ ჯილდოებს.

მასწავლებლით

სწავლა ლეიბლიანი პასუხებიდან

ყოველ საწვრთნელ მაგალითს თან ახლავს სწორი პასუხი (ლეიბლი). მოდელი სწავლობს ასახვას features → label, შემდეგ კი ახალი შემავალი მონაცემებისთვის პროგნოზირებს ლეიბლებს.

  • ამოცანები: რეგრესია (რიცხვი) & კლასიფიკაცია (კატეგორია).
  • მაგალითები: სპამის ამოცნობა, ფასის პროგნოზი, საკრედიტო ქულა.
  • საჭიროა: ლეიბლიანი მონაცემები — ხშირად სწორედ ეს არის ძვირი.
უმასწავლებლოდ

სტრუქტურის პოვნა ლეიბლების გარეშე

მოდელს აძლევთ ნედლ მონაცემებს პასუხების გარეშე და სთხოვთ, თავად იპოვოს სტრუქტურა — ბუნებრივი ჯგუფები ან უფრო მარტივი წარმოდგენა.

  • ამოცანები: კლასტერიზაცია & განზომილებების შემცირება.
  • მაგალითები: მომხმარებელთა სეგმენტები, ანომალიების აღმოჩენა, თემების გამოვლენა.
  • ხაფანგი: სწორი პასუხი არ არსებობს, ამიტომ „კარგის“ განსაზღვრა უფრო რთულია.
განმტკიცებითი

სწავლა ცდით & ჯილდოთი

აგენტი გარემოში ასრულებს ქმედებებს და იღებს ჯილდოს ან ჯარიმას. მრავალი ცდის შემდეგ ის სწავლობს პოლიტიკას, რომელიც გრძელვადიან ჯილდოს მაქსიმალურად ზრდის.

  • ამოცანები: თანმიმდევრული გადაწყვეტილებები & მართვა.
  • მაგალითები: თამაშები, რობოტიკა, RLHF, რომელიც ჩატბოტებს ასწორებს.
  • ხაფანგი: ბევრ მონაცემს მოითხოვს და სტაბილურობის მიღწევა რთულია.

მასწავლებლით სწავლების ნაკადი: ლეიბლიანი მაგალითები ერთხელ წვრთნის მოდელს; შემდეგ ის სულ ახალ შემავალ მონაცემებს ანიჭებს ლეიბლს.

როგორ განვასხვავოთ ისინი

  • ლეიბლები გაქვთ? → მასწავლებლით სწავლება. ყოველ სტრიქონს სწორი პასუხი აქვს მიბმული.
  • ლეიბლები არ არის, ჯგუფები გინდათ? → მასწავლებლის გარეშე. თქვენ სტრუქტურას იკვლევთ.
  • აგენტი დროში მოქმედებს ჯილდოსთვის? → განმტკიცებითი სწავლება.
  • შუალედური ვარიანტი, ნახევრად მასწავლებლით, რამდენიმე ლეიბლს ურევს უამრავ ულეიბლო მონაცემს, როცა მონიშვნა ძვირია.

პროდაქშენში ყველაზე ხშირად მასწავლებლით სწავლებას შეხვდებით — ამიტომ დანარჩენი მასალაც იქითკენ იხრება.

03 · ამოცანები და ალგორითმები 7 წთ

სამი ამოცანა და რამდენიმე
სანდო ალგორითმი.

ამოცანა არის ის, რასაც პროგნოზირებთ; ალგორითმი — როგორ. გადაათვალიერეთ სამი ძირითადი ამოცანა, შემდეგ კი გადაავლეთ თვალი იმ ალგორითმების ცნობარს, რომლებიც ყოველდღიურ ცხრილოვან მონაცემებზე ამართლებენ.

რეგრესია — უწყვეტი რიცხვის პროგნოზი

import { SimpleLinearRegression } from 'ml-regression'
const model = new SimpleLinearRegression(xTrain, yTrain)
model.predict(xNew)
// → a number: price, temperature, demand…
feature →

გაატარეთ წრფე (ან მრუდი) მონაცემებში; ნებისმიერი ახალი შემავალი მონაცემისთვის წაიკითხეთ რიცხვი.

როდის გამოვიყენოთ
პასუხი რაოდენობაა — სახლის ფასი, მიტანის დრო, მომავალი კვირის გაყიდვები.
ძირითადი ალგორითმები
ჯერ წრფივი რეგრესია; გრადიენტული ბუსტინგი, როცა კავშირები არაწრფივია.

კლასიფიკაცია — კატეგორიის პროგნოზი

import { RandomForestClassifier } from 'ml-random-forest'
const clf = new RandomForestClassifier({ nEstimators: 300 })
clf.train(xTrain, yTrain)
clf.predict(xNew)
// → a label: spam / not-spam, fraud / ok
decision boundary

ისწავლება საზღვარი, რომელიც კლასებს ჰყოფს; ახალ წერტილებს ლეიბლს ანიჭებს ის, რომელ მხარეს მოხვდნენ.

როდის გამოვიყენოთ
პასუხი კლასია — კი/არა ან რამდენიმე კატეგორიიდან ერთი.
ძირითადი ალგორითმები
ლოგისტიკური რეგრესია საბაზისოდ; შემთხვევითი ტყე ან XGBoost სიზუსტის ასაწევად.

კლასტერიზაცია — დაჯგუფება ლეიბლების გარეშე

import { KMeans } from 'ml-kmeans'
const result = KMeans(X, 4)  // no labels!
result.clusters
// → which group each point landed in

ლეიბლები არ გაქვთ — ალგორითმი წერტილებს მსგავსების მიხედვით აჯგუფებს, ჯგუფებს კი თქვენ ხსნით.

როდის გამოვიყენოთ
გინდათ აღმოაჩინოთ სეგმენტები ან სტრუქტურა, რომელიც წინასწარ არ განგისაზღვრავთ.
ძირითადი ალგორითმები
k-means მრგვალი, კარგად გამოყოფილი ჯგუფებისთვის; DBSCAN უცნაური ფორმებისა & ამონაგდებებისთვის.

ალგორითმების მოკლე ცნობარი

წრფივი რეგრესია

სწორხაზოვან კავშირს არგებს. სწრაფი, ინტერპრეტირებადი საბაზისო მოდელი რიცხვის პროგნოზისთვის.

  • + მარტივი, ახსნადი
  • − არაწრფივ კანონზომიერებებს კარგავს
ლოგისტიკური რეგრესია

სახელის მიუხედავად, ეს კლასიფიკატორია: გასცემს კლასის ალბათობას. ნაგულისხმევი პირველი მოდელი.

  • + დაკალიბრებული, სწრაფი
  • − მხოლოდ წრფივი საზღვრები
გადაწყვეტის ხე

კი/არა განშტოებების სქემა. ადამიანისთვის წასაკითხია, მაგრამ ადვილად იზეპირებს საწვრთნელ ნაკრებს.

  • + ადვილად იკითხება
  • − მარტო ოვერფიტინგისკენ იხრება
შემთხვევითი ტყე

ბევრი ხე შემთხვევით ქვენაკრებებზე, ხმები საშუალოდება (bagging). ძლიერი და მიმტევებელი ნაგულისხმევი არჩევანი.

  • + მდგრადი, მცირე მორგება
  • − უფრო დიდი, ნაკლებად წასაკითხი
გრადიენტული ბუსტინგი

ხეები თანმიმდევრობით შენდება, თითოეული წინას შეცდომებს ასწორებს. XGBoost / LightGBM დომინირებენ ცხრილოვან შეჯიბრებებში.

  • + საუკეთესო სიზუსტე ცხრილებზე
  • − მორგებას მნიშვნელობა აქვს
k-NN

პროგნოზი k უახლოეს ცნობილ მაგალითზე დაყრდნობით. რეალურად არ იწვრთნება — უბრალოდ იმახსოვრებს.

  • + უკიდურესად მარტივი
  • − ნელია პროგნოზის დროს
k-means

მასწავლებლის გარეშე: წერტილებს ანაწილებს k კლასტერად მოძრავი ცენტრების გარშემო.

  • + სწრაფი კლასტერიზაცია
  • − k თქვენ ირჩევთ; მხოლოდ მრგვალი გროვები
SVM

პოულობს ყველაზე ფართო ზოლის საზღვარს კლასებს შორის; ბირთვები არაწრფივ გაყოფასაც უმკლავდება.

  • + ძლიერია მცირე მონაცემებზე
  • − ცუდად მასშტაბირდება დიდ ნაკრებებზე

ესენი ბრწყინავენ სტრუქტურირებულ / ცხრილოვან მონაცემებზე — სტრიქონები და სვეტები. როცა შემავალი მონაცემი სურათი, აუდიო ან თავისუფალი ტექსტია, ხელით შექმნილი ფიჩერები ვეღარ ართმევს თავს და გადადიხართ ღრმა სწავლებასა & ნეირონულ ქსელებზე, სადაც მოდელი თავად სწავლობს საკუთარ ფიჩერებს.

04 · წვრთნის საფუძვლები 5 წთ

შემავალი ფიჩერები და პატიოსანი გზა,
რომ გაზომოთ შედეგი.

მთავარ საქმეს ორი იდეა აკეთებს: ნედლი მონაცემების კარგ ფიჩერებად გადაქცევა და მონაცემების ისე გაყოფა, რომ მოდელი იმ მაგალითებზე გაზომოთ, რომლებზეც არ იწვრთნებოდა. გამოტოვეთ გაყოფა და ყოველ ჯერზე საკუთარ თავს მოატყუებთ.

ფიჩერი — ერთი გაზომვადი შემავალი სვეტი, რომლისგანაც მოდელი სწავლობს (ასაკი, ფასი, სიტყვები წერილში). არეული ნედლი მონაცემების სასარგებლო ფიჩერებად გადაქცევა — რიცხვების მასშტაბირება, კატეგორიების კოდირება, ველების შერწყმა — არის ფიჩერების ინჟინერია და ცხრილოვან მონაცემებზე ის ჩვეულებრივ უფრო მეტს ცვლის, ვიდრე ალგორითმის შეცვლა.

წვრთნის / ვალიდაციის / ტესტის გაყოფა

  • საწვრთნელი ნაკრები — ამაზე არგებს მოდელი თავის პარამეტრებს.
  • სავალიდაციო ნაკრები — არჩევანის მოსარგებად (რომელი ალგორითმი, რომელი პარამეტრები / ჰიპერპარამეტრები).
  • სატესტო ნაკრები — მას ერთხელ ეხებით, სულ ბოლოს, რეალურ სამყაროში მუშაობის პატიოსანი შეფასებისთვის.

მთავარი ცოდვა მონაცემების გაჟონვაა: როცა სატესტო ინფორმაცია წვრთნაში იპარება. მაშინ სატესტო ქულა იტყუება, პროდაქშენი კი იმედს გიცრუებთ.

წვრთნა · 60%
ვალ · 20%
ტესტი · 20%
ლეიბლიანი მონაცემები
მოდელის მორგება
გამართვა
ბოლო შემოწმება

ტიპური 60 / 20 / 20 გაყოფა. ზუსტი პროპორციები იცვლება; პრინციპი — არასოდეს გატესტოთ იმაზე, რაზეც წვრთნიდით — არა.

// split 80 / 20
const idx = Math.floor(X.length * 0.8)
const [xTrain, xTest] = [X.slice(0, idx), X.slice(idx)]
const [yTrain, yTest] = [y.slice(0, idx), y.slice(idx)]

// 5-fold cross-validation
const k = 5, sz = Math.floor(xTrain.length / k)
const scores = Array.from({ length: k }, (_, i) =>
  evaluate(model, xTrain.slice(i*sz, (i+1)*sz))
)
scores.reduce((a,b) => a+b, 0) / k // avg score across 5 folds
ვალ
წვრთნა
წვრთნა
წვრთნა
წვრთნა
წვრთნა
ვალ
წვრთნა
წვრთნა
წვრთნა
წვრთნა
წვრთნა
ვალ
წვრთნა
წვრთნა
წვრთნა
წვრთნა
წვრთნა
ვალ
წვრთნა
წვრთნა
წვრთნა
წვრთნა
წვრთნა
ვალ
5-ფოლდიანი კროს-ვალიდაცია
5 ქულის საშუალო

კროს-ვალიდაცია ცვლის სავალიდაციო ფოლდს ისე, რომ ყოველი სტრიქონი ერთხელ გაიტესტოს — ეს ერთ გაყოფაზე უფრო მდგრადი ქულაა.

05 · მთავარი პრობლემა 5 წთ

წარსულის დამახსოვრება თუ
მომავალზე განზოგადება.

ყოველი მოდელი ორ ჩავარდნას შორის ცხოვრობს. თუ ცოტას ისწავლის, კანონზომიერებას ვერ დაინახავს; თუ ზედმეტს — ხმაურს დაიმახსოვრებს. ამ დაძაბულობის მართვა — ბიასისა და ვარიაციის კომპრომისი — პრაქტიკული ML-ის გულია.

ოვერფიტინგი — მოდელი იმდენად მჭიდროდ ერგება საწვრთნელ მონაცემებს, რომ მათ ხმაურსაც იჭერს და შემდეგ ახალ მონაცემებზე ვერ ართმევს თავს. მისი სარკისებური საპირისპიროა ანდერფიტინგი — მოდელი ისეთი მარტივია, რომ ნამდვილ კანონზომიერებას ვერ იჭერს და ცუდად მუშაობს როგორც საწვრთნელ, ისე ახალ მონაცემებზე. ნიშანი: შესანიშნავი საწვრთნელი ქულა და ცუდი სატესტო = ოვერფიტინგი; ორივე ქულა ცუდი = ანდერფიტინგი.
underfit too simple good fit captures trend overfit memorizes noise

ერთი და იგივე წერტილები, სამი მოდელი. სწორი ხაზი ტენდენციას ვერ იჭერს; კლაკნილი ხაზი ყოველ წერტილს დასდევს; გლუვი მრუდი კი განაზოგადებს.

model complexity → error → bias² variance total error sweet spot underfit overfit

ბიასი ზედმეტი სიმარტივის შეცდომაა; ვარიაცია — ზედმეტი მგრძნობელობის. ჯამური შეცდომა მინიმუმს სწორედ შუაში აღწევს.

ოვერფიტინგის სიმპტომები

  • საწვრთნელი სიზუსტე თითქმის იდეალურია, სატესტო კი გაცილებით დაბალი.
  • დიდი სხვაობა საწვრთნელ და სავალიდაციო ქულებს შორის.
  • ველური პროგნოზები ოდნავ განსხვავებულ შემავალ მონაცემებზე.

როგორ გამოვასწოროთ

  • მეტი / უფრო სუფთა მონაცემი ან ნაკლები ფიჩერი. უფრო მარტივი მოდელი.
  • რეგულარიზაცია (L1 / L2), ხის სიღრმის ლიმიტები, dropout.
  • კროს-ვალიდაცია და ადრეული გაჩერება, რომ უფრო ადრე შეამჩნიოთ.
06 · მოდელის შეფასება 5 წთ

მარტო სიზუსტე
შეიძლება გატყუებდეთ.

აირჩიეთ მეტრიკა, რომელიც შეცდომის ფასს შეესაბამება. ნაკრებზე, სადაც 99% „არა თაღლითობაა“, მოდელი, რომელიც ყოველთვის ამბობს „არა თაღლითობას“, 99% სიზუსტეს იღებს და ნულ თაღლითობას იჭერს. ამ ყველაფერს შეცდომების მატრიციდან იწყებთ.

შეცდომების მატრიცა (confusion matrix) — ცხრილი, სადაც პროგნოზები ნამდვილ ლეიბლებს უპირისპირდება: ჭეშმარიტი დადებითი (TP), ჭეშმარიტი უარყოფითი (TN), ცრუ დადებითი (FP — ცრუ განგაში) და ცრუ უარყოფითი (FN — გამოტოვება). კლასიფიკაციის ყოველი მეტრიკა უბრალოდ ამ ოთხი უჯრიდან აგებული თანაფარდობაა.
PREDICTED positive negative ACTUAL positive negative TP hit FN miss FP false alarm TN correct reject precision = TP/(TP+FP) · recall = TP/(TP+FN)

ოთხი შედეგი. რომელი უფრო მტკივნეულია — ცრუ განგაში თუ გამოტოვება — ის წყვეტს, precision-ს დაუწყებთ ოპტიმიზაციას თუ recall-ს.

A
სიზუსტე
ყველა პროგნოზიდან რამდენი იყო სწორი
+

(TP + TN) / everything. კარგია, როცა კლასები დაბალანსებულია — შეცდომაში შემყვანია, როცა ერთი კლასი იშვიათია (თაღლითობა, დაავადება).

P
Precision
დადებითად მონიშნულებიდან რამდენი იყო ნამდვილად დადებითი
+

TP / (TP + FP). ოპტიმიზაცია მაშინ, როცა ცრუ განგაში ძვირია — მაგალითად, კანონიერი გადახდის დაბლოკვა.

R
Recall
ნამდვილი დადებითებიდან რამდენი დაიჭირეთ
+

TP / (TP + FN). ოპტიმიზაცია მაშინ, როცა გამოტოვება ძვირია — მაგალითად, კიბოს ან თაღლითობის ვერშემჩნევა.

F
F1 ქულა
precision-ისა და recall-ის ბალანსი
+

precision-ისა და recall-ის ჰარმონიული საშუალო — ერთი რიცხვი, როცა ორივე მისაღები უნდა იყოს და კლასები დისბალანსურია.

const preds = model.predict(xTest)

// compute TP / FP / FN / TN per class
const cm = confusionMatrix(yTest, preds)
const report = classificationReport(yTest, preds)
console.log(cm, report)
// precision, recall, F1 per class — one call

რეგრესიას თავისი მეტრიკები აქვს

  • MAE — საშუალო აბსოლუტური შეცდომა. საშუალო აცდენა საწყის ერთეულებში; ადვილი ასახსნელია.
  • RMSE — საშუალო კვადრატული შეცდომის ფესვი. MAE-ს ჰგავს, ოღონდ დიდ აცდენებს უფრო მკაცრად სჯის.
  • R² — დისპერსიის წილი, რომელსაც მოდელი ხსნის; 1.0 იდეალურია, 0 კი საშუალოს გამოცნობაზე უკეთესი არაა.

დისციპლინა იგივეა: მეტრიკა წვრთნამდე აირჩიეთ და მიაბით იმას, რაც შეცდომა ბიზნესს რეალურად უჯდება.

07 · ინსტრუმენტები და გულწრფელი კომპრომისები 3 წთ

აირჩიეთ სწორი ბიბლიოთეკა —
და იცოდეთ, როდის არ გამოიყენოთ ML.

ბიბლიოთეკების მცირე, სტაბილური ნაკრები თითქმის ყველაფერს ფარავს. შემდეგ უფრო რთული გადაწყვეტილება: ML ძლიერია, მაგრამ ამავე დროს ტვირთია. აი, გულწრფელი ბალანსი.

scikit-learn

კლასიკური ML ცხრილოვან მონაცემებზე

სტანდარტული ინსტრუმენტარიუმი: რეგრესია, კლასიფიკაცია, კლასტერიზაცია, გაყოფები, მეტრიკები — ერთი სუფთა API.

  • + ყველაფერი კომპლექტში, ადვილი სასწავლი
  • − არა ღრმა სწავლებისთვის / GPU-ებისთვის / უზარმაზარი მონაცემებისთვის
  • აირჩიეთ, როცა  სტრიქონებისა და სვეტების მონაცემები გაქვთ და სწრაფად გინდათ ძლიერი მოდელი. დაიწყეთ აქედან.
XGBoost / LightGBM

გრადიენტული ბუსტინგი ცხრილებისთვის

სპეციალიზებული ბიბლიოთეკები გაბუსტული ხეებისთვის, რომლებიც ცხრილოვან ბენჩმარკებსა და Kaggle-ის შეჯიბრებებს იგებენ.

  • + საუკეთესო სიზუსტე, უმკლავდება შერეულ ფიჩერებს
  • − მეტი ჰიპერპარამეტრი გასამართი
  • აირჩიეთ, როცა  scikit-learn-ის საბაზისო შედეგები ჭერს აწყდება და ცხრილებზე სიზუსტის ბოლო რამდენიმე პუნქტი გჭირდებათ.
PyTorch

ღრმა სწავლება & კვლევა

დომინანტი ფრეიმვორკი ნეირონული ქსელებისთვის — მოქნილი, Python-ური და თანამედროვე კვლევებისა და LLM-ების უმეტესობის უკან მდგომი.

  • + მოქნილი, უზარმაზარი ეკოსისტემა
  • − ზედმეტია პატარა ცხრილოვანი ამოცანებისთვის
  • აირჩიეთ, როცა  თქვენი მონაცემები სურათები, აუდიო ან ტექსტია — იხილეთ ღრმა სწავლება.
TensorFlow / Keras

ღრმა სწავლება პროდაქშენის მასშტაბით

მეორე მთავარი ღრმა სწავლების სტეკი; Keras მეგობრულ მაღალი დონის API-ს იძლევა, ძლიერი მობილური / მომსახურების ინსტრუმენტებით.

  • + მომწიფებული გზა დეპლოიმენტამდე
  • − უფრო რთული და მძიმე, ვიდრე scikit-learn
  • აირჩიეთ, როცა  ღრმა ქსელები გჭირდებათ და მათთან ერთად ნაცადი მომსახურება და edge-გადაწყვეტა.
  • ცხრილოვანი მონაცემები? ჯერ scikit-learn, შემდეგ XGBoost / LightGBM მეტი სიზუსტისთვის.
  • სურათები, აუდიო, ტექსტი? PyTorch ან TensorFlow — წადით სიღრმეში.
  • გენერაციული AI / ჩატბოტები? ჩვეულებრივ ნულიდან არ წვრთნით — საბაზისო მოდელზე აშენებთ: იხილეთ LLM აპლიკაციების აგება.
  • გაშვება & მონიტორინგი? ეს ცალკე დისციპლინაა — MLOps & მოდელის დეპლოი.

ML თუ ჩვეულებრივი წესები — გულწრფელი ბალანსი

ML ამართლებს, როცა

  • წესები ძალიან ბევრია, ბუნდოვანია ან მუდამ იცვლება, რომ ხელით დაიწეროს.
  • უხვად გაქვთ რეპრეზენტატული, ლეიბლიანი მონაცემები.
  • კანონზომიერება ნამდვილია და დროში საკმაოდ სტაბილური.
  • მასშტაბში დაახლოებით სწორად ყოფნა სჯობს ნელა და ზუსტად ყოფნას.

ჩვეულებრივი წესები იგებს, როცა

  • ლოგიკა ცნობილია, მარტივია და სტაბილური — უბრალოდ დაწერეთ.
  • მონაცემები მწირია, მიკერძოებულია ან ძვირია მოსანიშნად.
  • გადაწყვეტილებები უნდა აიხსნას, აუდიტს დაექვემდებაროს ან გარანტირებული იყოს.
  • იაფი ევრისტიკა უკვე აკმაყოფილებს ზღვარს — იქიდან დაიწყეთ.
ML-ის რეალური ღირებულება — მოდელის მიღმა: მონაცემთა პაიპლაინები, მონიშვნა, დრიფტი (სამყარო იცვლება, სიზუსტე ეცემა), მიკერძოება (მოდელი თავისი მონაცემების ცრურწმენებს სწავლობს), გაუმჭვირვალობა (გადაწყვეტილების ახსნა რთულია) და მუდმივი მონიტორინგი. მოდელი ტვირთია, რომელსაც უვლით, და არა ფუნქციონალი, რომელსაც ამთავრებთ.

ხუთი რამ, რაც თან უნდა წაიღოთ

1ML წესებს მონაცემებიდან სწავლობს. გამოიყენეთ, როცა წესები ძალიან ბევრი ან ძალიან ბუნდოვანია დასაწერად — და არა ნაგულისხმევად.
2იცოდეთ მოწყობა. მასწავლებლით (ლეიბლები), მასწავლებლის გარეშე (სტრუქტურა), განმტკიცებითი (ჯილდო) — აირჩიეთ იმ უკუკავშირის მიხედვით, რომელიც გაქვთ.
3გატესტეთ უნახავ მონაცემებზე. წვრთნა / ვალიდაცია / ტესტის გაყოფა და კროს-ვალიდაცია პატიოსნებას გინარჩუნებთ; გაჟონვა ქულებს ატყუებინებს.
4გაითვალისწინეთ კომპრომისი. ებრძოლეთ როგორც ანდერფიტინგს, ისე ოვერფიტინგს; მიზანი განზოგადებაა და არა საწვრთნელი სიზუსტე.
5გაზომეთ ის, რაც მნიშვნელოვანია. აირჩიეთ precision, recall, F1 თუ RMSE შეცდომის ფასის მიხედვით — მარტო სიზუსტე შეიძლება მოგატყუოთ.
ცოდნის შემოწმება

დაგამახსოვრდათ?

ხუთი სწრაფი კითხვა იმაზე, რა არის ML, რა მოწყობები არსებობს, წვრთნა, ბიასისა და ვარიაციის კომპრომისი და მეტრიკები — მყისიერი უკუკავშირი, ავტორიზაციის გარეშე.

შეაფასეთ ეს დასტა
იყავით პირველი

ნავიგაცია ← → ღილაკებით ან სქროლით · უკან ბიბლიოთეკაში