퍼셉트론으로 AUC 0.95의 스코어를 얻기

  • 이 노트북은 아래에 있는 MLWave에 올라온 글을 한국어로 번역하고 아래 출처의 소스코드를 더해 몇 가지 내용을 추가한 것입니다.

Online Learning Perceptron From MLWave

인공 신경망의 탄생 McCulloch-Pitts Neuron

신경학자인 McCulloch과 논리학자인 Pitts라는 두 연구자가 1943 년의 논문 “a Logical Calculus of the Ideas Immanent in Nervous Activity”(신경 행동에서 내재적 사고의 논리적 계산) 으로 시작되었다.

인공 신경망에 기인한 네트워크를 분석하고 그들이 어떻게 간단한 논리적 기능을 하는지 보여주었다. 그들은 후에 신경 네트워크라 부르는 기술을 첫번째로 연구한 사람이다.

McCulloch는 신경 활동에 ‘all-or-nothing’활동이 있다고 추론했다. 활성화 임계 값에 도달하거나(출력 1) 출력하지 않으면 (출력 0) 신경세포가 발화한다.
피츠 (Pitts)는 그러한 신경 학적 원칙을 사용하여 명제 논리를 포착 할 수있는 잠재력을보고 이해했다.


McCulloch-Pitts 논문에서 뉴런의 회로도(looping 뉴런과 net)

  • 예를 들어, 새가 씨앗과 같이 작은 물체를 먹으려고 한다. 이 행동을 표로 나타내면 다음과 같다.
OBJECT BROWN? ROUND? EAT?
Seed 1 1 1
Leaf 1 0 0
Golf Ball 0 1 0
Key 0 0 0
  • AND 연산 McCulloch-Pitts Neuron으로 위 표를 모델링 할 수 있다. 활성화 임계 값을 1.5로 설정하면 BROWNROUND속성이 모두 충족 될 때만 뉴런이 실행된다. 그러면 입력 합계는 2 (1 + 1)로 1.5의 활성화 임계 값보다 크다.

퍼셉트론

출처 : 퍼셉트론 - 위키백과, 우리 모두의 백과사전

퍼셉트론(perceptron)은 인공신경망의 한 종류로서, 1957년에 코넬 항공 연구소(Cornell Aeronautical Lab)의 프랑크 로젠블라트 (Frank Rosenblatt)에 의해 고안되었다. 이것은 가장 간단한 형태의 피드포워드(Feedforward) 네트워크 - 선형분류기- 으로도 볼 수 있다.
퍼셉트론 알고리즘은 하드웨어로 구현 된 최초의 인공 신경망이었다.

1960년 코넬 항공 연구소의 연구원은 미 해군 연구청의 자금으로 무작위로 400개의 광전지를 하나의 퍼셉트론에 연결하여 마크 1 퍼셉트론 (Mark 1 perceptron)이 탄생해 이것으로 기본 이미지 인식이 가능했다.


이미지 출처 : https://en.wikipedia.org/wiki/Perceptron

퍼셉트론이 동작하는 방식은 각 노드의 가중치와 입력치를 곱한 것을 모두 합한 값이 활성함수에 의해 판단되는데, 그 값이 임계치(보통 0)보다 크면 뉴런이 활성화되고 결과값으로 1을 출력한다. 뉴런이 활성화되지 않으면 결과값으로 -1을 출력한다.

마빈 민스키와 시모어 페퍼트는 저서 퍼셉트론에서 단층 퍼셉트론은 XOR 연산이 불가능하지만, 다층 퍼셉트론으로는 XOR 연산이 가능함을 보였다.

가중치

퍼셉트론은 지도학습 분류기의 일종이다. 이전 값에 대한 학습으로 예측을 한다.

퍼셉트론은 들어오는 연결에 가중치를 할당하여 작동한다. McCulloch-Pitts Neuron을 사용하여 들어오는 연결에서 값의 합계를 구하고 다음 특정 임계 값보다 높거나 낮은 지 확인했다. 내적을 구하는 대신 퍼셉트론을 사용했다. 여기에서는 들어오는 각 값에 가중치를 곱해서 합계를 구했다.

sum: (value1 * weight1) + (value2 * weight2)

weights[feature_index] += learning_rate * error * feature_value

강의에 등록된 질문이 없습니다. 궁금한 부분이 있으면 주저하지 말고 무엇이든 물어보세요.