퍼셉트론의 원리
- 입력 값(입력 벡터) 과 가중치(가중치 벡터)의 일차 선형 결합으로 출력값이 결정
- 출력값을 활성함수의 input value로 사용
- 정확한 값을 계산하는 회귀(regression)가 아니며 threshold(임계값)을 기준으로 이진 분류를 하는 문제가 주어질 때, 활성함수로 계단함수를 활용할 수 있음
- 특징 벡터를 1과 -1로만 변환하는 이진 분류기
행렬 표기
- 행렬을 표기할 때, 대문자로 표기
- W와 X는 1 * d 행렬
- 행렬 연산을 위해서는, (앞 행렬의 열의 수) 와 (뒤 행렬의 행의 수)를 일치시켜야 함
- 따라서, 뒤에 등장하는 Matrix X를 전치행렬로 표기 (행 ↔ 열)
- 파이썬에서의 행렬 계산과정
- 별도의 전치행렬 변환과정이 필요없음. 간단한 array의 곱으로 표현 가능
신경망의 학습
- 실제 문제 상황
- 데이터만 주어지므로 학습 알고리즘이 가중치를 직접 알아내야 함.
- 학습 원리
do initial W
While(true):
w에 따른 손실함수 J(w) 계산
if (J(w) is satisfied) break
delta(w)
w = w + delta(w)
weigths = w
손실 함수 설계
- ML은 어느 지점이 Local Minimum인지 Global Minimum인지 알 수 없음
- Learning rate을 작게 설정한 경우, Local Minimum에 갇혀서 최적의 값을 찾지 못할 수도 있음
- Learning rate을 크게 설정한 경우, 이동이 커서 Minimum을 찾지 못할 수도 있거나 방향 전환이 잦을 수 있음
학습 알고리즘 설계
- 실제 데이터에 적합하는 함수를 알지 못함.
- 따라서, 손실함수에서는 실제 값과 계산된 예측값 사이의 차이를 손실함수에 반영