정리 노트

19일 차(2022/07/28) 본문

[TIL]국민대X프로그래머스 여름방학 인공지능 과정

19일 차(2022/07/28)

꿈만 꾸는 학부생 2022. 7. 28. 22:52
728x90

오늘 세션에서 딥러닝에 대한 기초적인 부분에 대해 배웠습니다.

인공지능의 학습 방법

지도 학습

지도 학습은 답을 주면서 학습시키는 유형입니다. 지도 학습의 방식으로 회귀분류 등이 있습니다.

회귀는 주로 미래에 있을 입력에 대해 출력을 예측할 때 사용하고, 분류는 데이터들을 특정 기준에 따라 나눌 때 사용합니다.

비지도 학습

비지도 학습은 답을 주지 않으면서 학습시키는 유형입니다. 비지도 학습의 방식으로 클러스터링차원 축소 등이 있습니다.

클러스터링은 비슷한 유형끼리 그룹화할 때 사용하고, 차원 축소는 고차원 데이터의 차원을 축소시켜 새로운 데이터를 생성할 때 사용합니다.

기본 수학 지식

딥러닝이 작동하는 방식을 이해하려면 아래 세 가지는 기본적으로 알고 있어야 합니다.

  • 벡터
  • 행렬
  • 미분

선형 회귀

선형 회귀는 주어진 데이터를 학습시켜 가장 그럴듯한 선형 함수(1차 함수)를 찾아내는 접근 방법입니다. 주어지는 데이터는 3개 이상이어야 의미가 생깁니다.

선형 회귀에서 사용하는 가설 함수는 주로 H(x) = Wx + b 모양으로 설정합니다. 여기서 x는 입력 값이고 W, b는 데이터를 학습시키면서 찾아야 하는 값들입니다.

데이터를 학습시킬 때 예측 값과 실제 결과와 차이가 생길 때가 많습니다. 이 차이를 주로 비용(cost)이라 부릅니다. 회귀에서는 이 비용을 최소화시키는 것을 목적으로 합니다. 위에 적은 가설 함수일 때 비용에 대한 함수는 아래와 같을 것입니다.

cost(W, b) = 1/m∑(H(xi) - yi)**2 (m은 자연수, i는 1부터 m까지의 자연수)

최솟값을 찾기 위해 미분이 사용됩니다. 함수의 미분은 기울기 값을 구할 수 있기 때문에 기울기 값이 0이 되도록 데이터를 학습시키면서 W, b값을 수정하게 됩니다. 이때 미분을 W와 b에 대해 각각 수행해야 하는데 이럴 때 편미분이 사용됩니다. 이런 식으로 미분을 통해 기울기가 최소인 방향으로 가는 방법을 경사 하강법이라 합니다.

다변수 선형 회귀

다변수 선형 회귀로 들어오면 변수가 많이 늘어납니다. 이에 따라 가설 함수의 형태도 변합니다. 이때 가설 함수를 주로

H(x1, x2, x3, ..., xn) =  w1*x1 + w2*x2 + w3 * x3 + ... + wn * xn + b(n은 2 이상의 자연수) 형태로 설정합니다.

데이터를 한 번에 여러 개를 줄 수도 있는데 이럴 때 행렬 곱을 이용합니다.

[x11, x12, x13]       [w1         [x11 * w1 + x12 * w2 + x13 * w3]

[x21, x22, x23]    *  w2    =    [x21 * w1 + x22 * w2 + x23 * w3]

[x31, x32, x33]       w3]         [x31 * w1 + x32 * w2 + x33 * w3]

[x41, x42, x43]                      [x41 * w1 + x42 * w2 + x43 * w3]

로지스틱 회귀

만약 결과 값이 0 또는 1만 있는 데이터의 경우에서 분류 문제를 풀려고 하는 경우 선형 회귀로 푸는 데는 한계가 있습니다. 여기서 나오는 것이 로지스틱 회귀입니다.

위와 같은 경우처럼 0 또는 1로 나누는 이진 분류인 경우 Sigmoid 함수를 사용하는 것이 편합니다. Sigmoid 함수는 항상 0에서 1 사이의 값만을 출력합니다. Sigmoid 함수를 이용해 가설 함수를 H(X) = 1 / 1 + e**(-XW) 형태로 설정할 수 있습니다. 여기서도 비용을 최소화하는 방식으로 학습을 진행하기 위해 미분을 사용해야 합니다. 하지만 Sigmoid 함수는 선형 회귀에서의 가설 함수처럼 볼록 모양이 아니기 때문에 기존의 선형 회귀에서 썼던 방법을 적용하기 어렵습니다. 그래서 로지스틱 회귀에서 사용되는 비용 함수에는 엔트로피가 사용됩니다.

엔트로피는 특정 시스템이 얼마나 불안정했는지 알려주는 근거로 사용될 수 있는 것으로 아래와 같습니다.

H(P, Q) = -∑P(x) log(Q(x)) (P(x)는 실제 확률, Q(x)는 예측 확률)

엔트로피를 이용해 로지스틱 회귀에서의 가설 함수는 아래와 같습니다.

c(H(x), y) = -ylog(H(x)) - (1 - y)log(1 - H(x)) (y는 0, 1)

Softmax

지금까지 위에서 Sigmoid를 사용한 경우는 이진 분류에서 많이 사용합니다. 이진 분류의 경우 마록, 여러 클래스(모델)의 결과를 모두 합한 값을 1로 만들기 위해 Softmax를 사용합니다. Softmax를 사용할 때 비용 함수는 크로스 엔트로피 비용 함수를 사용합니다.

728x90

'[TIL]국민대X프로그래머스 여름방학 인공지능 과정' 카테고리의 다른 글

27일 차(2022/08/09)  (0) 2022.08.09
26일 차(2022/08/08)  (0) 2022.08.08
14일 차(2022/07/21)  (0) 2022.07.21
11일 차(2022/07/18)  (0) 2022.07.18
10일 차 (2020/07/17)  (0) 2022.07.17