-
K-NN 알고리즘
-분류되었거나, 분류되지 않은 객체가 있을때 아직 분류되지 않은 객체를 자동으로 분류하려는 객체와 유사한 속성을 가진 객체들을 참고하여 분류하는것
-선형회귀의 결과값은 연속적인 값이기 때문에 범주형값(그렇다,아니다..등등)의 결과값을 받기 어려울때 사용한다.
결과값의 경계를 두는것이다. 없음<100<보통<200<많음 이런식으로
-K값은 이미 분류된 객체들에게 새로운 객체를 분류시킬것을 부탁한다치면 K개의 객체에게 분류를 부탁하는 것
이 K값을 변경해가면서 평가척도(좋은 모델인지 평가함)가 가장 좋을 때의 K값을 찾는것이다.
그러나
KNN 알고리즘은 실행시간이 길다. 반면에 선형모형에 대한 작업은 완성된 선형모형에 대해서 Y=X에 맞춘 결과만 내면 되기 때문에 빠르다
로지스틱 회귀
선형회귀분석과는 다르게 결과가 [범주형]일때 사용 확률이라는 개념이 추가되었다.
Y=xw+b 이 식에서 y를 확률에 관한 식으로 만들고 이항하여 로지스틱 함수를 얻어낸다. 그럼 아래와같은 그래프가 나오고 (1이다 위에꺼..)
x값의 증가/감소에 무관하게 f(x)는 0~1의 값을 가져서 확률로서 사용할 수 있다. (시그모이드 함수)
로지스틱회귀에서 코스트 함수가 좀 다른데
*코스트함수는 실제값과 예측값의 차이에대한 평균이다
선형회귀분석에서의 코스트함수 그래프는 U자 모양의 매끄러운 모양이였으나 시그모이드 함수에서는 W이런형태의 매끄럽지 못한 cost함수 그래프가 나온다. 근데 이러면 경사하강법을 쓸 수 없다. 원래최소값에 오기전에 다른곳에서 수렴을 해버릴테니까 ... 아래사진처럼
**이때 u자형은 convex 함수형태 non-convex 함수형태라고 한다.
구별기준은 local minimum이 다수로 존재한다/안한다의 차이 ( local minimum이 ww형태에서
그래서 저 www거리는 그래프를 옆에처럼 u로 만들어야할필요가 있다. 그러므로...새로운 cost함수가 필요하다!
실제의 값이 0,1인경우에 대해 log를 취해 u자형태로 만드는것이다.
이 cost가 낮을수록 학습이 정확하다.(차이값이니깐)
옵티마이저는 똑같이 경사하강법을 쓰면된다. 학습속도를 조절해가면서 사용하고
최종적으로 나온w,b값을 사용한다.
수학적인게 많아서 개념만 알아보았다..
'2017년 > machine learning' 카테고리의 다른 글
텐서플로우 서빙에 대해 (0) 2017.09.05 텐서플로우의 그래프,세션,자료형 (0) 2017.09.02 머신런닝에관해 좋은글 (0) 2017.08.21 텐서플로우 선형회귀에 대해 알아보자 (0) 2017.08.16 tensorflow csv file 불러오기 (0) 2017.08.07