Изучаю ADALINE: как работает обучение нейронной сети

Продолжаю изучать машинное обучение и разбираюсь с алгоритмом ADALINE (Adaptive Linear Neuron).

В рамках практической работы реализовал модель самостоятельно на Python и NumPy, без использования готовых алгоритмов машинного обучения из Scikit-learn.

Репозиторий: https://github.com/Kirill-LN/adaline

В качестве задачи выбрал классификацию студентов по результатам экзамена. Для обучения использовал три признака:

- количество часов подготовки; - посещаемость; - выполнение заданий.

В процессе реализации разобрался с несколькими концепциями:

- Градиентный спуск и обновление весов модели. - Функция потерь MSE (Mean Squared Error). - Стандартизация признаков с помощью StandardScaler. - Разделение данных на обучающую и тестовую выборки. - Оценка качества классификации с помощью Accuracy и матрицы ошибок.

Результаты эксперимента:

Accuracy на обучающей выборке — 85,71%. Accuracy на тестовой выборке — 100%.

Но есть важный нюанс: тестовая выборка содержит всего 4 объекта, поэтому пока рано говорить о высокой обобщающей способности модели.

Отдельно было интересно анализировать ошибки: два неправильно классифицированных объекта имели выходные значения ADALINE, близкие к нулю — границе между классами. Это помогло лучше понять, как работает линейная классификация.

Для меня эта практика стала ещё одним шагом от изучения теории к самостоятельной реализации алгоритмов машинного обучения. Дальше планирую экспериментировать с параметрами обучения и исследовать, как ADALINE справляется с задачами регрессии. #MachineLearning #Python #NumPy #ADALINE #DataScience