machine learning(56)
-
[TENSORFLOW] Hidden Markov Model
Hidden Markov Model에 대해 살펴보자. 기계학습하면 가장 많이 언급된 단어가 바로 HMM이며, 아래 그림을 통해 HMM에 대해 알아보자. Markov Model은 현재 일어날 확률이 바로 이전의 확률에만 영향을 받는 확률 모델을 말한다. Hidden Markov Model과의 차이점은 단지 관찰할 상태가 있으냐 없으냐에 따라 결정된다. (관찰할 상태가 있으면 Hidden Markov Model) 위의 그림에서는 Rainy와 Sunny의 두 가지 hidden state가 존재한다. 비가 오거나 맑음의 두 가지 상태는 알지만 현재 비가 오는지 아니면 맑은지에 대한 상태를 전혀 알 수 없기 때문에 해당 상태를 hidden state라고 정의한다. 그리고 최초의 state 확률을 정의한다. 여기서..
2017.04.14 -
[TENSORFLOW] Multiclass classifier
2017/04/10 - [machine learning] - [TENSORFLOW] Linear regression Classification2017/04/11 - [machine learning] - [TENSORFLOW] Logistic regression Classification2017/04/12 - [machine learning] - [TENSORFLOW] 다항 Logistic Regression지금까지 이진 분류 문제만 다루어 봤다면 이제는 3개 이상의 분류 문제를 다루어 보자. 여기서는 mutliclass 분류에 적합한 Softmax regression에 대해 살펴볼 것이다.우선 binary classification과 multinomial classification에 대해 차이를 살펴보자..
2017.04.13 -
[TENSORFLOW] 다항 Logistic Regression
지난 포스팅에서 Polynomial Model에 대해 언급했던 것을 기억해 보자. 이번에는 다항의 모델에 sigmoid를 씌우는 형태의 다항 Logistic Regression을 구현해 볼 것이다.아래의 데이터 분포가 주어졌을 때 Logistic Regression을 이용해서 분류를 해보자. train data가 2차원이기 때문에 x1_label1은 group 1의 x좌표 리스트(평균 3, 표준편차 1의 1000개 리스트), x2_label1은 group1의 y좌표 리스트(평균 2, 표준편차 1의 1000개 리스트), x1_label2는 group2의 x좌표 리스트, x2_label2는 group2의 t좌표 리스트가 된다.해당 train data가 만들어지면 x좌표는 x좌표끼리 묶어서 x1s에 저장하고,..
2017.04.12 -
[TENSORFLOW] Logistic regression Classification
Logistic regression은 Linear regression과는 다른 비용 함수와 다른 모델을 사용한다라는 차이점을 가지고 있다. 위의 두 가지 차이점을 제외하면 나머지는 Linear regression의 기능과 상당히 일치한다.Logistic regression에서는 아래의 sigmoid 모델을 사용한다. linear regression에서는 모델 값의 범위가 -∞ ~ ∞ 까지 다양하게 나올 수가 있는 반면에 위의 sigmoid 모델은 0 또는 1로 수렴하는 결과를 가져온다.분류 문제에서는 0 또는 1로 직관되어 있는 표현이 더 좋기 때문에 sigmoid가 분류 문제에서는 더 활용 빈도가 크다고 할 수 있다.Logistic regression에서는 기존에 쓰던 MSE(mean square er..
2017.04.11 -
[TENSORFLOW] Linear regression Classification
2017/04/06 - [machine learning] - [TENSORFLOW] Linear regression 이전에 언급한 regression이 주어진 입력 값에 대해 연속적인 값을 결과로 출력하는 것이라면 classification은 입력 값에 대해 이산 결과를 리턴하는 것을 의미한다. 예를 들어, 주어진 날짜에 대해 강수량을 나타내는 것이 regression이라면 (ex. 2000-09-15 50mm, 2001-10-13 100mm,.....), 주어진 날짜에 대해 비가 온다 안온다의 결과를 나타내는 것은 classification이라고 할 수 있다. (ex. 2000-09-15 비가 옴, 2001-10-13 비가 안옴...)아래는 classifier의 특징 들을 기술하였다.- Linear r..
2017.04.10 -
[TENSORFLOW] Regularization
다항식의 차수를 크게 두면 온갖 곡선을 가지는 형태의 뛰어난 유연성을 가질 수가 있다. 하지만 기계 학습에서는 이러한 학습 모델은 선호하지 않는다. 모델이 뛰어나게 유연하다는 것은 결국 입력 데이터에 상당히 민감하다는 뜻과 같기 때문이다. 가령 예를 들어 충분히 1차원으로 표현할 수 있는 모델이 10차원의 다항식으로 표현이 된다면 계산 측면에서나 비용 측면에서 해당 모델은 실패하게 된다. 우리는 모델이 너무 뛰어난 유연성을 가지는 것을 막기 위해 regularization을 두어 규제를 한다. cost 함수의 기존의 예측 값과 정답의 차이에다가 weight의 값을 제곱한 값을 더함으로써 weight 값이 크게 나타났을 경우에 penalty를 부과하게 된다. 아래의 코드로 좀 더 자세히 살펴보자. ramb..
2017.04.09