Линейная регрессия не всегда подходит.

Прочитав этот пост, вы будете иметь представление о:

а) Линейная регрессия

б) Логистическая регрессия

c) Как решить проблему классификации как профессионал

Проблема классификации: распределение доступных объектов по классам в зависимости от общих качеств, присущих объекту, которые присутствуют в конкретном классе.

Давайте обсудим это на примере:

В зависимости от размера опухоли мы решаем, злокачественная она или нет.

Подход 1:

Используйте линейную регрессию, чтобы соответствовать данному набору данных

После оптимизации st.line мы получим:

Мы устанавливаем порог 0,5, если он предсказывает ‹0,5(Нет)(0) | еще (Да)(1)

Для порога в 0,5 мы получаем точку на оси X, любая точка справа от этой точки будет предсказывать 1 (Да), 0 в противном случае.

Итак, линейная регрессия также может помочь вам решить проблему классификации?

Ждать..

Возьмем еще 1 обучающий пример, который меняет st.line под данные:

Теперь даже пациенту со злокачественной опухолью скажут, что у него нет злокачественной опухоли.

Это не только страшно, но и довольно забавно.

Как видно из уравнения гипотезы линейной регрессии, диапазон функции равен (от -бесконечности до +бесконечности), в то время как нам нужно значение в [0,1] для задачи бинарной классификации

Таким образом, подход линейной регрессии терпит неудачу.

Подход 2:

Мы хотим, чтобы гипотеза находилась в диапазоне [0,1].

Какая функция приходит вам на ум, когда вы видите диапазон… Сигмовидная (Логистическая) функция (Если вам это не пришло в голову, обратитесь: здесь)

Таким образом, мы выбираем нашу гипотезу как:

Теперь в зависимости от размера опухоли мы можем предсказать опухоль (злокачественная/нет) по этой гипотезе.

Мы снова можем выбрать пороговое значение как:

Внимательно изучив сигмовидную функцию, можно увидеть:

Таким образом, в зависимости от порогового значения выбранной нами гипотезы мы получаем условие для z функции g(z).

Полученное условие поможет нам найти границу решения между разными классами.

Пожалуйста, поймите очень четко, что гипотеза и граница решения — это две разные вещи.

Попробуйте понять границу решения на этом примере:

Гипотеза: h(x) = g(θ0 + θ1x1 + θ2x2)

После оптимизации гипотезы получаем следующие значения параметров:

  • θ0 = -3
  • θ1 = 1
  • θ2 = 1

По приведенному ниже уравнению:

(Транспонирование) θ - это вектор-строка = [-3,1,1]

Используя ту же концепцию порога, что обсуждалась ранее, мы предсказываем «y = 1», если

  • -3x0 + 1x1 + 1x2 >= 0
  • -3 + x1 + x2 >= 0
  • x1 + x2 = 3 мы графически наносим границу решения

Таким образом, граница решения зависит от гипотезы, но не от данных,

тогда как для оптимизации параметров в гипотезе мы используем данные

Источники обучения:

Логистическая регрессия — математика интеллекта (неделя 2)

Классификация (Андрей Н.Г.)