10_딥러닝이론및응용 HW#2 (놈)

2019021166 이민예 Date: 2019-09-28

5. 놈을 계산하시오.

머신러닝, 딥러닝에서 최저점에 빠르게 수렴할 수 있는 방법중에 하나로 정규화가 있다. 우리는 x 를 x 의 놈으로 나눌 수 있다. 파이썬에서는 numpy.linalg.norm 을 사용하여 놈을 구할 수 있다. 2 by 3 행렬이 들어가면, axis 파라미터를 0으로 두면 2에 해당한다. 2개씩 묶어서 놈을 계산해주고 그 값을 x 에 나누어준다. 소프트맥스는 두 개 이상의 클래스를 정규화한다고 볼수 있다.

For example, if then and

Answer

(1) x=(3,4,1.2,0,2.3)Tx=(3, -4 , -1.2 ,0, 2.3)^T 의 1차, 2차, 3차 놈과 최대놈

  • 1차놈은 10.510.5 이다. 벡터 원소의 절대값의 합과 같다.

  • 2차놈은 5.632938842203065(31.73)5.632938842203065 (√31.73) 이다.

  • 3차놈은 4.7161208911767974.716120891176797 이다.

  • 최대놈은 44 이다. p놈에서 p에 {\displaystyle \infty } 를 대입한 값이며, 벡터 원소의 절대값 중 가장 큰 값에 수렴하여, 최댓값을 사용하면 된다.

(2) (2,1;1,5;4,1)(2 ,1; 1, 5;4 ,1) 의 프로베니우스 놈

  • 프로베니우스 놈은 6.9282032302755096.928203230275509 이다. 프로베니우스 놈은 행렬에서 정의된 2차놈과 같이 각 원소 제곱의 합의 제곱근이다. 행렬은 n×m 이고 벡터는 n×1와 같이 한쪽이 1이다. Frobenius norm 식은 AL=(ijaijL)1/L∥A∥_L=(∑_i∑_j |a_ij|^L)^1/L 이다.

놈의 정의 XRnX ∈R^n 일 때,

X=<X,X>||X|| =√ <X,X>

로 표기하고, X||X||XX 의 (Euclidean) norm 이라고 부른다. Norm 은 벡터의 길이로 해석된다. 벡터의 내적은 <X,X>=XTX=Σnxi2<X,X> =X^TX=Σ^n|x_i|^2 와 같이 정의되며, 놈의 차수를 고려하면 p norm 이 된다.

p norm

p가 1이면 L1 norm, Manhattan norm, 또는 택시기하학에서의 거리로, Taxicab norm 이라고 한다. p 가 2이면 Euclidean norm, p 가 무한대이면, maximum norm, 상한노름 또는 Supremum Norm 이라고 한다.

L1 norm, L2 norm 피타고라스 정리에 의한 삼각형 빗변의 길이를 구하는 공식을 생각하면 수월하다. 그것을 L2 norm이라고 한다. 아래 그림에서 볼 수 있듯이, L1 norm 은 다양하게 표현할 수 있는 반면, L2 norm 은 unique shortest path 이라고 생각하면 편하다. L1 손실보다 L2 손실이 오차의 제곱을 더하기 때문에 outlier에 더 민감하다고 볼 수 있다.

L1 Loss

L1(y^,y)=i=0my(i)y^(i)(6)\begin{align*} & L_1(\hat{y}, y) = \sum_{i=0}^m|y^{(i)} - \hat{y}^{(i)}| \end{align*}\tag{6}

L2 Loss

L2(y^,y)=i=0m(y(i)y^(i))2(7)\begin{align*} & L_2(\hat{y},y) = \sum_{i=0}^m(y^{(i)} - \hat{y}^{(i)})^2 \end{align*}\tag{7}

6. [예제 2-3] 에서 T=2.0T=2.0 으로 바뀌었다고 가정하고 [그림 2-4(b)] 를 새로 그리시오. TT 가 변함에 따라 어떤 변화가 나타나는지 설명하시오.

Answer

초평면의 식은 w1x1+w2x2+w3x3T=0w_1x_1+w_2x_2+w_3x_3 -T =0 이다. 가중치 벡터 (w1,w2,w3)T(w_1, w_2, w_3)^T 초평면과 직교한다. 또한 원점과 평면의 거리 식 T/w2T/||w||_2 로 부터 초평면은 원점으로 부터 1.168412475671.16841247567 만큼 떨어져있다.

T가 2배 증가하면서, 거리의 식 T/w2T/||w||_2 에 의하여 거리도 2배 멀어짐을 알 수 있다. 즉, 원점으로 부터의 초평면의 거리는 TT 에 비례한다.

점과 직선, 평면 사이 거리

7. 아래 그림은 x1x_1x3x_3 축이 이루는 평면이 결정평면인 상황이다. 이에 해당하는 퍼셉트론을 [그림 2-4(a)]처럼 제시하시오.

Answer

초평면은 x1,x3x_1, x_3 에 평행하므로, w1,w3w_1, w_3 00 이다. 또한, 원점으로 부터 초평면의 거리가 00 이므로 TT 값도 00 임을 알 수 있다.

9. 윷놀이에서 P(k)=0.4, 0.5, 0.6인 3가지 경우에 대해 답하시오.

Answer

  • 각 경우의 확률분포를 구하시오.

윷놀이에서 뒷면이 나올 확률 p 가 증가할 수록,

  1. 뒷면의 갯수가 많은 도와 모가 나올 확률은 증가하였다.

  2. 앞면의 갯수가 많은 걸, 윷이 나올 확률은 감소하였다.

  3. p가 0.4, 0.6일 때보다 p가 0.5일때, 개가 나올 확률이 더 크다.

  • 각 경우의 엔트로피를 구하시오.

자기 정보가 특정 사건 eie_i 의 정보량을 측정하는 반면, 엔트로피는 확률분포의 무질서도 또는 불확실성을 측정한다.

H(x)=ΣP(ei)log2(P(ei))H(x) = -ΣP(e_i)log_2(P(e_i))

p=0.4,p=0.6p=0.4, p=0.6 보다 p=0.5p=0.5 일 때 어떤 사건이 일어날 지 예측하기 어렵다. 다른 말로 더 무질서 하고, 불확실성이 크다. 따라서 p=0.5p=0.5 일 때, 엔트로피가 가장 큰 것을 확인하였다.

p

H(x)

0.4

1.992039비트

0.5

2.030639비트

0.6

1.992039비트

  • p(k)=0.4 와 p(k)=0.5의 교차 엔트로피와 p(k)=0.4와 p(k)=0.6의 교차 엔트로피를 구하시오. 어느 것이 큰지 확인하고 그 이유를 설명하시오.

  • p(k)=0.4, p(k)=0.5의 KL 다이버전스와 p(k)=0.4와 p(k)=0.6의 KL 다이버전스를 구하시오. 어느 것이 큰지 확인하고 그 이유를 설명하시오.

교차 엔트로피와 KL 다이버전스는 비례한다. 따라서, p(k)=0.4와 p(k)=0.6의 교차 엔트로피, KL 디바이전스가 p(k)=0.4, p(k)=0.5의 교차 엔트로피, KL 디바이전스보다 크다. KL 디바이전스는 ppqq 의 분포의 차이가 멀어질수록 커진다.

10. 특징 벡터가 3차원이면 퍼셉트론은 매개변수 4개를 가진다. [그림 2-4(a)]가 이 경우에 해당한다. 모든 매개변수 [-1, 1] 범위에 있고, 이 범위를 0.0001 간격으로 나누어 탐색한다고 가정한다.

Answer

  • 탐색해야 하는 점의 개수를 쓰시오. 점 하나를 평가하는데 0.01밀리초가 걸린다면, 학습에 걸리는 시간은?

    • 탐색해야 하는 점의 개수는 160000000000000000160000000000000000 이다.

    • Exhaustive Algorithm을 사용하였을 때, 한 매개변수 당 탐색해야 하는 점의 개수는 2000020000 개이고, 총 4개의 매개변수를 가지므로, (20000)4=160000000000000000(20000)^4=160000000000000000 이다.

    • 이를 학습하는데 걸리는 시간은 16000000000001600000000000 초가 걸리며, 이는 대략 2057620576 년이 걸린다.

start = -1
end = 1
sum = -1
step = 0.0001
loop = -1
while sum < end:
  sum += step
  loop += 1
param_num = 4
total = pow(loop, param_num)
learning_time = total*0.01*0.001
learning_time_min = learning_time/60
learning_time_hour = learning_time_min/60
learning_time_day = learning_time_hour/24
learning_time_month = learning_time_day/30
learning_time_year = learning_time_month/30
  • [그림 1-6]에 있는 Wine 데이터베이스의 특징 벡터는 13차원이다. 앞의 가정을 그대로 적용한다면 Wine 데이터베이스를 학습할 때 점의 개수와 학습에 걸리는 시간을 쓰시오.

    • 매개변수가 14개 이다.

    • 탐색해야 하는 점의 개수는 16384000000000000000000000000000000000000000000000000000000001638400000000000000000000000000000000000000000000000000000000 이다.

    • 한 매개변수 당 탐색해야 하는 점의 개수는 2000020000 개이고, 총 14개의 매개변수를 가진다.

    • 이를 학습하는데 걸리는 시간은 1.6384000000000003e+551.6384000000000003e+55 초가 걸리며, 이는 천문학적으로 셀 수 없는 시간이 걸린다.

11. f:R3>R2f:R^3->R^2 인 다음 벡터 함수의 야코비안 행렬을 구하시오.

f(x)=(3.9x1+x232.3x32,2x1x2x32)Tf(x)=(3.9x_1+x_2^3-2.3x_3^2, -2x_1x_2x_3^2)^T

Last updated