-
[Week 4] Neural Networks - ApplicationsCourses/Andrew Ng - Machine Learning 2022. 1. 8. 16:50
Examples and Intuitions
인공 신경망을 통해 비선형 분류 문제를 해결하는 예시입니다. 샘플처럼 O와 X가 나뉘어져 있으면 가설은 분명 고차 다항식으로 표현될 것입니다. 왼쪽 그래프는 논리 연산을 통해 표현할 수 있습니다. x1과 x2는 상호 배타적입니다. 즉 x1이 1이거나 x2가 1인 경우만 참입니다. 혹은 XNOR 일 때도 동일한 결과입니다. ( x1,x2가 둘 다 0 이거나 1일 때 참).
논리 연산을 계산하는 신경망을 구현합니다.
AND 연산입니다. theta를 -30 20 20 으로 주고 x1과 x2에 (0,0),(1,0),(0,1),(1,1) 을 대입해봅니다. (0,0)이면 g(-30)입니다. 시그모이드 함수에서 -30은 0으로 수렴하므로 0, 즉 false값이라고 생각합니다. (1,0) 도 -10으로 false 입니다. (0,1) 도 false 입니다. (1,1)은 10으로 1에 수렴하여 true입니다. AND 연산을 구현하였습니다. 다른 논리 연산도 이렇게 파라미터를 조절함으로써 수행할 수 있습니다. 같은 방법으로 OR 연산도 구현 가능할 것 입니다.
위 그래프는 NOT 연산입니다. x1에 어떤 값을 대입하여도 항상 반대되는 값에 수렴합니다. 일반적으로 네거티브를 원하는 변수 앞에 음수값 파라미터를 줍니다.
지금까지 만든 작은 논리 연산 신경망을 사용하여 XNOR을 구현해봅시다. XNOR은 두 변수의 입력이 같을 때만 참입니다. 그래서 AND 연산과 (not x1) AND (not x2) 연산을 OR합니다. 오른쪽 진리표를 보면 이해가 빠를 것 입니다. 각 layer의 연산 유닛을 계산하기 위해 필요한 논리 연산에 따른 적절한 파라미터 값을 세팅합니다. 두 번째 층에 바이어스 유닛을 추가하여 a^3출력 노드를 계산합니다. 진리표를 정리하면 XNOR을 신경망을 사용하여 구하게 됩니다.
Multiclass Classification
지금까지는 클래스가 하나인 분류 문제를 예시로 들었지만 신경망 알고리즘도 멀티 클래스 문제에 적용할 수 있습니다.
결과 벡터 y는 [1;0;0;0] , [0;1;0;0] 따위의 꼴일 것이고 각 원소는 그에 상응하는 이미지를 분류한 것 입니다. 위의 문제의 경우는 [1;0;0;0]이면 보행자 , [0;1;0;0] 이면 자동차 .. 이런 식으로 말입니다. 가설 h도 동일한 차원의 벡터가 됩니다. 입력 데이터 셋을 받고 신경망 알고리즘을 통해 학습시켜 가설은 가장 가능성이 높은 분류값을 출력하게 됩니다.
혼자서 강의를 듣고 정리한 것이니 틀린 점이 있다면 언제든지 지적 부탁드립니다 :)
'Courses > Andrew Ng - Machine Learning' 카테고리의 다른 글
[Week 5] Backpropagation in Practice (0) 2022.01.10 [Week 5] Cost Function and Backpropagation (0) 2022.01.10 [Week 4] Neural Networks (0) 2022.01.03 [Week 3] Logistic Regression Model (0) 2021.12.30 [Week 3] Classification and Representation (0) 2021.12.29