5_딥러닝이론및응용 HW#1

2019021166 이민예 Date: 2019-09-18

1. 다음 훈련집합을 3차원 공간에 그리고, 선형분리 가능 여부와 그 이유를 제시하시오.

x1=(0,0,0)T,x2=(0,1,1)T,x3=(1,1,1)T,x4=(1,0,1)T,x5=(0,0,1)T,x6=(0,1,0)Tx1= (0,0,0)^T, x2 = (0,1,1)^T,x3= (1,1,1)^T, x4 = (1,0,1)^T,x5= (0,0,1)^T, x6 = (0,1,0)^T
y1=1,y2=1,y3=1,y4=1,y5=1,y6=1y1= 1, y2= 1, y3= 1, y4= -1, y5= -1, y6= -1

Answer:

1958년 Rosenblatt가 제안한 퍼셉트론 알고리즘을 이용하여, 선형 분리 가능 여부를 판단할 수 있다.

기본적인 퍼셉트론은 n차원 공간을 초평면(hyperplane)으로 2개의 결정영역으로 나뉘며, 초평면의 식을 다음과 정의한다.

a1x1+a2x2+a3x3=ba_1x_1+a_2x_2+a_3x_3 = b

이를 일반화 하면, 아래 식을 선형 분리 함수로 정의할 수 있다.

초평면 식을 행렬로 표현하면 (a1,a2,a3)(x1,x2,x3)T=b(a_1, a_2, a_3)(x_1, x_2, x_3)^T = b 이다. 초평면과 수직인 법선벡터(a1,a2,a3)(a_1, a_2, a_3) 이며, 원점으로 부터 초평면까지의 거리b/a2|b|/||a||_2 이다.

(a1,a2,a3)(x1,x2,x3)T(a_1, a_2, a_3)(x_1, x_2, x_3)^Tbb 와 같으면, 데이터는 초평면에 있고, (a1,a2,a3)(x1,x2,x3)T(a_1, a_2, a_3)(x_1, x_2, x_3)^Tbb 보다 크면, 초평면을 기준으로 위쪽 법선벡터 방향에 위치하며, (a1,a2,a3)(x1,x2,x3)T(a_1, a_2, a_3)(x_1, x_2, x_3)^Tbb 와 작으면, 데이초평면을 기준으로 아래방향에 위치한다. 주어진 훈련 집합에 대하여, 다음의 식을 만족하는 (a1,a2,a3)(a_1, a_2, a_3) 를 찾으면, 선형 분리가 가능하며, 그렇지 못하면 선형 분리가 가능하지 않다.

주어진 훈련집합 x1,x2,x3,x4,x5,x6x_1, x_2, x_3, x_4, x_5, x_6 을 대입하면,

  1. 0>b0 > b

  2. a2+a3>ba_2+a_3 > b

  3. a1+a2+a3>ba_1+a_2+a_3>b

  4. a1+a3<ba_1+a_3<b

  5. a3<ba_3<b

  6. a2<ba_2 < b

2번과 3번 식에 의해, a1>0a_1>0 이며, 4번과 5번 식에 의해, a1<0a_1 <0 이다. a1a_1 에 대해 두 식은 모순되므로, 주어진 훈련 집합을 선형 분리 하기 위한 초평면은 존재할 수 없게 된다. 따라서, 주어진 훈련집합에 대한 선형 분리가 불가능하다.

2. [예제1-1]에서 θ=(w,b)T=(0.1,0.4)T θ = (w,b)^T = (-0.1,0.4)^T 일 때 목적함수의 값을 계산하시오. 를 4.0으로 고정한다면, w를 얼마로 해야 목적함수가 최저가 되는 지 기술하시오.

Answer

목적함수는 다음과 같다.

J(θ)=1/nΣn(fθ(xi)yi)2J( θ) = 1/nΣ^n (f_ θ(x_i)-y_i)^2
f=wx+bf = w*x+b
  • x1,y1x_1, y_1 -> (fθ(2.0)3.0)2=((0.12.0+4.0)3.0)2=0.64(f_θ(2.0)-3.0)^2 = ((-0.1*2.0+4.0)-3.0)^2 = 0.64

  • x2,y2x_2, y_2 -> (fθ(4.0)4.0)2=((0.14.0+4.0)4.0)2=0.16(f_θ(4.0)-4.0)^2 = ((-0.1*4.0+4.0)-4.0)^2 = 0.16

  • x3,y3x_3, y_3 -> (fθ(6.0)5.0)2=((0.16.0+4.0)5.0)2=2.56(f_θ(6.0)-5.0)^2 = ((-0.1*6.0+4.0)-5.0)^2 = 2.56

  • x4,y4x_4, y_4 -> (fθ(8.0)6.0)2=((0.18.0+4.0)6.0)2=7.84(f_θ(8.0)-6.0)^2 = ((-0.1*8.0+4.0)-6.0)^2 = 7.84

이 값들을 목적함수에 대입하면, J(θ)=2.8J( θ) = 2.8 이다. 목적함수의 최솟값을 찾기 위해, 분석적 방법과 수치적 방법을 둘 다 사용해본다. 목적함수의 제곱의 역할은 그래프가 U 자형을 갖게 되며, 목적함수를 최저로 하는 w는 w에 대한 미분 (기울기) 가 0 인 지점이다. 즉, J(w)=0J'(w)=0ww 를 찾으면 된다. 시그마 미분 공식을 적용해서, 목적함수를 1차 미분한 공식은 아래와 같다.

위 식을 정리하면, 60w10=060w-10=0 이 되고, w=1/6(0.16666667)w = 1/6 (0.16666667) 이 된다. 이렇게 한번에 계산하는 것이 분석적 방법이고, 차원이 낮고 목적함수가 단순한 경우에 적용가능하다. 하지만, 기계 학습은 이러한 조건을 벗어나므로 수치적 방법을 사용한다.

3. [그림 1-10] 은 4차원 특징 공간을 여러 개의 2차원 조합으로 나누어 그린 것이다. 4개 특징 중에 2개만 사용해야 한다면 어느 쌍을 사용할지 개략적으로 설명하시오.

Answer

차원의 저주는 Richard Bellman, Dynamic Programming (1957) 에서 처음 소개되었다. 유클리드 공간에 차원이 증가하게 되면, 부피가 기하급수적으로 증가한다는 것이다. 이러한 차원의 저주를 늘리기 위해, 학습 데이터량을 늘리는 방법이 있지만 데이터 셋의 크기에 비해, 차원은 기하급수적으로 증가하기 때문에 매우 힘든 방법이다. 따라서 데이터에 대해서 이해하고, 특징 추출 및 특징 선택 방법으로 차원을 축소해야한다. 특징 선택을 위한 시각화 자료는 다음과 같다.

3행 또는 3열을 통해 꽃잎 길이(Petal's Length)로 setosa를 versicolor와 virginica 로부터 확실히 구분할 수 있다. 또한, 4행 또는 4열을 통해 꽃잎 너비가 약 1.5를 기준으로 작으면 versicolor, 크면 virginica 를 분류할 수 있다.

그림으로 보아도, setosa의 꽃잎 길이는 versicolor와 virginica와 달리 눈에 띄게 짧음을 볼 수 있다.

4. UCI 레퍼지토리에서 특징 벡터의 차원이 100이하인 데이터베이스 2개, 100보다 크고 1000이하인 것 2개, 1000보다 큰 것 2개를 선정하여 부류 개수, 특징 개수, 샘플 개수를 조사하시오.

Answer

  1. 특징 벡터 차원 100 이하 :

    1. Phishing Websites Data Set (Computer Security)

      1. 부류 개수 : 3개 (phishing, legitimate, suspicious)

      2. 특징 개수 : 30개

      3. 샘플 개수 : 2,456개

    2. Heart Disease Data Set (Life)

      1. 부류 개수 : 2개 (1,0)

      2. 특징 개수 : 75개

      3. 샘플 개수 : 303개

  2. 특징 벡터 차원 100 초과 1000 이하 :

    1. Arrhythimia Data Set (Life)

      1. 부류 개수 : 16개 (1:정상, 2~15:부정맥 종류, 16:분류가 안된 것)

      2. 특징 개수 : 279개

      3. 샘플 개수 : 452개

    2. FMA : A Dataset For Music Analysis Data Set (Computer)

      1. 부류 개수 : 161 genres

      2. 특징 개수 : 518개

      3. 샘플 개수 : 106,574개

  3. 특징 벡터 차원 1000 이상 :

    1. URL Reputation Data Set (Computer)

      1. 부류 개수 : 2개 (1:malicious URL, 0: benign URL)

      2. 특징 개수 : 3,231,961개

      3. 샘플 개수 : 2,396,130개

    2. CNAE 9 Data Set (Business 국가 경제 활동 분류)

      1. 부류 개수 : 9개

      2. 특징 개수 : 857개

      3. 샘플 개수 : 1,080개의 문서

Reference

-오차함수 편미분 공식: https://medium.com/meta-design-ideas/linear-regression-by-using-gradient-descent-algorithm-your-first-step-towards-machine-learning-a9b9c0ec41b1

-수치적방법을 이용한 최저점찾기: https://rstudio.cloud/project/522708

Last updated