ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Neural Networks #1
    머신러닝 기초 2019. 11. 15. 13:10
    반응형

    앞서 계산한 예시는 모두 linear 하게 분류가 가능한 데이터들이었지만 실제로는 nonlinear 한 경우가 더 많다.

     

     

    이러한 데이터들은 linear classifier를 이용해 분류할 수 없다. nonlinear 한 분류의 대표적인 예시로 Image classification이 있다. 이러한 nonlinear 한 분류 문제를 해결하기 위해서는 neural networks라는 개념이 필요하다. neural networks는 아래와 같이 표현된다.

     

     

    한 개의 neural network는 linear classifier와 매우 비슷하다. 다만 출력단에 activation function(그림에선 sign 함수)가 연결된 형태이며 activation function이 sign 함수인 경우 앞서 설명한 perceptron과 동일하다. 보라색 노드들을 input layer, 초록색 노드를 output layer이라 부른다. 실제로 이러한 구조가 neural network라 불리는 이유는 실제 신경의 neuron과 비슷한 형태를 가지기 때문이다.

     

     

    Activation function은 g라고 표현하며 예를 들어 sigmoid를 사용하면 다음과 같이 표현된다.

     

     

    이제 이 neural network의 squared error를 계산해보자. neural network의 squared error의 합은

     

     

    이므로 최적의 weight를 찾기 위해 위 식을 미분하면

     

     

    이다. 이제 g를 sigmoid function이라 가정하면

     

     

    이고

     

     

    라 하면 아래와 같이 정리된다.

     

     

    또한

     

     

    라고 하면 gradient descent를 이용한 weight는 다음과 같이 표현된다.

     

     

    참고로 비슷하게 sigmoid function을 사용하는 logistic regression과 비교해보면

     

    로 차이가 있다.

     

    이제 다시 perceptron으로 돌아와서 0 또는 1 두 개의 입력을 가지는 perceptron이 각각 AND, OR 문제를 해결한다고 가정하자. (참고로 perceptron은 인공신경망의 한 종류로서, 1957년에 코넬 항공 연구소의 Frank Rosenblatt에 의해 고안되었으며 초기에는 이러한 논리 문제를 해결하기 위해 고안되었다.) 하나의 perceptron으로는 아래와 같이 OR과 AND 문제를 쉽게 해결할 수 있다.

     

     

    하지만 XOR의 경우 위의 그림과 같이 단일 perceptron으로는 해결할 수 없다는 문제가 발생한다. 초기 perceptron연구에서는 이를 해결하는 것은 불가능하다고 여겨졌지만 후에는 hidden layer를 추가해 해결됨이 알려졌다. 실제로 아래와 같이 표현이 가능하다.

     

     

    이제 이 hidden layer를 neural network에 표현해보자.

     

     

    우선 위와 같이 1개의 hidden layer가 존재한다고 하고 weight를

     

    이라 정의하면

     

    이다.

    참고로 위의 neural networks에 사용된 전체 parameter 수는 (8x3)+(3x8)=48개이다. 

     

    그렇다면 activation function은 왜 사용하는 것일까? 실제로 사용하는 activation function들은 아래와 같이 모두 nonlinear이다.

     

     

    이렇듯 activation function의 nonlinear 한 성질에 의해 network에 비선형적인 특징을 도입할 수 있다. 따라서 처음에 언급한 nonlinear 한 분류 문제도 해결이 가능한 것이다.

     

     

    반응형

    '머신러닝 기초' 카테고리의 다른 글

    Neural Networks #3  (0) 2019.11.29
    Neural Networks #2  (0) 2019.11.25
    Perceptron Algorithm  (0) 2019.11.10
    Clustering  (0) 2019.11.06
    Nearest neighbor regression  (0) 2019.11.03

    댓글

Designed by black7375.