Как стать автором
Обновить

Машинное обучение: Линейная регрессия. Теория и реализация. С нуля. На чистом Python

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров11K
Всего голосов 11: ↑11 и ↓0+12
Комментарии4

Комментарии 4

Наконец-то. Я знаю, что такое аппроксимация, но не знаю, что такое регрессия.
Статью можно улучшить приведя примеры и объяснив зачем это всё нужно. А то обычно получается, что те кто знают как - уже знают зачем. А вдруг здесь толпы людей которые не понимают, что их жизнь засияет всеми красками если они поймут что такое линейная регрессия? Но надо объяснить зачем это нужно на практике.
"Линейная регрессия представляет собой линейное уравнение, состоящее из определенного числа зависимых переменных (входных признаков) и их коэффициентов: y = w_1 x_1 + ... + w_m x_m + b, m — число признаков, b — смещение (смещение выходного значения функции). "
Что такое смещение? Что такое входной признак и почему это зависимая переменная? И что такое y?
Иначе получается не популярная статья, а лекция по матану.

До лекции не дотягивает, скорей конспект студента

Это опечатка, проглядел, входные признаки являются независимыми переменными. Зависимой переменной является выходное значение "у". "у" это выходное значение функции (модели).

Входные признаки представляют собой числа (аргументы функции), которые означают значение каких-либо характеристик объектов или наблюдений. Например, рассмотрим в качестве объекта данные о человеке, признаками будут рост, вес, возраст. Мы можем использовать значения этих признаков напрямую, то есть в сыром виде, 170см, 60кг, 30лет, а можем нормировать их по набору данных, тогда они будут представлены относительно общего центра распределения для каждого признака. Тогда они примут значения в диапазоне близком к нулю. Например, макс. значение роста в наборе данных 180, а мин. 160, тогда после нормировки у нашего объекта оно будет, например, 0.5 (посередине), у других признаков аналогично. Пол человека можно представить так, 1 - м, 0 - ж (или -1).

Теперь мы можем перемножить каждый признак со своим коэффициентом (весом w) и суммировать. Получится какое-то число - выходное значение модели "у". Но мы дополнительно прибавляем еще один член, который называется смещением b (bias). Этот член позволяет немного сместить итоговое значение, это добавляет гибкости.

Смещение это прибавление дополнительного числа. Представьте прямую на координатной плоскости, по вертикали ось У, если к каждой точке прямой прибавить одно и то же число, то вся прямая сместится вправо или влево относительно оси У (или вверх или вниз, зависит от того, как это рассматривать). Причем это справедливо не только для прямой, но и для любой другой функции.

Мы можем предсказывать какие-нибудь числовые показатели человека. Например, нормальное количество какого-нибудь вещества в крови. На основе набора данных мы сможем вывести зависимость, которая будет описывать нормальное кол-во этого вещества в крови в зависимости от роста, веса и возраста. Но это только в том случае, если связь между этими характеристиками человека линейна. Если связь не линейна, то нужна более сложная модель, либо усложнение регрессии.

А потом, на основе полученного ответа модели, врач может назначить какое-то лечение или какую-то диету пациенту, чтобы изменить количество этого вещества в крови. Это будет поверхностный анализ. Если ситуация у пациента более сложная, то анализ, на основе такой модели, конечно не будет иметь смысла, так как нужен более тщательный и глубокий анализ.

Можете посмотреть мою прошлую статью, там более подробно про признаки.

Насчет примеров использования ЛинР я думаю, что для этого нужно делать дополнительный туториал (чтобы не получилась каша), чтобы рассказать более подробно, чем просто загрузить набор данных и обучить ЛинР. Нужно привести практический пример. А в этой статье я просто рассказал про базовые моменты и показал как это можно реализовать. Делать туториал по применению ЛинР пока нету в планах. Но мне было бы интересно в будущем сделать какую нибудь простую систему ИИ, в которой будут происходить принятия решений на основе регрессии.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации