Линейная регрессия не всегда подходит.
Прочитав этот пост, вы будете иметь представление о:
а) Линейная регрессия
б) Логистическая регрессия
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 мы графически наносим границу решения
Таким образом, граница решения зависит от гипотезы, но не от данных,
тогда как для оптимизации параметров в гипотезе мы используем данные
Источники обучения: