본문 바로가기
머신러닝과 딥러닝/기초 이론

Logistic Classification의 가설 함수 정의

by Bentist 2020. 2. 13.

* 머신러닝의 Cost Function을 사용하는 이유 복습 *

세상에 있는 수많은 현상들을 완벽히는 안되지만 대략적으로 유추할수 있는 공식(혹은 그래프)를 알기 위해, 표본 데이터로부터 가장 차이가 적은 지점들을 찾기 위한 "제일 가까운 위치 찾기 함수" 정도로 풀이 할 수 있겠다. 

 

Logistic Classification은 뉴럴 네트워크와 딥러닝의 중요한 기초 알고리즘이다.

 

Regression은 어떤 숫자를 예측하는 것이었다면 Classification은 (0과 1) 중에 하나를 골라주는 것이다.

ex. Spam Detection: Spam(1) or Ham(0)

    Facebook feed: show(1) or hide(0) (내가 눌렀던 좋아요를 학습해서, 이와 유사한 타임라인만 보여준다.)

   임상연구에서의 쓰임: 항생제 투약량에 따른 생존(1) or사망(0)

 

회귀분석과의 차이는 회귀분석에서는 우리가 원하는 것인 예측값이 실수이기 때문에 종속변수의 범위가 실수이지만 로지스틱 회귀분석에서는 종속변수 y값이 0 또는 1을 갖는다. 그래서 우리는 주어진 데이터를 분류할 때 0인지 1인지 예측하는 모델을 만드는 것이다.

    

Q. 쉬운 예제를 봐보자.
몇 시간을 공부해야 시험에서 통과를 할까?

6시간이상 공부한 학생들부터 시험에 통과하기 시작했다. 이것을 Linear Regression으로도 구할 수 있나?

 

1) 첫번째 문제점

일단 선을 찾고, y좌표가 0.5보다 큰 x데이터 아이들은 시험에 통과한다고 볼 수는 있다.

그런데 50시간 공부해서 합격한 친구까지 고려해서 선을 다시 그어주면 기울기가 달라지기 시작한다.

2) 두번째 문제점

Y값으로 0 또는 1로 나와야 되는데, H(x)가 1이나 0보다 훨씬 크거나 작을 수 있다.

그래서 100시간 공부한 아이를 (w=0.5, b=0인)모델에 적용해보니까 H(x) = 50이어서 함수값인 0과 1로 구분하기에는 의미가 없어진다.

 

그러면 logistic 함수를 0과 1사이로 압축시켜주는 형태의 함수가 없을까?

sigmoid 함수

sigmoid라는 g(z) 함수가 있다. 이 g(z)는 logistic function or sigmoid function라고 부른다.
z가 커질수록 g(z)는 1에 가까워지고, z가 작아질수록 0에 가까워진다.

# H(X) = G(X)로 새로운 함수 정의

댓글