Машинно обучение за начинаещи: основните идеи, Python и първите модели
Какво е машинното обучение, по какво се различават обучението с учител и без учител, какви знания трябват, как изглежда първият модел със scikit-learn и откъде да учите безплатно.

Машинното обучение е начин да научите програма да прави полезни прогнози, като ѝ дадете примери, вместо да пишете всички правила на ръка. Google дава удобен пример: за да предскажете валежите, можете да опишете физиката на атмосферата с уравнения, а можете и да оставите модел да открие връзката между метеорологичните условия и количеството дъжд в голям набор от данни. Програмата, която се учи, се нарича модел.
Това въведение е за хора, които знаят малко програмиране и искат да разберат основните идеи, преди да изберат курс. Как изкуственият интелект променя уменията, които търсят работодателите, обсъждаме в отделен материал.
Четирите вида машинно обучение
| Вид | Какви данни има | Какво прави моделът | Пример |
|---|---|---|---|
| С учител (supervised) | примери с верен отговор | учи се от тях и отговаря за нови случаи | цена на жилище, спам или не |
| Без учител (unsupervised) | данни без отговори | търси групи и закономерности | групиране на клиенти по поведение |
| С подсилване (reinforcement) | среда, награди и наказания | развива стратегия за най-голяма награда | робот, който се учи да ходи; програма, която играе игра |
| Генеративен ИИ | огромни масиви от текст, изображения и др. | създава ново съдържание по зададена заявка | чатбот, генериране на изображения |
Повечето начални курсове започват с обучението с учител, защото то е най-нагледно. Там има две основни задачи:
- Регресия предсказва число: цена на имот, време за пътуване.
- Класификация предсказва категория. При двоичната класификация отговорите са два (дъжд или не), при многокласовата повече (дъжд, град, сняг).
При обучението без учител най-честата задача е клъстеризацията: моделът групира сходни данни, без групите да са зададени предварително, и вие тълкувате после какво означават. За това какво могат и какво не могат генеративните модели има отделен текст за чатботовете.
Какво трябва да знаете преди това
Изискванията на курса Machine Learning Crash Course на Google са добър ориентир:
- Python. Функции, речници, списъци, множества, цикли, условия, форматиране на текст. Опитни програмисти без Python обикновено също се справят. Ако започвате от нулата, вижте плана за Python за начинаещи.
- Математика. Алгебра (променливи, функции, линейни уравнения, логаритми), малко линейна алгебра (матрици и умножение на матрици) и статистика (средна стойност, медиана, стандартно отклонение, хистограми). Производните и градиентите са нужни само за по-напредналите теми.
- Библиотеки. NumPy и pandas за данни; упражненията се пускат в браузъра в Google Colab, без инсталиране.
Как изглежда първият модел
За класическо машинно обучение в Python обикновено се започва с библиотеката scikit-learn. Сама се описва като библиотека с отворен код за обучение с учител и без учител, с инструменти за подготовка на данните, избор и оценка на модели. Всички алгоритми в нея следват един и същ ред:
- Данни. Таблица
Xс признаци (по ред за всеки пример) и, при обучение с учител, векторyс верните отговори. - Разделяне. С
train_test_splitотделяте част от данните, която моделът няма да види при обучението. - Обучение. Избирате модел, например логистична регресия, и викате
fit(X, y). - Прогноза и оценка. С
predictполучавате отговори за отделените данни и ги сравнявате с верните. - Кръстосана проверка.
cross_validateповтаря обучението и оценката на няколко части от данните (по подразбиране пет), за да не разчитате на едно случайно разделяне.
scikit-learn препоръчва подготовката на данните и моделът да се събират в един Pipeline. Така се избягва „изтичане“ на информация от тестовите данни в обучението, една от най-честите грешки на начинаещите: моделът изглежда отличен в проверката, а се проваля с нови данни.
Откъде да учите безплатно
- Machine Learning Crash Course на Google. Анимирани видеа, интерактивни визуализации и упражнения. Модулите вървят от линейна и логистична регресия и класификация през работата с данни и пренагаждането (overfitting) до невронни мрежи, вграждания (embeddings) и въведение в големите езикови модели. Последният модул е за реални системи и справедливост на моделите.
- Документацията на scikit-learn. Ръководството Getting Started показва целия път от данните до оценката на модела в няколко кратки примера с код.
След въведението
Когато първите модели вече работят, следващата стъпка е да разберете какво става вътре в тях: как се изчислява грешката, как градиентното спускане намира теглата и защо е нужна линейна алгебра. Това е темата на материала за математиката зад машинното обучение. Паралелно правете малки проекти с публични данни и ги показвайте в портфолио в GitHub.
Източници и справки
Още по темата
Фактите са по източниците, посочени под материала. Текстът е на Редакцията на Първа стъпка в IT. Редакционна политика · Забелязахте грешка? Пишете ни на kontakt@itstep.bg.