아래의 게시글은 모두의 딥러닝 강의를 참조하여 재가공한 글입니다.
Classification이란?
Classification은 Supervised Learning의 일종이다. 학습을 위해 이미 분류된 데이터를 주는데, 이 데이터를 기반으로 데이터의 Category 관계를 파악한다.
주어진 데이터로 학습을 완료한 후에는 새롭게 주어진 데이터를 Category에 분류할 수 있게 된다.
주어진 데이터로 학습을 완료한 후에는 새롭게 주어진 데이터를 Category에 분류할 수 있게 된다.
- Spam Email Detection: Spam (1) or Ham (0)
- Facebook feed: Show (1) or hide (0)
- Credit Card Fraudulnet Transaction Detection: Legitimate (1) or Fraud (0)
Logistic Regression Classification
어떻게 Classification 할 것인가?
Logistic Regression
Logistic Regression Classification
그렇다면 Logistic Regression Classification은 어떻게 그룹을 나눈다는 것일까? 우선 가장 간단한 모델인 Linear 모델을 통해 Classification하면서 생각해보자.
위와 같은 데이터가 주어졌다고 가정하고, 이 데이터를 Classification해보자. Linear한 모델을 통해 Classification한다면 다음과 같은 모델을 예상할 수 있을 것이다.
2개의 그룹으로 데이터를 나눠야 하기 때문에 y축을 절반으로 나눌 수 있는 값을 0.5로 정하면 데이터를 두 그룹으로 나누는 x축의 값을 구할 수 있다. 이제 이 모델을 사용하여 데이터가 0그룹에 속하는지 1그룹에 속하는지 데이터의 hours의 값으로 구분할 수 있게 되었다.
이 모델은 얼핏 완성된 것처럼 보이지만, Linear 모델은 한계를 가진다. 새로운 데이터 가 들어왔을 때를 살펴보자.
현재까지 학습된 모델은 새로운 데이터와 맞지 않으니 새로운 데이터를 포함할 수 있는 모델을 다시 학습해야 한다.
새로운 데이터를 포함한 새로운 모델을 만들었으나 문제가 생긴다. 이전에 1에 속했던 데이터들이 더 이상 1그룹에 속하지 못하게 되었다.
이 예시는 다소 비약적일 수 있으나 Linear 모델의 한계를 잘 보여주는 예시이다. 위의 예시에서 볼 수 있는 문제 외에도 Linear 모델의 경우 학습한 데이터의 범위를 넘어가는 경우가 생길 수 있기 때문에 문제가 생길 수 있다.
위와 같은 데이터가 주어졌다고 가정하고, 이 데이터를 Classification해보자. Linear한 모델을 통해 Classification한다면 다음과 같은 모델을 예상할 수 있을 것이다.
2개의 그룹으로 데이터를 나눠야 하기 때문에 y축을 절반으로 나눌 수 있는 값을 0.5로 정하면 데이터를 두 그룹으로 나누는 x축의 값을 구할 수 있다. 이제 이 모델을 사용하여 데이터가 0그룹에 속하는지 1그룹에 속하는지 데이터의 hours의 값으로 구분할 수 있게 되었다.
이 모델은 얼핏 완성된 것처럼 보이지만, Linear 모델은 한계를 가진다. 새로운 데이터 가 들어왔을 때를 살펴보자.
현재까지 학습된 모델은 새로운 데이터와 맞지 않으니 새로운 데이터를 포함할 수 있는 모델을 다시 학습해야 한다.
새로운 데이터를 포함한 새로운 모델을 만들었으나 문제가 생긴다. 이전에 1에 속했던 데이터들이 더 이상 1그룹에 속하지 못하게 되었다.
이 예시는 다소 비약적일 수 있으나 Linear 모델의 한계를 잘 보여주는 예시이다. 위의 예시에서 볼 수 있는 문제 외에도 Linear 모델의 경우 학습한 데이터의 범위를 넘어가는 경우가 생길 수 있기 때문에 문제가 생길 수 있다.
Logistic Regression
그런 Linear한 모델의 한계점을 보완하기 위해 사용할 수 있는 방법중 하나가 Logistic Regression이다.
Logistic Regression은 통계 기법으로 일종의 확률 모델으로(로지스틱의 자세한 사항은 이 블로그가 도움되더라.) 아래 그림과 같은 모양을 가진다.
Logistic Regression은 통계 기법으로 일종의 확률 모델으로(로지스틱의 자세한 사항은 이 블로그가 도움되더라.) 아래 그림과 같은 모양을 가진다.
Logistic Regression Classification
Logistic Regression Classification은 Linear 모델을 Logistic Regression을 지나도록 하려 Non-Linear하게 만들어 Linear 모델의 한계점을 보완한 Classification을 말한다.
Linear 모델에 Logistic Regression만 추가하여 사용하면 좋겠지만, Linear 모델에 Logistic Regression만 추가하면 문제가 생긴다.
머신러닝은 문제를 해결하는데 최적의 weight 값을 찾아가는 과정이다. 그렇기 때문에 cost(비용, err값)을 구하고 구한 cost를 통해 weight값을 수정하는 과정이 필수적이다.
그래서 Linear 모델에 Logistic Regression을 추가시킨 후에도 cost를 구하고 weight를 수정해야 한다. Linear Regression에서 사용한 Cost Function은 아래 그림과 같다.
이 그래프의 장점은 Convex하다는 것이다. Convex한 함수는 처음 시작 지점이 어디든 최저점을 찾을 수 있는 매우 편리한 그래프라는 것이다.
Linear Regression에서 사용한 Cost Function은 Convex한 그래프이지만 Logistic Regression을 사용한 모델의 Cost Function은 Convex한 모양을 유지하지 못한다.
그렇기 때문에 Logistic Classification은 Cost Function을 변형하여 사용한다.
Linear 모델에 Logistic Regression만 추가하여 사용하면 좋겠지만, Linear 모델에 Logistic Regression만 추가하면 문제가 생긴다.
머신러닝은 문제를 해결하는데 최적의 weight 값을 찾아가는 과정이다. 그렇기 때문에 cost(비용, err값)을 구하고 구한 cost를 통해 weight값을 수정하는 과정이 필수적이다.
그래서 Linear 모델에 Logistic Regression을 추가시킨 후에도 cost를 구하고 weight를 수정해야 한다. Linear Regression에서 사용한 Cost Function은 아래 그림과 같다.
이 그래프의 장점은 Convex하다는 것이다. Convex한 함수는 처음 시작 지점이 어디든 최저점을 찾을 수 있는 매우 편리한 그래프라는 것이다.
Linear Regression에서 사용한 Cost Function은 Convex한 그래프이지만 Logistic Regression을 사용한 모델의 Cost Function은 Convex한 모양을 유지하지 못한다.
그렇기 때문에 Logistic Classification은 Cost Function을 변형하여 사용한다.
댓글 없음:
댓글 쓰기