일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- k-Fold
- AdaGrad
- Ridge regression
- 머신러닝
- l1 loss
- Multiclass
- 메타코드M
- logit
- l2 loss
- 재현도
- lasso regression
- Learning Rate
- 메타코드
- 로지스틱 회귀
- logistic regressionlogistic
- colab
- hyperplane
- lest square method
- metacode metacodem
- map
- 우도확률
- regularization
- 사후확률
- variacne
- metacode
- F1 Score
- loss function
- cross entropy loss
- MLE
- metacodem
- Today
- Total
go hard to Hardware
[머신러닝 입문] 메타코드 강의 후기_머신러닝 입문 올인원_1강 회귀(6) 본문
http://mcode.co.kr/video/list2?viewMode=view&idx=21
Ridge Regression
- 머신러닝 모델의 MSE 오차와 Ridge 를 합함
- β_1, ..., β_n 중 β_2가 MSE를 이용해서 오차가 잘 안 구해지는 상황일 때
- β_2를 특정 값으로 만들어서 loss 값을 올릴 바에, 0으로 만들어서 Loss를 줄이고자 함
- 그래서 파라미터의 크기를 식 뒤에 붙여줌
- L2 : norm의 제곱값을 사용한다는 의미
Lasso Regression
- 머신러닝에서 L1 정규화 손실함수는, β에 절대값의 합을 넣어 준다.
- 0에서의 오차값의 차이를 더해준다는 의미이다.
- 절대값 합이 s일 때, 이는 마름모로 표현됨
- 최적의 값은 MSE 등고선이 마름모와 만날 때
Ridge와 Lasso 비교
- 실제로 둘 중 뭐가 좋은지 정답은 없지만, L2 regression을 더 많이 사용함
- 정규화에 대한 하이퍼파라미터(λ) 가 커지면 복잡도가 줄어듦
- Lasso는 마름모, Ridege는 원의 모양 -> 등고선이 만나는 모습을 생각해보면 Lasso의 희소성이 더 커진다.
- 0을 가진 parameter가 많아지게 하는 법 : 1. λ 키우기 2. β의 지수값을 줄이기
- 뭐가 좋은지 명확하게 알 수 없기 때문에 머신러닝은 실험으로 검증을 꼭 해봐야 함
이제는 Colab으로 머신러닝 실습을 수행한다!
크게는 Numpy 를 이용해서 선형 회귀를 학습 해 보고,
이후해는 scikit-learn 을 이용해서 optimization을 진행한다.
- pickle이라는 데이터 타입을 이용해서 저장
- 파이썬 문법대로 x, y에 이 데이터를 저장
- scatter를 이용해서 그래프에 표현
- 머신러닝 모델의 학습을 위해서 학습데이터와 평가데이터를 나누는데, 사이킷런의 함수인 _split을 사용한다
다음은 Numpy를 이용해 선형 회귀 모델 찾는 방법이다.
- 우선은 위와 같은 MSE, Gradients를 계산할 수 있는 수식을 코딩해야 한다.
- 이럴 때 jupyter notebook, colab의 마크다운 문법을 사용하면 위와같은 보고서, 수식, 그림도 파일 안에 담을 수 있다.
- 마크다운도 문법이 있기때문에, 검색 등을 이용해 참고하면 보고서 형태의 내용을 담을 수 있다.
- 위 식에서, 코드에 사용되는 변수는
MSE : n = 샘플 개수, 실제 값, 모델에 의해 예측된 값
Gradient : , bias, 𝑥𝑖 = 입력 변수
등이 있다.
- weight와 b의 초기화는 0.0로
- list는 시각화를 하기위해 선언했다.
- GD는 epoch만큼 반복하는데, 이를 위해서 for문을 사용한다.
- dw는 편미분값으로 mean 함수를 사용할 수 있다.
- parameter를 업데이트 할때 lr 을 곱해줘서 업데이트 한다.
- 경사하강법을 위한 코드를 다 작성했다.
메타코드 서포터즈로서 작성하였습니다.
'ML,DL > ML 입문' 카테고리의 다른 글
[머신러닝 입문] 메타코드 강의 후기_머신러닝 입문 올인원_2강 분류(2) (0) | 2024.05.03 |
---|---|
[머신러닝 입문] 메타코드 강의 후기_머신러닝 입문 올인원_2강 분류(1) (0) | 2024.05.03 |
[머신러닝 입문] 메타코드 강의 후기_머신러닝 입문 올인원_1강 회귀(5) (1) | 2024.04.28 |
[머신러닝 입문] 메타코드 강의 후기_머신러닝 입문 올인원_1강 회귀(4) (0) | 2024.04.27 |
[머신러닝 입문] 메타코드 강의 후기_머신러닝 입문 올인원_1강 회귀(3) (1) | 2024.04.27 |