go hard to Hardware

[머신러닝 입문] 메타코드 강의 후기_머신러닝 입문 올인원_1강 회귀(5) 본문

ML,DL/ML 입문

[머신러닝 입문] 메타코드 강의 후기_머신러닝 입문 올인원_1강 회귀(5)

냔냐냔나 2024. 4. 28. 15:52

 

http://mcode.co.kr/video/list2?viewMode=view&idx=21

 

메타코드M

빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다.

mcode.co.kr

Bias and Variance Trade-off

- 사진은 variance와 bias의 가능한 분포 사항을 나타낸 것

- 빨간색 부분 : θ, 파란색 점 : θ^

- bias는 θ와 θ^의 차이를 나타내기 때문에 학습 data의 정확도와 관련있는  under-fitting과 관련있는 개념

- variance는 평가 data에 대한 error가 커지는 over-fitting과 관련있는 개념

- 머신러닝 전반적인 부분에서 사용되는 그래프

- 그래프에서 앞쪽은 선형, 뒷쪽은 비선형 모델을 나타냄

- 비선형 모델로 갈수록 Bias관련 Error는 줄고 Variance 관련 Error는 늘어나는 것을 볼 수 있음

- Bias error + variance error 더한 것이 머신러닝 모델의 Total Error

 

Validation data

- data 100개를 가져왔을 때, Train data = 80%, Valid data = 10%, Test data = 10%로 Valid data가 추가됨

- 위와 같은 경우는 hayperparmeter를 직접 설정 해 준 경우

- Valid data는 Test data처럼 머신러닝 모델이 학습에 참여는 못하지만 학습 시에 관찰은 가능하다.

- 학습 시에 계속해서 평가를 하고, over-fitting을 막기 위해 가장 좋은 성능의 parameter를 계속 저장해서 최적의 parameter를 찾는다.

Leave-One-Out Cross-Validation

- hyperparmeter를 없애기 위해서 개발한 방법

- 처음에 hyperparameter를 설정하고 valid를 했을 때, 특정 data set을 가지고 검증을 수행했기에 편향된 결과가 나올 수 있음

- data 한 개 마다 계속 valid를 진행하고, 그를 바탕으로 test를 돌렸을 때 나오는 정확도의 평균을 이용해서 가장 좋은 parameter를 저장하는 것

- n번 학습할 때, n이 너무 크다면 계산 비용이 너무 커짐

K-fold cross validation

- 위와 같은 문제를 해결하기 위한 방법

- Train data + Valid data = n 개 일 때, Valid data의 크기를 n/k로 구성함

- 머신러닝 모델의 복잡도를 평가하려고 하는데, 선형 ~ 5차의 5개의 모델이 있다고 치면

- LOOCV는 5*n번 계산, K-fold는 5*k번 계산하면 되므로 계산 비용을 줄일 수 있다.

- 여기서 만약 k값이 커지면? 학습 데이터 수 증가, Bias 에러값 감소, Variance 에러값 증가, 계산비용 증가

Regularization

- 여태까지 data를 건드리는 방향이었다면, 머신러닝 모델의 손실함수를 다루는 것

- 복잡도가 큰 모델을 정의해서 under-fit을 해소하고, over-fit 을 방지하기 위해 그 중에서 중요한 파라미터만 학습하면 안될까?

- 이 중요한 parameter의 개수를 조절해서 필요없는 parameter는 사용하지 않게 하는 과정이다.

- 정규화 종류에는 Ridege 회귀인 L2 regeression, Lasso 회귀인 L1 regression이 있다.

 

메타코드 서포터즈로서 작성하였습니다.