https://www.coursera.org/learn/machine-learning/lecture/na28E/cost-function

Neural networks Cost Function

image

L은 신경망 내의 총 layer 수

s subscript 는 해당 layer의 유닛 갯수

s L subscript는 L이 신경망내 총 layer수이므로 마지막 layer의 인덱스의 숫자와 같다.

R superscript는 superscript수 크기만큼의 vector이다. 그러므로 R K superscript는 K 크기만큼의 vector라는이야기이다. 우측 하단의경우 K 크기의 vector가 마지막 결과로 나오게 되고 이때 unit의 갯수는 K가 된다. 경우에 따라서는 3개는 지정된 그룹으로 보고 구분하게 되면 자동적으로 나머지도 하나의 그룹이 되므로 3개만 구분해도 된다. 

image

우측상단에 j는 1부터 시작된다는 것에 유념한다. 쎄타 0는 biased parameter이므로 regularization 작업에서 제외된다.

https://www.coursera.org/learn/machine-learning/supplement/afqGa/cost-function

Neural networks Cost Function

image
image


https://www.coursera.org/learn/machine-learning/lecture/1z9WW/backpropagation-algorithm

Neural networks  Backpropagation Algorithm

image

neural network에서 손실함수는 위와 같다. 이때 이를 각각 unit의 쎄타값으로 편미분하게 되면 각각에 해당하는 최소점을 찾을수 있고 이를 통해 손실을 줄여가는 과정을 만들수 있다.

gradient descent를 하기 이전에 이해를 위해 아래 용어를 이해한다.

image
image

소문자 델타는 각 unit에의해 만들어진 손실크기를 말한다. 

위 그림 하단의 소문자 델타 구하는 공식을 delta rule을 이용한 것이고 유도 과정은 https://en.wikipedia.org/wiki/Delta_rule 과 같다.

image

삼각형 델타는 한 unit에서의 조정 쎄타값이다. 실제로 적용될 값은 하단의 D값이 된다. 

유도과정은  https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/ 를 참조 한다. 중간 지점에 delta rule을 참조 한다.

deltal rule 유도 과정 참조 https://en.wikipedia.org/wiki/Delta_rule

https://www.coursera.org/learn/machine-learning/supplement/pjdBA/backpropagation-algorithm

neural network Backpropagation Algorithm

image
image
image

참고 사항

https://youtu.be/sPzy-K0Hyr4?t=40

https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/

https://en.wikipedia.org/wiki/Delta_rule


https://www.coursera.org/learn/machine-learning/lecture/du981/backpropagation-intuition

neural network Backpropagation Intuition

image

소문자 델타는 다음 단계 레이어들의 소문자 델타들에 각각의 쎄타를 곱한 합과 같다. 위의 그림 우측 상단 참조


https://www.coursera.org/learn/machine-learning/lecture/60Uxp/implementation-note-unrolling-parameters

neural network Implementation Note: Unrolling Parameters

https://www.coursera.org/learn/machine-learning/supplement/v88ik/implementation-note-unrolling-parameters

neural network Implementation Note: Unrolling Parameters

image
image

여러개의 matrix를 하나로 합쳤다가 필요시에 다시 나누는 방법을 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/Y3s6r/gradient-checking

neural network Gradient Checking

backpropagation을 통해 구현된 손실최소화 과정이 제대로 작동하는지 확인하는 작업 중의 하나가 gradient checking이다. backpropagation를 제대로 구현했다고 해도 때때로 bug가 생길수 있으므로 하는 확인 작업이다. 

image

위 그림은 gradient checking의 기본 원리를 보여준다. 그림 하단은 실제 octave 코드로 구현한 모습.

image

backpropagation 값과 gradient checking 과정을 통해 나온 값이 비슷해야 한다.

image

octave로 구현한 모습이다. DVec는 backpropagation 를 통해 구해진 값이다. gradApprox를 gradient checking를 통해 구해진 값이다.

image

gradient checking 는 비용이 많이 드는 작업이므로 backpropagation이 정확한지 유무만 확인하고 정지 한다는 내용이다. 

https://www.coursera.org/learn/machine-learning/supplement/fqeMw/gradient-checking

neural network Gradient Checking

image
image


https://www.coursera.org/learn/machine-learning/lecture/ND5G5/random-initialization

neural network Random Initialization

image

위 그림은neural network에서 각각의 쎄타값을 모두 0으로 설정하고 시작한다 모든 쎄타값이 계속 같은 값으로 변화해가는 것을 보여준다. 그러므로 랜덤값으로 초기화해 주고 작업을 수행해야 한다. 아래 그림은 랜덤 값을 구하는 과정을 보여준다.

image

rand(10, 11)은 0부터 1까지의 랜덤값을 가지는 10*11크기의 matrix를 만들어준다. 

위에서 엡실론은 쎄타값은 범위이며 이 범위안의 값만이 matrix에 들어가게 된다. 

https://www.coursera.org/learn/machine-learning/supplement/KMzY7/random-initialization

neural network Random Initialization


https://www.coursera.org/learn/machine-learning/lecture/Wh6s3/putting-it-together

neural network Putting It Together

neural network의 내용을 처음 부터 끝까지 총정리 한 내용이다.

network 구조를 결정하는 단계를 보여준다. 마지막 최종 결과는 각 클래스의 가능성을 수치로 보여주게 된다. 예를 들어 최종결과가 5라면 벡터의 5번째 수치가 가장 높게 나오게 된다. 그림 우측 하단참조.

보통은 각 hidden layer내의 unit갯수를 맞춘다.

https://www.coursera.org/learn/machine-learning/lecture/na28E/cost-function

Neural networks Cost Function

image

L은 신경망 내의 총 layer 수

s subscript 는 해당 layer의 유닛 갯수

s L subscript는 L이 신경망내 총 layer수이므로 마지막 layer의 인덱스의 숫자와 같다.

R superscript는 superscript수 크기만큼의 vector이다. 그러므로 R K superscript는 K 크기만큼의 vector라는이야기이다. 우측 하단의경우 K 크기의 vector가 마지막 결과로 나오게 되고 이때 unit의 갯수는 K가 된다. 경우에 따라서는 3개는 지정된 그룹으로 보고 구분하게 되면 자동적으로 나머지도 하나의 그룹이 되므로 3개만 구분해도 된다. 

image

우측상단에 j는 1부터 시작된다는 것에 유념한다. 쎄타 0는 biased parameter이므로 regularization 작업에서 제외된다.

https://www.coursera.org/learn/machine-learning/supplement/afqGa/cost-function

Neural networks Cost Function

image
image


https://www.coursera.org/learn/machine-learning/lecture/1z9WW/backpropagation-algorithm

Neural networks  Backpropagation Algorithm

image

neural network에서 손실함수는 위와 같다. 이때 이를 각각 unit의 쎄타값으로 편미분하게 되면 각각에 해당하는 최소점을 찾을수 있고 이를 통해 손실을 줄여가는 과정을 만들수 있다.

gradient descent를 하기 이전에 이해를 위해 아래 용어를 이해한다.

image
image

소문자 델타는 각 unit에의해 만들어진 손실크기를 말한다. 

위 그림 하단의 소문자 델타 구하는 공식을 delta rule을 이용한 것이고 유도 과정은 https://en.wikipedia.org/wiki/Delta_rule 과 같다.

image

삼각형 델타는 한 unit에서의 조정 쎄타값이다. 실제로 적용될 값은 하단의 D값이 된다. 

유도과정은  https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/ 를 참조 한다. 중간 지점에 delta rule을 참조 한다.

deltal rule 유도 과정 참조 https://en.wikipedia.org/wiki/Delta_rule

https://www.coursera.org/learn/machine-learning/supplement/pjdBA/backpropagation-algorithm

neural network Backpropagation Algorithm

image
image
image

참고 사항

https://youtu.be/sPzy-K0Hyr4?t=40

https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/

https://en.wikipedia.org/wiki/Delta_rule


https://www.coursera.org/learn/machine-learning/lecture/du981/backpropagation-intuition

neural network Backpropagation Intuition

image

소문자 델타는 다음 단계 레이어들의 소문자 델타들에 각각의 쎄타를 곱한 합과 같다. 위의 그림 우측 상단 참조


https://www.coursera.org/learn/machine-learning/lecture/60Uxp/implementation-note-unrolling-parameters

neural network Implementation Note: Unrolling Parameters

https://www.coursera.org/learn/machine-learning/supplement/v88ik/implementation-note-unrolling-parameters

neural network Implementation Note: Unrolling Parameters

image
image

여러개의 matrix를 하나로 합쳤다가 필요시에 다시 나누는 방법을 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/Y3s6r/gradient-checking

neural network Gradient Checking

backpropagation을 통해 구현된 손실최소화 과정이 제대로 작동하는지 확인하는 작업 중의 하나가 gradient checking이다. backpropagation를 제대로 구현했다고 해도 때때로 bug가 생길수 있으므로 하는 확인 작업이다. 

image

위 그림은 gradient checking의 기본 원리를 보여준다. 그림 하단은 실제 octave 코드로 구현한 모습.

image

backpropagation 값과 gradient checking 과정을 통해 나온 값이 비슷해야 한다.

image

octave로 구현한 모습이다. DVec는 backpropagation 를 통해 구해진 값이다. gradApprox를 gradient checking를 통해 구해진 값이다.

image

gradient checking 는 비용이 많이 드는 작업이므로 backpropagation이 정확한지 유무만 확인하고 정지 한다는 내용이다. 

https://www.coursera.org/learn/machine-learning/supplement/fqeMw/gradient-checking

neural network Gradient Checking

image
image


https://www.coursera.org/learn/machine-learning/lecture/ND5G5/random-initialization

neural network Random Initialization

image

위 그림은neural network에서 각각의 쎄타값을 모두 0으로 설정하고 시작한다 모든 쎄타값이 계속 같은 값으로 변화해가는 것을 보여준다. 그러므로 랜덤값으로 초기화해 주고 작업을 수행해야 한다. 아래 그림은 랜덤 값을 구하는 과정을 보여준다.

image

rand(10, 11)은 0부터 1까지의 랜덤값을 가지는 10*11크기의 matrix를 만들어준다. 

위에서 엡실론은 쎄타값은 범위이며 이 범위안의 값만이 matrix에 들어가게 된다. 

https://www.coursera.org/learn/machine-learning/supplement/KMzY7/random-initialization

neural network Random Initialization


https://www.coursera.org/learn/machine-learning/lecture/Wh6s3/putting-it-together

neural network Putting It Together

neural network의 내용을 처음 부터 끝까지 총정리 한 내용이다.

network 구조를 결정하는 단계를 보여준다. 마지막 최종 결과는 각 클래스의 가능성을 수치로 보여주게 된다. 예를 들어 최종결과가 5라면 벡터의 5번째 수치가 가장 높게 나오게 된다. 그림 우측 하단참조.

보통은 각 hidden layer내의 unit갯수를 맞춘다.

https://www.coursera.org/learn/machine-learning/lecture/gFpiW/multiclass-classificationhttps://www.coursera.org/learn/machine-learning/lecture/OAOhO/non-linear-hypotheses

Non-linear Hypotheses

https://www.coursera.org/learn/machine-learning/lecture/ka3jK/model-representation-i

neural networks Model Representation I

image
image

3층구조로 되어있다. 첫번째는 input layer, 두번째는 hidden layer, 마지막은 output layer가 된다. 

image

우측 상단 내용은 superscript는 몇번째 layer인지를 알려준다. subscript는 몇번째 unit인지 알려준다는 이야기이다.

그림 하단의 내용은 현layer의 unit 수 * (전단계unit수+1) 의 dimension의 matrix가 된다는 이야기이다. 

https://www.coursera.org/learn/machine-learning/supplement/Bln5m/model-representation-i

Model Representation I

image
image


https://www.coursera.org/learn/machine-learning/lecture/Hw3VK/model-representation-ii

neural networks  Model Representation II

image

위의 그림은 복잡한 수식을 좀 정리해서 보여준다.

a의 경우는 g(z()) 이라고 축약해서 보여준다. 즉 features x값과 쎄타값을 곱한 결과를 g()에 넣어 계산해서 나온 결과를 a 2라고 한다. 다시 이 a 2를 쎄타2와 곱한다. 곱해서 얻을 결과를 g()에 넣어 나온결과를 a 3라고 한다.  위의 그림에서 a 3는 최종결과이며 h쎄타() 이다. 

image

neural networks 에서 마지막 부분만을 잘라서 본다면 이는 logistic regression 과 동일하다, 위의 그림 참조

image

여러겹의 hidden layer가 추가된 예시를 보여준다.

https://www.coursera.org/learn/machine-learning/supplement/YlEVx/model-representation-ii

neural networks Model Representation II

image
image


https://www.coursera.org/learn/machine-learning/lecture/rBZmG/examples-and-intuitions-i

neural networks Examples and Intuitions I

인공신경망으로 xor 논리 연산을 구현 하는 방법

image
image

g() 는 sigmoid funciton이고 공식은 아래와 같다

image

e -4 거듭 제곱의 값은 0.01832 이고 1/1+0.01832 은 0.99 이다. 결론적으로 z 가 4인 경우 0.99 가 된다는 의미이다. 위위그림의 4.0를 기준점으로 정한이유.

or 논리연산을 인공신경망으로 구현한 예시는 아래와 같다.

image

https://www.coursera.org/learn/machine-learning/supplement/kivO9/examples-and-intuitions-i

neural networks Examples and Intuitions I

image


https://www.coursera.org/learn/machine-learning/lecture/solUx/examples-and-intuitions-ii

neural networks Examples and Intuitions II

image

위 그림은 이미 공부한 두개의 unit을 하나로 합쳐서 좀더 복잡한 논리 연산을 구현한 것을 보여준다. 

https://www.coursera.org/learn/machine-learning/supplement/5iqtV/examples-and-intuitions-ii

neural networks  Examples and Intuitions II

image


https://www.coursera.org/learn/machine-learning/lecture/gFpiW/multiclass-classification

Multiclass Classification

https://www.coursera.org/learn/machine-learning/supplement/xSUml/multiclass-classification

Multiclass Classification

image
image

https://www.coursera.org/learn/machine-learning/lecture/gFpiW/multiclass-classificationhttps://www.coursera.org/learn/machine-learning/lecture/OAOhO/non-linear-hypotheses

Non-linear Hypotheses

https://www.coursera.org/learn/machine-learning/lecture/ka3jK/model-representation-i

neural networks Model Representation I

image
image

3층구조로 되어있다. 첫번째는 input layer, 두번째는 hidden layer, 마지막은 output layer가 된다. 

image

우측 상단 내용은 superscript는 몇번째 layer인지를 알려준다. subscript는 몇번째 unit인지 알려준다는 이야기이다.

그림 하단의 내용은 현layer의 unit 수 * (전단계unit수+1) 의 dimension의 matrix가 된다는 이야기이다. 

https://www.coursera.org/learn/machine-learning/supplement/Bln5m/model-representation-i

Model Representation I

image
image


https://www.coursera.org/learn/machine-learning/lecture/Hw3VK/model-representation-ii

neural networks  Model Representation II

image

위의 그림은 복잡한 수식을 좀 정리해서 보여준다.

a의 경우는 g(z()) 이라고 축약해서 보여준다. 즉 features x값과 쎄타값을 곱한 결과를 g()에 넣어 계산해서 나온 결과를 a 2라고 한다. 다시 이 a 2를 쎄타2와 곱한다. 곱해서 얻을 결과를 g()에 넣어 나온결과를 a 3라고 한다.  위의 그림에서 a 3는 최종결과이며 h쎄타() 이다. 

image

neural networks 에서 마지막 부분만을 잘라서 본다면 이는 logistic regression 과 동일하다, 위의 그림 참조

image

여러겹의 hidden layer가 추가된 예시를 보여준다.

https://www.coursera.org/learn/machine-learning/supplement/YlEVx/model-representation-ii

neural networks Model Representation II

image
image


https://www.coursera.org/learn/machine-learning/lecture/rBZmG/examples-and-intuitions-i

neural networks Examples and Intuitions I

인공신경망으로 xor 논리 연산을 구현 하는 방법

image
image

g() 는 sigmoid funciton이고 공식은 아래와 같다

image

e -4 거듭 제곱의 값은 0.01832 이고 1/1+0.01832 은 0.99 이다. 결론적으로 z 가 4인 경우 0.99 가 된다는 의미이다. 위위그림의 4.0를 기준점으로 정한이유.

or 논리연산을 인공신경망으로 구현한 예시는 아래와 같다.

image

https://www.coursera.org/learn/machine-learning/supplement/kivO9/examples-and-intuitions-i

neural networks Examples and Intuitions I

image


https://www.coursera.org/learn/machine-learning/lecture/solUx/examples-and-intuitions-ii

neural networks Examples and Intuitions II

image

위 그림은 이미 공부한 두개의 unit을 하나로 합쳐서 좀더 복잡한 논리 연산을 구현한 것을 보여준다. 

https://www.coursera.org/learn/machine-learning/supplement/5iqtV/examples-and-intuitions-ii

neural networks  Examples and Intuitions II

image


https://www.coursera.org/learn/machine-learning/lecture/gFpiW/multiclass-classification

Multiclass Classification

https://www.coursera.org/learn/machine-learning/supplement/xSUml/multiclass-classification

Multiclass Classification

image
image

https://www.coursera.org/learn/machine-learning/supplement/1tJlY/cost-functionclassification and representation

https://www.coursera.org/learn/machine-learning/lecture/RJXfB/hypothesis-representation

이 강의에서 이야기하는 logistic regression은 2개의 영역으로 구분되는 logistic regresstion을 이야기한다는 것을 전제한다. 여러가지의 영역으로 구분될수 있지만 여기서는 간단하게 2개만 생각한다. 최종적으로 나오는 logistic regression 을 h theta(x) 라고 했을때 이는 0과 1사이의 값을 갖는다. (아래 그림의 우측참조) 이렇게 0과 1사이의 값을 가지게 하는 함수는 g(x) 이며 그 공식은 아래그림 좌측과 같다. 세타 transepose matrix에 x features matrix를 곱한 결과는 아래 그래프에서 z라고 하며 이 z값의 0을 기준으로 값이 0.5 이상 이하가 된다. 즉 이 이야기는 이를 기준점으로 probability가 0.5 이상 이하가 된다는 것이다. 세타 transepose matrix에 x features matrix를 곱한 결과 즉 z 값이 0 이상이냐 아니냐에 따라 어느 영역에 속하는지 결정된다고 정할수 있다. 어떤 데이터가 주어졌을때 두 그룹으로 나눌수 있는 경계선 (decision boundary) 함수를 찾고 여기에 데이터를 넣었을때 나오는 값이 0보다 큰지 작은지에 따라 어느 영역에 속하게 되는지 결정된다고 할수 있다. 우리는 이 경계선이 되는 함수를 찾아 내는것이 목적이다.  

logistic regression에서도 각 feature간의 범위 간격 차가 너무 큰경우 feature scaling 작업을 해준다

image

여러개의 항목들로 구분되는 classification 도 있겠지만 이 강의에서는 yes, no로 구분되는 단 두가지의 항목으로 구분되는 classification을 다룬다. 위의 그래프를 보면 1, 0 단 두가지의 경우를 다룬다. 

image

위의 예시의 경우 1, 0 두가지 항목으로 구분되는 경우이며 각각의 probability를 더하면 1이 된다는 점에 유의한다. 우측하단 참조


https://www.coursera.org/learn/machine-learning/lecture/WuL1H/decision-boundary

Decision Boundary

image
image

위의 그림에서 그래프는 x1 , x2와의 관계그래프라는 점에 유의한다. 우리의 최종목적은 경계 함수 즉 decision boundary 함수를 찾아 내는 것이다. 그리고 이를 찾아내면 그 함수를 기준으로 데이터가 어느 영역에 속하는 알수 있기도 하며 이를 통해 새로운 데이터가 어느 영역에 속하게 되는지 예측 할수도 있다. 


https://www.coursera.org/learn/machine-learning/lecture/1XG8G/cost-function

Cost Function

logistic regression에서는 기존의 cost function을 사용할수 없다. 

image

 linear regression에서 사용한 cost function을 사용할수 없다. 예상값을 구하는 함수 h 쎄타(x) 에서 복작한 계산을 하기 때문에 (위그림 중간 참조) 예상값과 계수 벡터의 관계함수가 좌측 하단의 그림처럼 여러개의 local minimum구간을 가지기 때문이다. 그래서 다른 수식을 사용한다. 

image
image

y=1일때 y=0 일때의 각각의 cost function (이 함수는 단 하나 데이터 예측값과 실제값을 이용해서 손실을 계산하는 함수이다)이 필요한것에 유의한다. 

https://www.coursera.org/learn/machine-learning/supplement/bgEt4/cost-function

Cost Function

image
image


https://www.coursera.org/learn/machine-learning/lecture/MtEaZ/simplified-cost-function-and-gradient-descent

Simplified Cost Function and Gradient Descent

image

바로전 강의에 따르면 logistic regression은 y=1 y=0일때 각각 다른 cost function (이 함수는 단 하나 데이터 예측값과 실제값을 이용해서 손실을 계산하는 함수이다)을 이용하게 되는데 이를 하나의 함수로 정리하는 과정을 위에서 설명하고 있다.

image

하나로 정리된 함수(이 함수는 단 하나 데이터 예측값과 실제값을 이용해서 손실을 계산하는 함수이다) 와 이를 시그마를 이용 여러데이터에 대한 손실값을 구하는 J()를 보여주고 있다.


참고자료 : udemy tensorflow with python 

05 introduction to neural network

위의 cost function을 cross entropy라고 부르기도 한다.

image

logistic regression에서도 손실을 최소화하는 방법으로 gradient descent 방법을 이용한다.

https://www.coursera.org/learn/machine-learning/supplement/0hpMl/simplified-cost-function-and-gradient-descent

Simplified Cost Function and Gradient Descent

image
image


https://www.coursera.org/learn/machine-learning/lecture/licwf/advanced-optimization

Advanced Optimization

image

gradient descent가 아닌 다른 방법으로 cost ( loss ) 를 줄일수 있으며 그 예로 그림의 좌측하단을 참조할수 있다. 또 이런 방법은 각 프로그래밍 언어의 라이브러리에서 찾아 사용할수도 있다. 이 강의에서는 octave 언어를 이용한 예시를 들고 있다. ( octave 습득후 나중에 확인 요망 )

언어를 떠나 일반적인 기본 형식은 아래와 같다고 할수 있다. 

image

https://www.coursera.org/learn/machine-learning/supplement/cmjIc/advanced-optimization

Advanced Optimization

image


https://www.coursera.org/learn/machine-learning/lecture/68Pol/multiclass-classification-one-vs-all

Multiclass Classification: One-vs-all

여러개의 항목으로 구분 짓는 방법이다.

각 항목을 구분해내는 과정이 필요하다. 즉 n 항목인 경우 n 개의 과정이 필요하다.

image
image

각 항목에 해당하는 과정을 다 거치고 각 항목별의 probability 값을 얻은후 가장 높은 값을 얻은 항목으로 구분된다.

https://www.coursera.org/learn/machine-learning/supplement/HuE6M/multiclass-classification-one-vs-all

Multiclass Classification: One-vs-all

image


https://www.coursera.org/learn/machine-learning/supplement/VTe37/the-problem-of-overfitting

The Problem of Overfitting

image


https://www.coursera.org/learn/machine-learning/lecture/B1MnL/cost-function

Cost Function ( overfitting 된 경우 cost function J(쎄타)를 조정 )

image

overfitting 된 경우 (우측상단그림 참조) hypothesis 그래프가 어느정도 일관성있게 (좌측상단 그림) 조정해야 하는데 이때 cost function 공식을 상단그림 밑부분처럼 수정을 해준다. 

image

overfitting을 조정하는 방법으로는 위와 같은 방법이 있다. 

regulaization parameter가 너무 크면 그래프는 상수함수 그래프처럼 평평해진다. 아래그림 참조

image

https://www.coursera.org/learn/machine-learning/supplement/1tJlY/cost-function

Cost Function

image


https://www.coursera.org/learn/machine-learning/lecture/QrMXd/regularized-linear-regression

Regularized Linear Regression

image

overfitting을 보완하는 작업이다.

image

위의 공식을 다시 정리하면 아래와 같다

image
image

regularizatioin을 normal equation에 적용하면 위와 같이 된다.

https://www.coursera.org/learn/machine-learning/lecture/QrMXd/regularized-linear-regression

Regularized Linear Regression

image


https://www.coursera.org/learn/machine-learning/lecture/4BHEy/regularized-logistic-regression

Regularized Logistic Regression 의 regularization 작업

logistic regression 에서의 cost function은 아래와 같다.

image

linear regression을 regularization할때와 비슷한게 조정한다면 아래와 같이 된다

image
image

로그에 대하여 참조 자료

로그의 기본 https://youtu.be/9xneD86OfPk

로그의 성질 https://youtu.be/wWJepvwnDRo

로그의 밑변환 공식밑 추가 성질 https://youtu.be/AOBl11we2sQ

상용로그 https://youtu.be/Xf0KGTsXsnE

로그함수의 그래프 https://youtu.be/I_H04p9HHcI

image
image
image
image
image
image
image
image
image
image
image
image
image

https://www.coursera.org/learn/machine-learning/supplement/1tJlY/cost-functionclassification and representation

https://www.coursera.org/learn/machine-learning/lecture/RJXfB/hypothesis-representation

이 강의에서 이야기하는 logistic regression은 2개의 영역으로 구분되는 logistic regresstion을 이야기한다는 것을 전제한다. 여러가지의 영역으로 구분될수 있지만 여기서는 간단하게 2개만 생각한다. 최종적으로 나오는 logistic regression 을 h theta(x) 라고 했을때 이는 0과 1사이의 값을 갖는다. (아래 그림의 우측참조) 이렇게 0과 1사이의 값을 가지게 하는 함수는 g(x) 이며 그 공식은 아래그림 좌측과 같다. 세타 transepose matrix에 x features matrix를 곱한 결과는 아래 그래프에서 z라고 하며 이 z값의 0을 기준으로 값이 0.5 이상 이하가 된다. 즉 이 이야기는 이를 기준점으로 probability가 0.5 이상 이하가 된다는 것이다. 세타 transepose matrix에 x features matrix를 곱한 결과 즉 z 값이 0 이상이냐 아니냐에 따라 어느 영역에 속하는지 결정된다고 정할수 있다. 어떤 데이터가 주어졌을때 두 그룹으로 나눌수 있는 경계선 (decision boundary) 함수를 찾고 여기에 데이터를 넣었을때 나오는 값이 0보다 큰지 작은지에 따라 어느 영역에 속하게 되는지 결정된다고 할수 있다. 우리는 이 경계선이 되는 함수를 찾아 내는것이 목적이다.  

logistic regression에서도 각 feature간의 범위 간격 차가 너무 큰경우 feature scaling 작업을 해준다

image

여러개의 항목들로 구분되는 classification 도 있겠지만 이 강의에서는 yes, no로 구분되는 단 두가지의 항목으로 구분되는 classification을 다룬다. 위의 그래프를 보면 1, 0 단 두가지의 경우를 다룬다. 

image

위의 예시의 경우 1, 0 두가지 항목으로 구분되는 경우이며 각각의 probability를 더하면 1이 된다는 점에 유의한다. 우측하단 참조


https://www.coursera.org/learn/machine-learning/lecture/WuL1H/decision-boundary

Decision Boundary

image
image

위의 그림에서 그래프는 x1 , x2와의 관계그래프라는 점에 유의한다. 우리의 최종목적은 경계 함수 즉 decision boundary 함수를 찾아 내는 것이다. 그리고 이를 찾아내면 그 함수를 기준으로 데이터가 어느 영역에 속하는 알수 있기도 하며 이를 통해 새로운 데이터가 어느 영역에 속하게 되는지 예측 할수도 있다. 


https://www.coursera.org/learn/machine-learning/lecture/1XG8G/cost-function

Cost Function

logistic regression에서는 기존의 cost function을 사용할수 없다. 

image

 linear regression에서 사용한 cost function을 사용할수 없다. 예상값을 구하는 함수 h 쎄타(x) 에서 복작한 계산을 하기 때문에 (위그림 중간 참조) 예상값과 계수 벡터의 관계함수가 좌측 하단의 그림처럼 여러개의 local minimum구간을 가지기 때문이다. 그래서 다른 수식을 사용한다. 

image
image

y=1일때 y=0 일때의 각각의 cost function (이 함수는 단 하나 데이터 예측값과 실제값을 이용해서 손실을 계산하는 함수이다)이 필요한것에 유의한다. 

https://www.coursera.org/learn/machine-learning/supplement/bgEt4/cost-function

Cost Function

image
image


https://www.coursera.org/learn/machine-learning/lecture/MtEaZ/simplified-cost-function-and-gradient-descent

Simplified Cost Function and Gradient Descent

image

바로전 강의에 따르면 logistic regression은 y=1 y=0일때 각각 다른 cost function (이 함수는 단 하나 데이터 예측값과 실제값을 이용해서 손실을 계산하는 함수이다)을 이용하게 되는데 이를 하나의 함수로 정리하는 과정을 위에서 설명하고 있다.

image

하나로 정리된 함수(이 함수는 단 하나 데이터 예측값과 실제값을 이용해서 손실을 계산하는 함수이다) 와 이를 시그마를 이용 여러데이터에 대한 손실값을 구하는 J()를 보여주고 있다.


참고자료 : udemy tensorflow with python 

05 introduction to neural network

위의 cost function을 cross entropy라고 부르기도 한다.

image

logistic regression에서도 손실을 최소화하는 방법으로 gradient descent 방법을 이용한다.

https://www.coursera.org/learn/machine-learning/supplement/0hpMl/simplified-cost-function-and-gradient-descent

Simplified Cost Function and Gradient Descent

image
image


https://www.coursera.org/learn/machine-learning/lecture/licwf/advanced-optimization

Advanced Optimization

image

gradient descent가 아닌 다른 방법으로 cost ( loss ) 를 줄일수 있으며 그 예로 그림의 좌측하단을 참조할수 있다. 또 이런 방법은 각 프로그래밍 언어의 라이브러리에서 찾아 사용할수도 있다. 이 강의에서는 octave 언어를 이용한 예시를 들고 있다. ( octave 습득후 나중에 확인 요망 )

언어를 떠나 일반적인 기본 형식은 아래와 같다고 할수 있다. 

image

https://www.coursera.org/learn/machine-learning/supplement/cmjIc/advanced-optimization

Advanced Optimization

image


https://www.coursera.org/learn/machine-learning/lecture/68Pol/multiclass-classification-one-vs-all

Multiclass Classification: One-vs-all

여러개의 항목으로 구분 짓는 방법이다.

각 항목을 구분해내는 과정이 필요하다. 즉 n 항목인 경우 n 개의 과정이 필요하다.

image
image

각 항목에 해당하는 과정을 다 거치고 각 항목별의 probability 값을 얻은후 가장 높은 값을 얻은 항목으로 구분된다.

https://www.coursera.org/learn/machine-learning/supplement/HuE6M/multiclass-classification-one-vs-all

Multiclass Classification: One-vs-all

image


https://www.coursera.org/learn/machine-learning/supplement/VTe37/the-problem-of-overfitting

The Problem of Overfitting

image


https://www.coursera.org/learn/machine-learning/lecture/B1MnL/cost-function

Cost Function ( overfitting 된 경우 cost function J(쎄타)를 조정 )

image

overfitting 된 경우 (우측상단그림 참조) hypothesis 그래프가 어느정도 일관성있게 (좌측상단 그림) 조정해야 하는데 이때 cost function 공식을 상단그림 밑부분처럼 수정을 해준다. 

image

overfitting을 조정하는 방법으로는 위와 같은 방법이 있다. 

regulaization parameter가 너무 크면 그래프는 상수함수 그래프처럼 평평해진다. 아래그림 참조

image

https://www.coursera.org/learn/machine-learning/supplement/1tJlY/cost-function

Cost Function

image


https://www.coursera.org/learn/machine-learning/lecture/QrMXd/regularized-linear-regression

Regularized Linear Regression

image

overfitting을 보완하는 작업이다.

image

위의 공식을 다시 정리하면 아래와 같다

image
image

regularizatioin을 normal equation에 적용하면 위와 같이 된다.

https://www.coursera.org/learn/machine-learning/lecture/QrMXd/regularized-linear-regression

Regularized Linear Regression

image


https://www.coursera.org/learn/machine-learning/lecture/4BHEy/regularized-logistic-regression

Regularized Logistic Regression 의 regularization 작업

logistic regression 에서의 cost function은 아래와 같다.

image

linear regression을 regularization할때와 비슷한게 조정한다면 아래와 같이 된다

image
image

로그에 대하여 참조 자료

로그의 기본 https://youtu.be/9xneD86OfPk

로그의 성질 https://youtu.be/wWJepvwnDRo

로그의 밑변환 공식밑 추가 성질 https://youtu.be/AOBl11we2sQ

상용로그 https://youtu.be/Xf0KGTsXsnE

로그함수의 그래프 https://youtu.be/I_H04p9HHcI

image
image
image
image
image
image
image
image
image
image
image
image
image