2020. 3. 21. 02:08ㆍComputer Science/CS
지난 시간 머신러닝이란 무엇인가?라는 포스팅에서 우리는 회귀에 의한 분류(regression classfication)가
어떻게 되는지 알아봤었다.
https://yuldangs-sosolife.tistory.com/53
회귀 분석에서의 가설 함수는 H(x)=WX였다.
그리고 이러한 가설에 대한 Cost(비용)함수는 아래와 같았다.
cost함수는 가상의 값과 실제 값(관측 데이터)간의 차이로, cost 함수에서의 최적점을 찾기 위해
Gradient decent (경사하강)기법을 사용했다.
그리고 이러한 경사하강법에 따르면 가중치는 기울기에 따라 그 세기를 조절하며
최적점을 찾아가는 알고리즘을 지녔다.
그러나 기존의 linear classification의 경우 이러한 GCD기법을 사용하면 되지만
Binary classfication에서는 이러한 알고리즘이 적절하지 못하다.
정말 간단한 예시를 들어보자.
*주대학교 모 강의실에서 학생 전원의 성적을 함수로 만들어보자.
0에서부터 100사이까지 다양한 점수가 존재할 것이고 x와 y축 사이 점수에 따른 점들이 찍힐 것이다.
그리고 그점들을 가장 '적절하게' 이은 선이 바로 hypothersis함수가 될 것이다.
그리고 그러한 함수로 모 강의실의 B라는 학생의 평균적인 성적이 예측 가능할 것이다.
이러한 분류를 바로 regression classfication이라 한다.
그러나 *주대학교 모 강의실이 이번엔 상대평가가 아닌 절대 평가로 바뀌었다고 가정해보자.
*주대학교의 모 강의실의 학점은 pass이냐/fail이냐(pass가 아닌)로 나뉠 것이다.
이러한 경우 그래프를 그리는 것이 상당히 애매해진다.
왜냐? 결과가 0 아님 1이니까.(pass/fail)
이러한 input에 대한 output이 참/거짓(0과 1)인 분류를 바로 Binary classfication이라 한다.
물론 프로그래밍 세계에는 regression 뿐만 아니라 binary로 인한 분류가 어마무지하게 많다!
이럴 경우엔 어떻게 가설함수를 세울 것이며, 과연 어떻게 cost를 계산할 수 있을까?
그 문제를 해결하기 위해 바로 시그모이드 함수가 등장한다.
시그모이드 함수는 아래와 같은 모형으로, 일반적인 regression 함수와 차이를 보인다.
y축이 0 - 1까지로 이루어져 있으며, 곡선의 형태이다. 곡선의 형태인 이유는 매구간을 미분하기 위함이다.
(계단식의 함수라면 미분이 되지 않아 cost를 구할 수 없다)
매구간을 미분한다는 것은 결국 가중치를 구하는 것을 의미하며,
지난 시간에 배웠던 최적점을 binary calssfication에서 찾는 것을 의미한다.
그리고 이러한 함수는 나중에 CNN모델에서 마지막 레이어에서 활성함수로 사용된다.
나머지는 다음에 마저..
*제가 공부하기 위해 스스로 만든 게시물입니다. 조언, 지적 모두 댓글에 적어주시면 참고하겠습니다 :)
'Computer Science > CS' 카테고리의 다른 글
문과도 한번에 이해하는 TCP/IP (0) | 2022.10.18 |
---|---|
넷플릭스로 보는 데이터 베이스 (2) | 2020.05.14 |
캡슐화(Encapsulation)이란 (0) | 2020.03.30 |
information hiding, modularity에 대하여 (0) | 2020.03.22 |
파이썬으로 쉽게 이미지 크롤링 및 파일 저장 (0) | 2020.03.06 |