2008. 10. 31. 16:48 :: Machine Learning
Logistic Regression은 training set으로부터 주어진 vector data를 이용하여 data들의 방향을 찾고 실제 제공하지 않은
data들을 예측할 수 있는 algorithm이다. 이 algorithm을 구현하는 방법은 다음과 같은 방법이 있다.
1. LMS(Least Mean Square) algorithm
2. The normal equations
예를들어 주식 시장을 예측할 수 있는 algorithm을 구현하려고 하면, 주식 가격을 결정할 수 있는 factor는 여러가지가
있다. 그 factor중에서 기업 영업 실적(x1), 업종의 경기(x2), 우리나라의 경기(x3) 만을 놓고 주식 시장을 예측한다고 하자.
그럼 이 3개의 요인은 다음과 같은 수식으로 표현할 수 있다.
이 수식에서 training set x1, x2, x3가 주어지고 θ0, θ1, θ2, θ3값을 찾는다면 새로운 data값 x1, x2, x3에 대해 h(x)를 찾을
수 있다. 결국 이 값을 이용해 h(x)를 구할 수 있게 되고, 우리가 값을 예측할 수 있게 되는 것이다. (물론 더 많은 factor들과
다른 다양한 이론들이 필요하겠지만...)
결국 여기에 맞는 θ0, θ1, θ2, θ3를 찾는 것이 regression의 목표이다.
위 수식은 간단히 다음과 같이 표현할 수 있다.
)
이 값은 위의 cost function을 differentiation한 값이다. 이 값을 이용해서
를 update시켜 값을 구한다.
이 값은 다음과 같다.
%20%3D%20%5Cfrac%7B%5Cdelta%7D%7B%5Cdelta%5Ctheta_j%7D%5Cfrac%7B1%7D%7B2%7D(h_%5Ctheta(x)%20-%20y)%5E2%20%0D%0A%3D%20(h_%5Ctheta(x)%20-%20y)x_j)
이 값의 유도는 생략한다. 이 값을 위의 update rule에 적용하면 다음과 같다.
%20)x%5Ei_j)
( 그림 2 - test 2 )
data를 random하게 생성하였지만 구한 line은 동일하다는 것을 알 수 있다.
나머지 The normal equations 방법은 직접 찾아보길....
다음은 classifier의 고전인 perceptron에 대해서 알아보자.
data들을 예측할 수 있는 algorithm이다. 이 algorithm을 구현하는 방법은 다음과 같은 방법이 있다.
1. LMS(Least Mean Square) algorithm
2. The normal equations
예를들어 주식 시장을 예측할 수 있는 algorithm을 구현하려고 하면, 주식 가격을 결정할 수 있는 factor는 여러가지가
있다. 그 factor중에서 기업 영업 실적(x1), 업종의 경기(x2), 우리나라의 경기(x3) 만을 놓고 주식 시장을 예측한다고 하자.
그럼 이 3개의 요인은 다음과 같은 수식으로 표현할 수 있다.
이 수식에서 training set x1, x2, x3가 주어지고 θ0, θ1, θ2, θ3값을 찾는다면 새로운 data값 x1, x2, x3에 대해 h(x)를 찾을
수 있다. 결국 이 값을 이용해 h(x)를 구할 수 있게 되고, 우리가 값을 예측할 수 있게 되는 것이다. (물론 더 많은 factor들과
다른 다양한 이론들이 필요하겠지만...)
결국 여기에 맞는 θ0, θ1, θ2, θ3를 찾는 것이 regression의 목표이다.
위 수식은 간단히 다음과 같이 표현할 수 있다.
( theta, x는 vector, T 는 transpose )
위 식의 vector θ를 찾기 위한 cost function은 다음과 같이 정의한다.
cost function을 가지고 우리가 원하는 값 θ를 찾기 위해서는 J(θ)값을 minimize시키면 된다.
이 알고리즘을 구현하는 방법 3가지중 LMS algorithm에 대해 소개한다.
LMS(Least Mean Square) algorithm
이 방법은 θ를 초기에 예상하는 값으로 설정한 후 이 값이 cost function의 minize값에 따라서 어떻게 변하는지 구하면 된다.
이 θ값을 update하기 위한 rule은 다음과 같다.
cost function을 가지고 우리가 원하는 값 θ를 찾기 위해서는 J(θ)값을 minimize시키면 된다.
이 알고리즘을 구현하는 방법 3가지중 LMS algorithm에 대해 소개한다.
LMS(Least Mean Square) algorithm
이 방법은 θ를 초기에 예상하는 값으로 설정한 후 이 값이 cost function의 minize값에 따라서 어떻게 변하는지 구하면 된다.
이 θ값을 update하기 위한 rule은 다음과 같다.
이 값의 유도는 생략한다. 이 값을 위의 update rule에 적용하면 다음과 같다.
이 방법을 LMS update rule이라 한다.
이 update rule을 이용해
값을 찾을 수 있다.
matlab을 이용해 test해 보았다. random하게 200개의 sample을 만들었다. 우선 원래 선은 y=x이고 x는 0부터 20까지 200개의
random data에 gaussian distribution을 이용하여 noise를 추가하였다. gaussian distribution의 mean = 0, variance = 20을
이용하였다.
이를 이용해 regression한 결과는 다음과 같다.
이 update rule을 이용해
matlab을 이용해 test해 보았다. random하게 200개의 sample을 만들었다. 우선 원래 선은 y=x이고 x는 0부터 20까지 200개의
random data에 gaussian distribution을 이용하여 noise를 추가하였다. gaussian distribution의 mean = 0, variance = 20을
이용하였다.
이를 이용해 regression한 결과는 다음과 같다.
( 그림 1 - test 1 )
data를 random하게 생성하였지만 구한 line은 동일하다는 것을 알 수 있다.
나머지 The normal equations 방법은 직접 찾아보길....
다음은 classifier의 고전인 perceptron에 대해서 알아보자.