Model Representation
1. Input wire : Dendrite
2. Output wire : Axon
3. 뉴런의 기능을 단순화 해봤을 때, 뉴런은 계산 단위이고, 여러개의 입력 단자로부터 값을 받아 특정 계산을 수행하고 축삭돌기를 통해 출력값을 다른 노드나 뉴런으로 보낸다.
1. 덴드라이트를 통해 받아들이고, 정보를 처리하여, 액손을 통해 출력한다.
1. 우리가 모델로 사용할 뉴런은 논리적인 단위다.
2. 노란색 원을 뉴런의 본체로 본다면, x1,x2,x3를 input wire(dendrite)로 뉴런에 데이터를 공급한다. 본체는 어떤 계산을 하고, axon을 통해 ouput을 산출한다. 여기서 h(x)는 로지스틱회귀함수에서 사용했던 액티베이션 함수가 들어가 있다.
3. X0는 bias unit이라고 하는데, 이는 편의상 생략하기도 한다.
4. 이러한 인공 뉴런을 Logistic activation 함수라고 부른다
5. 파라미터 세타는 뉴럴 네트워크 용어로 Weight(가중치)라고 부른다.
1. 인공신경마응ㄴ 여러개의 뉴런 그룹들이 연결된 것이다.
2. x1,x2,x3는 입력 유닛이다. a1,a2,a3,는 세 개의 뉴런이다. 마지막 레이어는 가설 h(x)를 계산한다.
3. x1x2x3는 인풋레이어가 되고, 마지막 레이어는 아웃풋 레이어, 그리고 그 사이의 레이러를 히든레이어라고 부른다.
1. 에이의 supercript(위첨자) j, subscript(아래첨자) i는 j레이어의 i번째 유닛의 액티베이션 함수를 의미한다.
2. 세타는 가중치로서 현재 레이어에서 다음 레이어로 매핑되는 것(값을 조절)을 조절한다.
3. 이러한 레이어의 값 계산은 행렬로 표현할 수 있다.
4. 3개의 인풋 유닛, 3개의 히든 유닛이 있고 하나의 아웃풋을 가진다.
5. x0라는 바이어스가 들어가기 때문에 3개의 관측치에 대해서 4개의 가중치(피쳐)를 가지는 꼴이 되어 세타는 3*4 차원의 행렬이 된다.
6. 마지막 문장이 잘 이해가 가지 않는다... j번째 레이어에 Sj라는 유닛이 있고, J+1레이어에 Sj+1이라는 유닛이 있다고 한다면 세타j는 다음 레이어의 유닛의 수 *Sj유닛에 +1을 한 차원이 된다. 아! 이게 레이어는 유닛은 값인데, 레이어는 유닛과 가중치를 곱하여 다음 출력을 만드는 과정이기 때문에, 당연한 소리 한거다.
그래서 첫번째 세타의 차원이 입력 값이 4개 였고, 출력값이 세 개 였기 때문에 3*4 가 된 것이다.
Model Representation2
1. 오른쪽 판서처럼, a(2)를 z(2)라는 값에 액티베이션 함수를 넣은 것으로 볼 때, z(3)는 세타(2)에 a2유닛을 곱한 것으로 볼 수 있다. 그리고 z(3)에 액티베이션 함수를 취하면 a(3)라는 유닛이 만들어지고 이것이 출력 값이 된다.
2. 이런 식으로 h를 계산하는 방법을 forward porpagation이라고 부른다. 왜 이렇게 부르냐? 인풋레이어의 값을 히든레이어에 싹 뿌리기 때문이다.
1. 이 부분만 잘라보자면 로지스틱 회귀와 다를 것이 없다. 각각의 입력 값에 세타라는 가설을 곱한 후, 출력 값(예측값) 하나를 만들어 내기 때문이다.
2. 그냥 똑같다. X1, X2, X3 값을 쓰는 것 보다, 마지막 레이어의 a값을 쓰는 것이다.
1. 이러한 구조는 짜기 마련이다. 이것을 네트워크의 아키텍처라고한다.
'2019년 혁신성장 청년인재 집중양성(빅데이터) > [COURSERA] Machine Learning Stanford Uni' 카테고리의 다른 글
[week5] Neural Networks : Learning, Cost Function and Backpropagation (0) | 2019.10.03 |
---|---|
[week4] Applications (0) | 2019.10.03 |
[week4] Non-linear Hypotheses, Motivation (0) | 2019.09.30 |
[week3] Solving the Problem of Overfitting (0) | 2019.09.26 |
[week3] Multiclass Classification (0) | 2019.09.26 |