От заявки към модели
Досега базата отговаряше само на въпроси, чийто отговор вече е в нея: „кои ученици имат среден успех над 5“ е SELECT с WHERE. От днес задаваме друг вид въпрос: „кой ученик ще има успех над 5 догодина“. Отговорът го няма в никоя таблица. Той трябва да се научи от миналите редове.
Изкуствен интелект (ИИ, AI)
Област от информатиката, която изгражда системи, изпълняващи задачи, изискващи човешка интелигентност — разпознаване, разбиране на език, вземане на решения, планиране.
Определението е широко нарочно. Полезният въпрос не е „мисли ли машината“, а „справя ли се машината със задача, за която досега е трябвал човек — и как измерваме това“. Целият останал курс стои върху втория въпрос.
Двата пътя към „умната“ програма
Във всяка написана от вас програма на C# правилата идват от вас. Ако трябва да разпознаете спам, сядате и измисляте условията: if (text.Contains("спечели")) …. Това е първият път — правила, написани от човек.
Вторият път е обратен. Показваме на програмата хиляда съобщения, обозначени от човек като „спам“ или „нормално“, и програмата сама намира закономерността. Никой не е написал условието — то е извлечено от данните. Това е машинното обучение (machine learning).
| Правила от човек | Правила от данни | |
|---|---|---|
| Кой измисля правилата | Програмистът | Алгоритъмът, от примери |
| Какво е нужно | Експерт по задачата | Много обозначени примери |
| Разбираемо ли е | Да — всяко правило се чете | Често не — милиони числа |
| Когато светът се промени | Пренаписваме правилата | Дообучаваме с нови данни |
| Силно при | ДДС, дневник, счетоводство | Образи, реч, език, препоръки |
Как се подреждат понятията
- Изкуствен интелект — най-широкото понятие. Включва и програма, изцяло построена от написани на ръка правила.
- Машинно обучение — подмножество, при което системата намира закономерности в данни, вместо да получава правила.
- Дълбоко обучение (deep learning) — машинно обучение с многослойни невронни мрежи. Тук са ChatGPT, разпознаването на реч и на лица. Работи от 2012 г. насам, защото се събраха три неща: много данни, видеокарти и нови алгоритми.
Първият въпрос към всяка задача
Преди да изберем инструмент, отговаряме на един въпрос: какво трябва да излезе от модела. Отговорът определя всичко останало — кой алгоритъм става, коя мярка показва успеха, какви данни трябват.
Класификация
Моделът избира един етикет от предварително известен списък: спам / нормално; ще върне кредита / няма; кой от трите вида цвете.
Регресия
Моделът дава число от непрекъснат диапазон: цена, температура, време за доставка, брой посетители утре.
Клъстеризация
Разделяне на примерите на групи по прилика, без предварително зададени етикети. Изходът е номер на група; какво значи групата, тълкува човек.
По какво се различават
| Класификация | Регресия | Клъстеризация | |
|---|---|---|---|
| Въпросът | Кое от тези е? | Колко е? | Кои си приличат? |
| Изходът | етикет от списък | число | номер на група |
| Има ли колона с отговора | да | да | не |
| Мярка за успех | дял познати | средна грешка | трудно; преценка от човек |
| Пример от базата | ще отпадне ли ученикът | какъв ще е успехът | групи ученици по поведение |
Разликата между класификация и регресия не е формална — тя сменя начина на оценяване. При класификация отговорът е верен или грешен. При регресия отговор 141 800 лв. при истинска цена 142 000 лв. не е „грешен“ — той е близък. Затова се мери средна грешка, а не процент познати.
С учител и без учител
Класификацията и регресията имат нещо общо: във всеки пример има колона с верния отговор, даден от човек или от историята. Това е обучение с учител (supervised learning). Клъстеризацията няма такава колона — алгоритъмът сам търси структура; това е обучение без учител (unsupervised learning).
Обозначаването струва труд: за медицински набор всяка снимка се преглежда от лекар. Затова в практиката често се тръгва от клъстеризация, за да се види какво изобщо има в данните, после се обозначава малка част и се обучава с учител.
Какво трябва да запомниш
- При правилата от човек програмистът пише условията; при машинното обучение те се извличат от обозначени примери.
- AI ⊃ машинно обучение ⊃ дълбоко обучение; генеративният AI е вид задача, а не ново ниво.
- Типът на задачата се определя от изхода: етикет → класификация, число → регресия, група без етикети → клъстеризация.
- Класификацията се мери с дял познати; регресията — със средна грешка; клъстеризацията — трудно, от човек.
- Колона с отговора в данните → обучение с учител; без такава колона → без учител.