학습된 데이터를 기반으로 위와 같이 데이터의 그룹을 분류하는 것이 목적이다.
'선형회귀' 방식으로 가정식을 세우고 직선을 구하면 위와 같을 것이다.
여기서 0.5를 한계점으로 두고 가정식이 0.5보다 크거나 같으면 악성
0.5보다 작으면 양성이라고 판달할때 현재는 0.5를 기준으로 잘 나뉘어 진 것 같다.
여기서 데이터를 추가하면
새로운 데이터(파란색 X) 가 들어올 경우 가정식은 위와 같이 바뀔 것이다.
그리고 우리의 한계점이 이동하게 되어 직감적으로 별초 좋치 못 해 보인다.
이전 분홍색 가정식에 비해 경계선도 깔끔하지 않은 것 같다. 이러한 이유로
Classification에서는 선형회귀를 사용할 수 없다.
대신에 Logistic regression (로지스틱 회귀분석)을 일반적으로 사용한다.
최적의 세타를 이미 구했다면(뒤에서 살펴보자) 로지스틱 함수에 짚어넣는 선형식으로
결정 경계를 구할 수 있다. (맨 처음에 선형식이 안되는 이유를 말할 때를 보면 알 수 있다.)
결정 경계가 선형적이지 않으면 어떻게 구할 까?
선형 회귀에서 다항 회귀와 같이 feature에 n제곱을 취하여 복잡한 결정 경계를 구할 수 있다.
선형회귀 방식에서 비용함수는 이런 식을 사용하였다.
조금 더 간단하게 feature를 하나로 잡고 표현하면 이렇게 볼 수 있다.
그런데 애석하게도 로지스틱 함수는 "비선형"함수이기 때문에
이 비용함수의 합은 다음과 같이 나온다.
바로 왼쪽과 같이 나온다. local optima가 많아서 gradient descent를 하여도 global minimum에 도달할 보장이 없다.
비용함수의 합은 오른쪽과 같이 "볼록한" 그래프가 나와야 좋다.
그래서 로지스틱 회귀 방식에서는 다른 비용함수식을 사용한다.
바로 이 식이다. 이 cost함수 결과의 합이 최소화되면 된다.
( 0 < h(x) < 1 이므로 이 범위만 필요하다.)
h(x)값에 따라 조금 다르겠지만 이런 형태의 그래프가 그려진다.
y =0, y=1일때의 식이 다르므로 합치면 이런 모양이 된다.
최종 비용함수 J입니다.
Gradient descent는 선형회귀와 동일하게 진행합니다. 단지 hypothesis의 차이만 있을 뿐입니다.
지금까지는 yes or no 즉 2가지 분류에 대해서만 다루었다. 그럼 여러 종류의 분류는 어떻게 시행해야 할까?
바로 이런 프로세스로 시행한다.
세모, 네모, 엑스 로 분류할때
세모에 대한 hypothesis 1 (여기서는 Decision Boundary)
네모에 대한 hypothesis 2
엑스에 대한 hypothesis 3
을 각각 구하고 세로운 데이터가 들어올때
hθ(i)(x)= P(y=i | x; θ)을 구하고 가장 높은 확률의 값으로 분류하면 된다.
'Machine Learning > coursera' 카테고리의 다른 글
Neural Networks Representation 및 XOR 문제 (2) | 2019.01.08 |
---|---|
Vectorization (0) | 2016.02.22 |
Gradient Descent (1) | 2016.02.08 |
Cost Function - Intuition (2) | 2016.02.08 |
Linear Regression with one variable - Cost Function (0) | 2016.01.25 |