모두를 위한 딥러닝 5장 - Logistic Classification


안녕하세요 jay입니다.

오늘은 김성훈 교수님의 모두를 위한 딥러닝 5장
Logistic Classification(로지스틱 분류) 알고리즘 시간 입니다.
교수님의 강의 외에 여러가지 자료들을 참고해서 정리했습니다.
아래 링크들은 교수님의 강의자료 및 강의 링크입니다.

PPT : https://hunkim.github.io/ml/lec5.pdf
강의 : https://www.youtube.com/watch?v=PIjno6paszY&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=11


1. Linear Regression(선형회귀) 복습
로지스틱 회귀에 대해 설명하기 전 Linear Regression에 대해 간단히 설명을 하도록 하겠습니다.
  • Hypothesis :  주어진 데이터들을 바탕으로 우리가 세울 가설이자 모델, 직선 형태이며 H(x) = WX + b형태
  • Cost function : 우리가 세운 가설(Hypothesis)과 데이터 사이의 얼마나 가깝고 먼가를 측정할 수 있는 수치. 가설과 데이터 값들을 뺀 뒤 제곱을 한 다음, 데이터들 갯수만큼 나누면 된다. 학습이라는 것은 우리가 가진 데이터들을 활용해서 cost를 최소화하는 W를 찾는 것이다.
  • Gradient decent : Cost function에서 최적의 W를 찾는 과정이다. 기울기는 cost함수를 미분을 해서 0이 되는 지점을 찾으면 된다.
  • α step, learning rate라고 하며, 최소가 되는 지점으로 이동하는 값을 의미한다.
자세한 내용을 원하시는 분들은 아래 링크를 참고해주세요
https://classicismist.blogspot.com/2019/01/2-linear-regression.html 1부
https://classicismist.blogspot.com/2019/01/2-2-gradient-descent-algorithm.html 2부


2. Classification이란?
Regression은 어떤 숫자를 예측하는 것이라면 Binary Classification은 둘 중에 하나 정해진 category를 고르는 것을 의미합니다.
  • Spam vs Ham(우리가 원하는 메일), 스팸이냐 햄 메일이냐 이진 분류
  • Facebook에서 우리가 누른 좋아요를 분석해서 친구들이 만드는 수백개의 라인 중 선별해서 우리에게 보여줍니다. 관심이 있느냐 없느냐 이진 분류
  • Credit Card회사에서 우리가 사용하는 구매 패턴을 분석해서, 만약 이 패턴에서 벗어나면 도난 혹은 사기를 당했다, 벗어나지 않으면 정상으로 이진 분류


0,1 encoding : 우리가 분류한 category를 1 또는 0으로 나타내는 작업


3. 분류에서 회귀모델?
이진 분류 상황에서 분류 모델(Logistic Regression)을 사용하기전 회귀 모델(Linear Regression)을 사용해보겠습니다.
X축은 공부시간, Y축은 시험 통과(Pass or fail)입니다. 즉 얼마만큼 시험공부를 해야 Pass를 하는지 알고 싶은 상황입니다.
fail 데이터 3개(아래 x 데이터)와 pass 데이터(위 o데이터 3개)를 바탕으로 Linear Regression 모델(회귀 모델)을 생성했습니다. 하지만 이 모델에서 문제점이 발생을 합니다.
보라색 동그라미 데이터가 추가 되었습니다. 약 50시간 공부를 했고 Pass를 했다라고 가정을 내립시다.
그러면 선형 모델이 파란색 직선이 보라색 직선으로 이동합니다.
이로 인해 기존에 Pass 였던 빨간색 박스 데이터가 fail로 분류되는 상황이 발생이 됩니다.
이를 해결하기 위해 분류문제에서는 Logistic Regression을 사용을 하게 됩니다.



Linear Regression에서 가설 모델은 H(x) = Wx + b 형태입니다. 
우리가 가진 데이터로 학습을 했을때의 W = 0.5 , b = 0이라고 가정했을 때, 
x값 중 100과 같은 큰 값을 대입하면 0과 1사이에서 많이 벗어납니다. 즉 가설(H(x))과 Y값 사이의 차이가 심해집니다. 따라서 이를 해결하기 위해 가설을 0과 1사이의 값이 나오도록 하는 Sigmoid 함수라를 것을 사용합니다.



4. Sigmoid함수


g(z)와 같은 형태를 Sigmoid function(혹은 logistic fuction)라고 합니다. 이 함수를 자세히 보면 z축, g(z)축으로 이루어져 있습니다. z가 커질수록 g(z)값은 1에 수렴하고, z가 작아질수록 g(z)값은 0에 수렴합니다. 즉 우리가 원하는 0과 1사이의 값을 가지게 되는 함수입니다.

이전 가설을 z = WX라고 두고, 현재 가설(H(x))을 g(z)라고 가정했을때, z에 WX를 대입하면
위와 같은 식이 나옵니다. 즉 위 식을 Logistic Hypothesis라고 합니다.

댓글