참고영상
이전에 배웠던 linear regression 에 대해 짚고 넘어가자
cost 는 가설과 실제 값의 차이를 평균을 내는것
cost 를 최소화 하는 weight을 찾아내기
-> 경사타고 내려가는 알고리즘
한발짝에 얼마나 움직일까 = 알파 (러닝 rate)
classification도 유사하다
이전의 regression은 그냥 숫자를 예측하는거라면
classification은 둘중에 하나를 골라주는 거다.
-스팸인지 아닌지를 알려주는 것
-페이스북의 피드에서 보여줄것만 보여주는 것(이전에 좋아요를 누른 것가지고,, 학습해서!)
-신용카드 도난 여부 판단 하는 것: 합법적 / 사기 (이전에 사던 품목들과 너무 다른 걸 산다면 의심)
이것을 기계적으로 학습하려면 숫자 0,1로 인코딩을 한다.
뿐만아니라 최근들어서는 굉장히 많은 곳에서 사용되고 있다.
그중에 하나가 하나의 이미지를 보고 악성 종양(malignant tumor) 인지 초기 종양인지(benign tumor)인지 판단할 수도 있는것
그리고 요즘 핫한 주식에 관련해서는
이전의 주식 동향을 토대로 판단해서 사야할지 말아야할지를 판단해줄 수도 있다.(요즘 사람보다 더 잘한다고 한다)
아무튼 원래 얘기로 돌아와서 우리는 쉬운예를 보자
몇시간을 공부했느냐에 따라서 시험에 합격/불합격을 한 데이터가 있다고 보자
보니까 이전에 했었던 linear regression으로도 표현이 가능할 것같다.
하지만 50시간을 공부한 친구가 있다고 보자.
hours축에 엄청 오른쪽에 있겠지.
하지만 y축은 0아니면 1이기 때문에 결과는 1일 것이다.
그러면 우리가 그렸던 linear regression 의 기울기가 낮아진다는 소리다.
이렇게 말이다.
그러면 fail과 pass의 기준이 다시 정의 될거고
저 ☆ 모양의 데이터는 원래 1이었는데 애매하게 되어버린다.
이런것이 하나의 문제이다.
또 하나의 문제가 있다면 0보다 더 큰,작은 값, 1보다 훨씬 큰 값이 나올수있다는거다
만약에 w = 0.5, b =0 이라고 치자
x는 1,2,5,10,11 시간... 이라고치고.
근데 어떤 친구가 100시간을 공부했다고 치자.
이러면 w = 0.5를 곱해서 결과가 50이 되겠지. 1보다 훨씬 큰 수이다.
모양이 좋지 않다!
H(x) = Wx+b 이 모양이 참 좋고 간단하긴 한데
0과 1 사이로 압축을 시켜주는 어떤 형태의 함수가 있으면 좋겠다.
어떤 값을 넣어도 0과 1사이의 값으로 출력되도록!
그런 함수를 g(z)로 생각해보자
사람들은 이 함수를 찾아냈다
식은 저렇게 생겼는데 그래프로 그리면 이렇다
sigmoid라고 부른다.
글자 S같이 생기고, 두개의 방향으로 휜다.
또한 이걸 logistic function 이라고 부른다.
가로축 z가 엄청 커지면 결과값은 1에 가까워지게 될 것이다.(넘어가지는 않고!)
엄청나게 작아져도 0에 가까워지게 될것이다(0보다 작아지지는 않는다)
z = Wx
그러면 이제 우리는 H(x) = g(z)로 두면 되겠다.
그래서 우리의 logistic hypothesis는 이렇게 주어진다.
오른쪽항이 우리가 방금 본 sigmoid 함수였고 저 괄호친 부분이 우리가 가지고 있던 linear hypothesis를 넣은 것이다.
(WX)로 써도 무방하다.
이제 hypothesis는 세웠으니 cost를 구하고 cost를 minimize 하는 것일거다.
그건 다음강의에서 해보자