[ML] 딥러닝의 깊이 있는 이해를 위한 머신러닝 7-2 (K-MOOC)

daeungdaeung·2021년 7월 30일
0

Machine-Learning

목록 보기
14/25

학습내용

  • Multi-calss 문제는 어떻게 해결할까?

  • p-norm이란 무엇일까?

  • Regularization이 무엇이고 어떤 것을 써야할까?

학습목표

  • Multi-calss 문제를 해결할 수 있다.

  • Feature 간의 거리를 계산하는 Norm을 이해할 수 있다.

  • 상황에 적합한 Regularization들을 골라 사용할 수 있다.

Overfitting과 Regularization

Multi-class

  • one-vs-all

    • 클래스 개수가 3개인 경우 3개의 클래시피케이션 모델이 필요합니다.

    • 각각의 클래스별로 한 개의 리니어 클래시피케이션 모델을 찾습니다.

    • 각각의 리니어 클래시피케이션 모델이 하는 역할은 특정 클래스와 그외의 클래스를 분류하는 것입니다.

p-norm

  • L2-norm

    • Euclidean distance

    • 피쳐 두 개 사이의 기하학상 거리

    • r2=j=1drj2||r||_2 = \sqrt{\sum_{j=1}^{d}r^2_j}

  • L1-norm

    • r1=j=1drj||r||_1 = \sum_{j=1}^{d}|r_j|
  • L1 Vs L2

    • L2: 아웃라이어에 의해 인라이어 피쳐들이 무시 당하는 경향이 있습니다.

    • L1: L2에 비래서 아웃라이어에 강인합니다.

  • L0-norm

    • r0=j=1dδ(rj0)||r||_0 = \sum_{j=1}^{d}\delta(r_j \neq 0)

    • δ()\delta()

      • 입력된 조건문이 성립할 경우 1 출력

      • 성립하지 않을 경우 0 출력

  • \infin-norm

    • r=maxjrj||r||_\infin = \underset{j}{max}|r_j|

    • 여러 개의 에러가 입력되고 있을 때 그 중의 최대값을 출력

    • 아웃라이어에 좀 더 집중하는 목적 함수

  • Frobenius Norm

    • 매트릭스 형태에 대해서 Norm 값을 얻는 방법

    • WF=c=1kj=1dwjc2||\vec{W}||_F = \sqrt{\sum_{c=1}^{k}\sum_{j=1}^{d}w^2_{jc}}

  • p-norm 종류: L2-norm, L1-norm, 0-norm, \infin-norm 등

  • Encouraging invariance

    • 2가지 방법

      • 여러가지 피쳐들이 변형되는 상황에 강인한 디스턴스를 골라서 적용

      • 데이터를 랜덤하게 좌우로 이동 또는 회전시키거나 색깔을 뒤집거나 하는 식으로 추가적인 데이터를 취득해 활용 -> Data augmentation

  • Regularization이 무엇이고 어떤 것을 써야할까?

    • L2-Regularization

      • 오버 피팅

        • 학습 데이터에 대해서만 성능이 좋고, 중요한 테스트상에서는 성능이 떨아지는 현상

        • w값 중에 하나가 엄청 커지는 상황

        • w가 커진다는 의미는 w에 해당되는 피쳐를 중점적으로 보고 있다는 것입니다.

      • 수식

        • f(w)=12ni=1(wTxiyi)2+λ2j=1dwj2f(\vec{w}) = \frac{1}{2} \sum_{n}^{i=1}(\vec{w}^T \vec{x_i} - y_i)^2 + \frac{\lambda}{2} \sum_{j=1}^{d}w_j^2

        • f(w)=12Xwy2+λ2w2f(\vec{w}) = \frac{1}{2}||\vec{X} \vec{w} - \vec{y}||^2 + \frac{\lambda}{2}||\vec{w}||^2

      • 앞에 있는 term이 기존에 활용하던 Least Square

      • 뒤에 있는 term이 특정 w가 커지지 않도록 조절

      • Least Square를 줄이는 것과 동시에 w의 크기값도 함께 줄이려고 노력을 함

      • λ\lambda가 커질수록 w값들은 작아집니다. (반대의 경우도 성립)

      • λ\lambda값은 Validation Set을 통해 최적화

      • f(w)=XTXwXTy+λw\nabla f(\vec{w}) = \vec{X}^T \vec{X} \vec{w} - \vec{X}^T \vec{y} + \lambda \vec{w}

      • (XTX+λI)w=XTy(\vec{X}^T \vec{X} + \lambda \vec{I}) \vec{w} = \vec{X}^T \vec{y}

      • 람다가 0이 아닌 이상 학습 안정성이 매우 높아지게 됨

      • regularization term을 추가함으로써 항상 w를 얻을 수 있음

    • L1-regularization

      • 아웃라이어에 강인한 Norm

      • 미분이 불가능한 지점 -> 0 -> Huber Norm을 활용

    • L0-norm

      • 0이 아닌 것의 개수를 세는 것

      • L0-norm을 regularization으로 쓴다는 것은 w값들 중 0이 아닌 것들의 숫자를 최소한으로 하자는 의미입니다.

      • sparsity norm이라는 이름으로 빈번하게 활용됩니다.

      • 0-1 로스 펑션과 마찬가지로 모든 영역에 대해서 미분 불가능

      • Sigmoid Function으로 추정하여 계산

profile
개발자가 되고싶읍니다...

0개의 댓글