반응형
이 전에 최소자승법을 이용한 예측에 대하여 글을 쓰고,
수식을 정리해 보았다.
원하는 그래프 y = a0 + a1x 에서 파라미터를 얻을 수 있는 a0, a1을 구하는 방법 또한
증명했었다.
증명한 내용을 토대로 소스코드를 작성하였다.
위에 수식에서 보면 a0와 a1을 구하기 위해 필요한 것이
xi, yi, xi*yi, xi^2에 필요함을 알 수 있다.
- #include<stdio.h>
- #define DATA_SIZE 2000
- int main()
- {
- unsigned char data[DATA_SIZE];
- double xi=0, yi=0;
- double sum_xi=0, sum_yi=0, sum_xiyi=0, sum_xi2=0; //xi, yi, xiyi, xi^2
- double a0, a1; //y = a0+a1x
- int count=0;
- while(1)
- {
- {
- {
- sum_xi+=xi;
- sum_yi+=yi;
- sum_xiyi+=(xi*yi);
- sum_xi2+=(xi*xi);
- count++;
- }
- }
- else
- break;
- }
- a0 = (sum_xi2*sum_yi-sum_xi*sum_xiyi)/(count*sum_xi2-sum_xi*sum_xi);
- a1 = (count*sum_xiyi-sum_xi*sum_yi)/(count*sum_xi2-sum_xi*sum_xi);
- return 0;
- }
반응형
'AI > Machine Learning' 카테고리의 다른 글
지도 학습 - 1 (0) | 2014.05.21 |
---|---|
n-gram 출현빈도에 기초한 텍스트 데이터 학습 - 2 (0) | 2014.05.19 |
n-gram 출현빈도에 기초한 텍스트 데이터 학습 - 1 (0) | 2014.05.18 |
텍스트 마이닝 - 1 (0) | 2014.05.18 |
최소자승법을 이용한 학습프로그램 - 1 (0) | 2014.05.12 |