4주차부터 학습 내용 : Neural Networks이라 불리는 학습 알고리즘
앞서 배운 선형 회귀와 로지스틱 회귀가 기계학습에 사용되고 있는데, 이 알고리즘은 왜 필요할까?
1. Motivations
- Non-linear Hypothesis
ex. Housing Problem
두 개의 feature간의 상관 정도 : 선형 회귀 -> 하지만 기계 학습에서는 2개보다는 더 많은 feature가 필요
feature에 따른 주택 값을 예측 : 분류 문제 -> 비선형적
but, feature가 많을수록, 모든 요소를 고려하기에는 너무 많고 Overfitting의 문제가 발생할 수 있음
-> 대안 : 요소 중에 어떤 부분집합만 포함
-> 요소가 많을수록 급격하게 요소 공간을 확대하게 되므로, 비선형적 분류를 위해 요소를 추가하는 방식은 좋지 않음
ex. Car Detection - Computer Vision Problem
이미지의 2개의 pixel을 기준으로 Car / Non-Car로 분류 -> 비선형적 형태로 분류가 나타남.
작은 이미지인 50X50 픽셀이미지를 사용한다고 해도, 흑백일 경우 n = 2500 컬러일 경우 RGB로 인해 R/G/B값 나눠서 반영되므로 n = 7500 (2500*3)이 된다. 히지만 (xi x xj) 형태의 모든 항이니까 3백만개로 급증하므로, 단순 로지스틱 회귀로 n이 클 때 학습하기에 좋은 방법이 아니다.
- Neurons and the Brain
Origin : 뇌를 모방하려는 알고리즘
'One learning algorithm' hypothesis - Neuro rewiring experiment
ex. Auditory Cortex 실험 : 귀에 시그널을 통해 들을 수 있도록 하는 부위인데, 이를 귀와의 연결을 끊고 눈과 연결했을때 Auditory Cortex가 시각을 학습하여 처리
ex. Somatosensory Cortex : 위의 실험과 동일하게 감각을 담당하는 부위에 시각을 연결했더니 시각을 학습 처리
+ Sensor representations in the brain.. 여러 실험들
2. Neural Networks
뉴런 : 두뇌의 세포
수상돌기(dendrite)로부터 입력받아 뉴런에서 특정 계산을 처리하고
축색돌기(Axon)으로 출력하여 다른 노드나 뉴런으로 전송
- x0 " bias unit " : 항상 값이 1, 가독성을 위해 생략하기도 함
- Sigmoid (logistic) activation function : 비선형 함수 g(z) = 1 / 1+e^-z
- theta는 이전 주차와 동일하게 사용하며, Neural Network에서 가중치라고도 불린다
If network has sj units in layer j and sj+1 units in layer j+1, then Θ(j) will be of dimension sj+1×(sj+1).
ex. layer 1 : 2 input node / layer 2 : 4 activation node ? Dimension of Θ(1) = 4 x 3
Forward propagation : input -> hidden -> output 계산이 처리되는 과정
logistic regression : x1, x2, x3 input 값으로 사용
neural network : a1, a2, a3이라는 새로운 값으로 사용
즉, layer 1의 x1, x2, x3을 Big theta (가중치)에 따라 학습된 a1, a2, a3로 학습을 한다
3. Applications
- AND 연산
이와 같은 구조일 때, Θ(1) = [-30 20 20]
cf)
- OR 연산
Θ(1) = [-10 20 20]일 때,
- Multiclass Classification : 하나 이상의 카테고리로 분류 ex. 손글씨 숫자 인식
one-vs-all의 확장된 방법 이용
'Dev > Coursera - Machine Learning' 카테고리의 다른 글
[Coursera ML][5주차] Neural Network : Learning (0) | 2020.03.03 |
---|---|
[Coursera ML][3주차] Logistic Regression (로지스틱 회귀) (0) | 2020.02.11 |
[Coursera ML] [2주차 복습] Octave Tutorial (0) | 2020.02.10 |
댓글