< Wk 7> ===========================================================
(#10; 5.14.) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> [수업내용간추림]
> HW Rvw
인공지능 관련 문제의 유형과 알고리즘 - Linear Regression (선형회귀)
선형회귀 기반의 예측 ; (예측 알고리즘)
데이터로부터의 예측이 가능한 이론적 근거를 이해한다.
상관관계의 의미를 이해한다.
SSE(Sum of Squares of Errors)의 의미를 이해한다.
선형회귀의 의미를 알고 선형회귀 알고리즘을 데이터에 적용하여 결과를
산출하고 해석할 수 있다.
수업내용; 상관계수의 의미, SSE의 의미와 선형회귀 알고리즘에서
활용되는 메카니즘의 이해, 선형회귀의 뜻과 활용, 예측과 분석.
* 참고자료; [AI-Lec-WeeklyMaterials / #5 ] ;
Q&A, ppt, Exl, LR-hwp, Py, 지도학습인이유 설명.
다항(polynomial)회귀를 실험해 볼 수 있는 사이트
* 참고자료; PPT; 개요, 개념
> [Exl로 실습]; LR알고리즘을 Exl에서 계산한다.
학생 실습 파일; [LecPrep / LR-Exl Worksheet]
; soln file= [ LecPrep / LR-Exl Soln]
(#11; 5.21.) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> [수업내용간추림]
> HW Rvw
[실습내용]; 엑셀을 사용하여 SSE가 최소가 되도록
Email 전송.
작업파일 (Exl) [LecPrep] LR-FindSlope-240515.xlsx
(1); sheet1; slope=1.0, 0.9, 1.1 세 가지의 비교
(2); Computing Slope; 기울기(slope)를 정교화하자.
(소수이하 정밀도를 최대한 올리자)
*** 다항(polynomial)회귀를 실험해 볼 수 있는 사이트;
구글 검색; polynomial regression data fit
--> arachnoid.com
degree의 크기에 따라; 과소적합, 과대적합
(#12 (Wk-13); 5.28.) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> [수업내용간추림]
> HW Rvw
반복하여 답을 구하는 단계는 Py를 실행한다.
Py 설명 자료; BK-docx, Hwp
실습을 위한 Py files (separate files);
[Archive-AI / 514~520 ; 실습방에 하나씩 복사해서 사용하자]
[LR-01-ReadData.py]
Obj; 키와 몸무게 데이터를 파이썬 프로그램에서 2차원배열로 저장한다.
배열의 이름은 Dat이다. 17개의 데이터가 있다.
[LR-02-NormalizeData.py]
Obj; 데이터의 평균을 구한다; (Xavg,Yavg).
[03]에서 이 평균값이 원점 (0,0)이 되도록 데이터를 변경한다.
[LR-03-4areas-slope.py]
Obj; 원점을 중심으로 데이터를 이동한다.
이렇게 하면, 직선의 Y축 절편을 고려 할 필요가 없다.
직선의 기울기를 찾기 위한 사전 작업인데,
기울기가 1 또는 –1 둘 중 하나를 결정한다 (get_slope()함수); [Q] Submit Idea.
[LR-04-SSE.py]
Obj; 실제의 데이터와 계산된 직선의 방정식과의 오차를 줄이기 위한 방법으로
SSE(Sum of Squares of Errors)를 사용한다.
[LR-04-SSE-Soln-Compute_SSE] ; SSE()함수
[LR-05-SSE-ChangeSlope.py]
Obj; SSE를 감소하기 위하여 직선의 기울기를 반복적으로 변경한다.
[Lab] Compute_Slope(); Submit Idea.
[LR-06-SSE-delta min_sse.py]
Obj; 최소의 SSE를 출력한다.
Result; slope=1.27 & min_sse=1499.8
[LR-07-Inquiry.py]
Obj; (LR의 최종 단계) 사용자가 키(height)를 입력하면
몸무게(weight)를 예측한다. (normalize의 역순이 필요)
(e.g.) 166 -> 67.8
[Q] 기울기(slope)의 시작은 무엇인가? 어떻게 결정할까?
> 간단, 단순한 형태 ; 반복의 시작
* 반복; 반복의 시작, 과정(SSE로 전체 오류를 줄여나간다),
종료조건; SSE가 줄어들다가 커지는 시점에 종료
* 종료시점의 유의사항. SSE가 커지는 시점의 직전 SSE가 최소값이다.
그렇다면, slope는 얼마일까?
* 이렇게하여, 최종적으로 slope가 결정되면, Inquiry를 어떻게 처리하는가?
Ans> normalize의 역순을 거쳐야 함.
* 참고자료; PPT; 개요, 개념
* HW; 질문; LR - QZ [LecPrep/#413] [Ans;#289] (또는 노트북에)
//