(복잡한 계산이지만 사실 Xβ를 계수 β에 대해 미분한 결과인 XT만 곱해지는 것)
=> 목적식을 최소화하는 β를 구하는 경사하강법 알고리즘
β(t+1)←−λ∇β∣∣y−Xβ(t)∣∣
이론적으로 경사하강법은 미분가능하고 볼록한 함수에 대해선 적절한 학습률과 학습횟수를 선택했을 때 수렴이 보장되고 있음.
=> But,비선형회귀 문제의 경우 목적식이 볼록하지 않을 수 있으므로 수렴이 항상 보장되지는 않음.
=> 확률적 경사하강법(SGD)를 사용하여 최적화할 수 있음.
SGD : 데이터 한개 또는 일부를 활용하여 업데이트
(경사하강법에서는 모든 데이터를 사용해 업데이트)
2. 확률론
딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있음.
히귀 분석에서 손실함수로 사용되는 L2-norm은 예측오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도
분류 문제에서 사용되는 cross-entropy는 모델 예측의 불확실성을 최소화하는 방향으로 학습을 유도.
확률변수는 확률분포 D에 따라 이산형과 연속형 확률변수로 구분됨.
이산형 확률변수는 확률변수가 가질 수 있는 경우의 수를 모두 고려하여 확률을 더해서 모델링함. (P(X=x)는 확률변수가 x값을 가질 확률로 해석할 수 있음)
P(X∈A)=x∈A∑P(X=x)
연속형 확률변수는 데이터 공간에 정의된 확률변수의 밀도(density)위에서의 적분을 통해 모델링함.(밀도는 누적확률분포의 변화율을 모델링하며 확률로 해석하면 안됨.)
P(X∈A)=∫AP(x)dx
기대값(expectation,mean)은 데이터를 대표하는 통계량이면서 동시에 확률분포를 통해 다른 통계적 범함수를 계산하는데 사용됨.
연속확률분포의 경우엔 적분을
Ex∼P(x)[f(x)]=∫Xf(x)P(x)dx
이산확률분포의 경우엔 급수를 사용
Ex∼P(X)[F(x)=x∈X∑f(x)P(x)
확률분포를 모를때 데이터를 이용하여 기대값을 계산하려면 몬테카를로(Monte Carlo) 샘플링 방법을 사용해야 함.
몬테카를로 샘플링은 독립추출만 보장된다면 대수의 법칙에 의해 수렴성을 보장.
최대가능도 추정법(maximum likelihood estimation, MLE)
- likelihood 함수는 모수 θ를 따르는 분포가 x를 관찰할 가능성을 뜻하지만 확률로 해석하면 암됨.
θMLE=argmaxL(θ;x)=argmaxP(x∣θ)
데이터 집합 X가 독립적으로 추출되었을 경우 로그가능도를 촤적화함.
데이터의 숫자가 수억 단위가 된다면 컴푸터의 정확도로는 likelihood를 계산하는 것은 불가능함.
=> 데이터가 독립이리 경우, 로그를 사용하면 likelihood의 곱셈을 로그가능도의 뎃셈으로 바꿀 수 있기 때문에 컴퓨터로 연산이 가능해짐.
경사하강법으로 likelihood를 최적화할 때 미분 연산을 사용하게 되는데, 로그 가능도를 사용하면 연상량을 O(n2)에서 O(n)으로 줄여줌(효율적(
3. CNN
4. RNN
과제 수행 과정 / 결과물 정리
필수과제 1,2,3은 피드백할 내용이 없음.
(정규표현식을 잘 알아서 코드를 간결하게 짜자)