3. 7. Regularization for Deep Learning
정칙화 Regularization
: “훈련오차가 아니라 일반화 오차를 줄이기 위해 학습 알고리즘에 가하는 모든 종류의 수정”
4. 수축 기법 = 정규화(Regularization)
패널티를 부과하여 계수를 수축하는 것
변수 p의 개수 ↑ ☞ 모델 과적합 위험 (편향 ↓ 분산 ↑)
☞ 모델의 계수 제한 ☞ 모델의 분산을 줄이는 시도 = 정규화(Regularization
정규화
Thanks to ISLR Chapter 6
10. 7.1.2 L1Regularization
𝛺 𝜃 = 𝑤 1 =
𝑖
𝑤𝑖
“L1 정칙화 항은 개별 매개변수의 절대값들의 합”
L2 정칙화에 비해 L1 정칙화는 좀 더 희소한(Sparse) 해를 산출한다
: 희소성(sparsity) = 최적값 0에 도달하는 매개변수가 있음
L1 정칙화가 유발하는 이러한 희소성은 예전부터
일종의 특징선택(Feature Selection)을 위한
하나의 메커니즘으로 활용되었다
Andrew Ng said
모델을 압축하겠다는 목표가 있지 않는 이상 L1을 사용하지 않는다
-> L1보다 L2의 사용이 압도적으로 높다
11. 7.2 Norm Penalties as Constrained Optimization(제약 있는 최적화로서의 노름 벌점)
𝐽 𝜃; 𝑋, 𝑦 = 𝐽 𝜃; 𝑋, 𝑦 + 𝛼𝛺(𝜃)
𝐿 𝜃, 𝛼; 𝑋, 𝑦 = 𝐽 𝜃; 𝑋, 𝑦 + 𝛼𝛺(𝜃 − 𝑘)
𝛺(𝜃)가 반드시 어떤 상수 k보다 작아야 한다는 제약을 가할 때,
𝜃∗ = 𝑎𝑟𝑔min
𝜃
max
𝛼,𝛼≥0
𝐿(𝜃, 𝛼)
제약 있는 문제(Constrained problem)의 해는 다음과 같다
𝛼∗고정
𝜃∗
= 𝑎𝑟𝑔min
𝜃
𝐿(𝜃, 𝛼∗
)
𝛼∗𝐽 k
12. 7.3 Regularization and Under-Constrained Problems(정칙화와 과소제약 문제)
선형회귀와 PCA를 포함한 기계학습의 여러 선형모형은 행렬 𝑋 𝑇
𝑋 의 역행렬에 의존
𝑋 𝑇 𝑋가 특이행렬이면 역행렬 X
생성 분포가 특정 방향에서 분산이 전혀 없거나,
특징보다 data가 적어서 분산이 관측되지 않을 때
Ex) 식수 특징 50개, data 30개
𝑋 𝑇
𝑋 + 𝛼𝐼 의 역행렬 풀면 됨
14. 7.5 Noise Robustness(잡음에 대한 강인성)
Other Way… 잡음을 입력이 아니라 가중치에 더하는 것..!
매개변수들의 크기 줄이기 잡음(Noise) 주입
7.5.1 Injecting Noise at the Output Targets(출력 목표들에 잡음 주입)
Y가 실수일 때, 즉 해당 견본의 정확한 이름표(Label)가 아닐 때, log(Y|x)를 최대화 하면 결과가 나빠짐
Label들에 명시적으로 잡음(Noise) 반영
Editor's Notes
#3:기계학습의 중심 문제는, 알고리즘이 훈련 자료 뿐만 아니라 새로운 입력에 대해서도 잘 작동하게 만드는 것
시험 오차의 감소가 주된 목표로 설계. 심지어, 훈련오차가 증가하는 대가를 치르더라도 시험 오차를 줄이려는 전략들이 있다
이러한 전략들을 통칭해서 정칙화라고 부른다
#6:알파가 클수록 정칙화의 영향이 커진다
Bias는 가중치들보다 적은 양의 자료로도 정확하게 적합시킬 수 있으며, 하나의 가중치는 두 변수의 상호작용 방식을 결정한다.
따라서 가중치를 잘 적합시키려면 다양한 조건들에서 두 변수를 관측할 필요가 있다. 그러나 하나의 bias 항은 하나의 변수만 제어한다.
-> 정칙화하지 않아도 분산이 아주 커지지는 않는다. 또한, 정식화하면 과소적합이 크게 발생할 수 있다. 따라서 가중치들만 정칙화한다.
#12:원칙적으로 k를 구할 수 있지만, k와 알파*의 관계는 J의 형태에 의존한다.
제약 영역의 정확한 크기를 알 수는 없지만, 알파를 증가하거나 감소해서 제약 영역의 크기를 어느정도 제어할 수 있다.
알파가 크면 제약영역이 작고, 알파가 작으면 제약영역이 크다.
옴(세타)<k를 만족하는 가장 가까운 점으로 투영하는 식으로 확률적 기울기 하강법 같은 알고리즘을 수정할 수 있다.
K의 바람직한 값을 이미 알고 있으며 그러한 k 값에 해당하는 알파 값을 찾느라 시간을 허비하고 싶지 않다면 이런 접근 방식이 유용할 수 있다.
#13:그러나 닫힌 형식의 해가 존재하지 않는 과고셜정(underdeterminded)문제를 풀어야 할 때도 있다.
Ex 선형 분리 로지스틱 회귀 적용 시 / 가중치 벡터 w로 견본들을 완벽하게 분류할 수 있다면, 2w로는 더 높은 가능도로 견본들을 완벽하게 분류가능. -> 프로그래머가 어떤 식으로 어떻게 처리하냐에 따라 다르다
#14:학습 모형의 일반화를 개선하는 최선의 방법은 더 많은 자료로 모형을 훈련하는 것
하지만 자료의 양은 한정
-> 가짜 자료를 만들어서 훈련 집합에 추가하는 것
#15:일반적인 경우, 잡음 주입(Noise)이 그냥 매개변수들의 크기를 줄이는 것보다 훨씬 강력할 수 있다.
특히, 은닉 단위들에 추가하면 그 효과가 더욱 강력
이름표 평활화(Label Smoothing)