분류(classification)와 예측(prediction)
분류 : 데이터들을 특정 기준으로 나눌 수 있는 ‘선형구분자’를 설정하여 분류. 오차를 이용하여 구분자의 기울기를 조정하는 것을 ‘학습’이라고 한다.
- Error = target – actual
Learning rate(L) : 학습률은 업데이트의 정도를 저장
update parameter : new A = A + dA = A + L(E/x).
예측 : 새로운 data가 들어오면 구분자에 의해 어떤 output으로 분류될지 판단 => 예측과 분류는 다른 것이 아님
XOR 문제의 경우 선형분류자는 하나가 아니다 -> 여러개의 선형 분류자를 이용 -> 인공신경망은 여러개의 분류자가 함께 동작
인공신경망
인공뉴런은 X1부터 Xn까지 입력 값에 각각 W1부터 Wn까지의 가중치를 곱하고 그 모든 합이 임계치(threshold)가 초과되면 출력값이 발생
activation functoin(활성화 함수) : 여러 입력신호를 받아 특정 threshold를 넘어서는 경우에 출력 신호를 생성하는 함수 -> sigomoid 함수(=logistic 함수)가 대표적이다. => y = 1 / (1+ e^-x)
인공신경망 : 상호연결된 생물학적 뉴런을 인공적으로 모델화 한 것으로, 다수의 인공뉴런을 가지고 있는 layer를 여러 층으로 쌓은 후 이전 layer와 이후 layer의 모든 인공뉴런들이 연결되어 있다. 이때 각각의 연결에 weight(가중치)가 존재하는데 학습과정을 통해 weigjt값들을 조정함으로써 input에 대해 올바른 output이 나올 수 있도록 한다.
신경망에서 신호를 전달하는 연산은 행렬곱을 통해 표현
forward propagation : output = sigmoid(X1*W1 + X2*W2 + ... + Xn*Wn)
인공신경망에서의 학습
- 입력 값을 이용하여 인공 뉴런의 출력 값을 계산
- 인공 뉴런이 계산한 출력 값과 사용자가 기대하는 출력 값을 비교. => Error = target – actual
back propagation : error 정보가 뒤쪽으로 계속 전파
중간 계층에 존재하는 노드들의 오차는 출력계층 노드들의 오차를 가중치에 크기에 비례해 나눠서 back propagation
back propagation은 행렬곱으로 표현 : Error(hidden) = W.T(hidden-output) * Error(output)
가중치 업데이트 : 함수의 최저점을 구하는 Gradient Descent 기법을 학습 목표 값과 실제 값 간의 차이를 구하는 Error function에 적용 -> error function = (target-actual)^2인 이차함수 이므로 error function의 최저점은 error function의 기울기(dE/dw)가 가장 작은 지점 -> dE/dw =
-> new W = old W – (LearningRate * (dE/dw))
'CS > AI' 카테고리의 다른 글
5. Heuristic Search (0) | 2020.07.10 |
---|---|
4. Intelligent Software Agent 와 Symbolic AI (0) | 2020.07.10 |
3. Convolutional Neural Network (0) | 2020.07.10 |
1. AI introduction (0) | 2020.07.10 |
인공지능, 머신러닝, 딥러닝 개요 (0) | 2020.03.16 |