[핵심 머신러닝] 정규화모델 2 - LASSO, Elastic Net

2022. 8. 8. 12:11·공부정리/Deep learnig & Machine learning
728x90
반응형

이 게시글은 김성범 교수님의 유튜브 강의를 정리한 내용입니다.

내용과 사진의 각 출처는 김성범 교수님께 있음을 미리 알립니다.

해당 게시글 강의 영상: https://www.youtube.com/watch?v=sGTWFCq5OKM 


[핵심 머신러닝] 정규화모델 2 - LASSO, Elastic Net

슈잉키지: 값을 줄이면서 작아지는것

 

자동으로 선택

 

릿지와 비슷한데 제약식에 절댓값을 둔것

 

여기서는

t를 작게하면  =>람다를 크게하는 것 =>제약을 많이 가한다.

t를 크게하면  =>람다를 작게하는 것 =>제약을 적게 가한다.

 

불연속임..

 

마름모 밖에 있는 것은 답이 아니다 MSE값을 크게 늘려보자.

(최소제곱법에있는 unbias를 포기)

 

.

베타1 = 0

해당 변수에 해당하는 계수가 0이다.

그 변수가 y를 예측하는데 영향을 끼치지 못함

0이아닌 변수를 selection 하는 것이 그 기능!

 

이 foulation을 통해서 값을 구해야함

 

라쏘는 미분 불가능..

그래서 수치 최적화 기법을 쓴다!

 

람다가 크면 제약을 많이 가진다.

그러면 모든 베타가 0이 되어서 constent 해짐

 

람다값을 어떻게 설정할 것인가에 대한 문제

 

처음에는 모든 베타 값이 살아있음

 

조금씩...사라진당

 

0이되는 변수들이 생기기 시작함

 

람다를 더더 크게하면

 

베타 1만 남고 나머지는 0이 됨

 

따라서 람다값을 극단적으로 키우면 0 이됨

 

변수 선택이 달라지면 

 

라쏘 모델은 그럼 강건한 모델인가?

 

조금씩 데이터를 변화함에따라 베타값이 달라질 것임

박스 플롯이 찌그러짐에 따라 베타값이 달라진게 없다..

 

데이터가 바뀌더라도 항상 0이 된다.

 

릿지는 튜닝 파라미터가 작을 수록 제약을 많이 가함

 

라쏘는 튜닝 파라미터가 작아질수록 제약을 많이 되고 0이 되는 변수가 생김

따라서 중요한 변수가 셀렉션된다.

 

라쏘는 0이되는 값에서 찾아서 베타2가 중요하지 않다..??

 

데이타가 변함에따라 자꾸 바뀐다.

 

이런것을 해결하기위해 엘라스틱 넷이 생김!

 

람다는 하이퍼 파라미터가 두개임

 

딱 떨어지는게 없어서 그리디 서치를 이용함

 

일라스틱 넷은 이 둘의 차이임

 

여러가지 정규화 모델

Fused Lasso

물리적으로 주변에 있는 변수를 같이 뽑을 순 없을까?

양옆에 있는 것들의 최소를 뽑는다!

 

Group Lasso

그룹을 사용자가 정의함

Sparse Group Lasso

그룹을 뽑고 그룹 내에서 중요한 변수를 뽑아보자

 

지금까지 정규화모델은 convex였다.

그래서 nonconvex에 대해서 연구가 진행되고있다.

 

convex 함수의 형태 는 이 수식과 같음

 

큰 베타를 줄일 때는 콘벡스의 패널티가 크게 변함

작은 베타를 줄일 때는 논콘벡스의 패널티가 크게 변함

 

컨벡스 패널티 정리

 

논 컨벡스 패널티 정리

라쏘는 비교를 위해 가져옴!

 

논컨벡스 참고문헌

728x90
반응형

'공부정리 > Deep learnig & Machine learning' 카테고리의 다른 글

[핵심 머신러닝] 의사결정나무모델 1 (모델개요, 예측나무) - 강의 정리  (0) 2022.08.11
[머신러닝]Feature Selection  (0) 2022.08.08
[머신 러닝] 서포트 벡터 머신 (SVM) 보충 - 라그랑즈 승주법  (0) 2022.08.06
[머신러닝] 서포트 벡터 머신 (SVM) 개념 & 구현 / 파이썬 Python  (0) 2022.08.05
[핵심 머신러닝] 정규화모델 1(Regularization 개념, Ridge Regression)  (0) 2022.08.04
'공부정리/Deep learnig & Machine learning' 카테고리의 다른 글
  • [핵심 머신러닝] 의사결정나무모델 1 (모델개요, 예측나무) - 강의 정리
  • [머신러닝]Feature Selection
  • [머신 러닝] 서포트 벡터 머신 (SVM) 보충 - 라그랑즈 승주법
  • [머신러닝] 서포트 벡터 머신 (SVM) 개념 & 구현 / 파이썬 Python
sillon
sillon
꾸준해지려고 합니다..
    반응형
  • sillon
    sillon coding
    sillon
  • 전체
    오늘
    어제
    • menu (614)
      • notice (2)
      • python (68)
        • 자료구조 & 알고리즘 (23)
        • 라이브러리 (19)
        • 기초 (8)
        • 자동화 (14)
        • 보안 (1)
      • coding test - python (301)
        • Programmers (166)
        • 백준 (76)
        • Code Tree (22)
        • 기본기 문제 (37)
      • coding test - C++ (5)
        • Programmers (4)
        • 백준 (1)
        • 기본기문제 (0)
      • 공부정리 (5)
        • 신호처리 시스템 (0)
        • Deep learnig & Machine lear.. (41)
        • Data Science (18)
        • Computer Vision (17)
        • NLP (40)
        • Dacon (2)
        • 모두를 위한 딥러닝 (강의 정리) (4)
        • 모두의 딥러닝 (교재 정리) (9)
        • 통계 (2)
      • HCI (23)
        • Haptics (7)
        • Graphics (11)
        • Arduino (4)
      • Project (21)
        • Web Project (1)
        • App Project (1)
        • Paper Project (1)
        • 캡스톤디자인2 (17)
        • etc (1)
      • OS (10)
        • Ubuntu (9)
        • Rasberry pi (1)
      • App & Web (9)
        • Android (7)
        • javascript (2)
      • C++ (5)
        • 기초 (5)
      • Cloud & SERVER (8)
        • Git (2)
        • Docker (1)
        • DB (4)
      • Paper (7)
        • NLP Paper review (6)
      • 데이터 분석 (0)
        • GIS (0)
      • daily (2)
        • 대학원 준비 (0)
      • 영어공부 (6)
        • job interview (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Python
    programmers
    백준
    소수
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sillon
[핵심 머신러닝] 정규화모델 2 - LASSO, Elastic Net
상단으로

티스토리툴바