| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- css 기초
- Database
- 메서드
- rnn
- HTML
- Position
- java
- 반응형웹
- 예제
- 퍼셉트론
- 상속
- 미디어쿼리
- 사전학습
- g검정
- BorderLayout
- FFT
- 파이썬
- 반응형 웹 프로젝트
- html 기초
- 푸리에 변환
- Codility
- oracle
- GridLayout
- html 프로젝트
- CSS
- ObjectOutputStream
- FileWriter
- inline
- iframe 태그
- FlowLayout
- Today
- Total
도라에몽주머니
[ML] 퍼셉트론(Perceptron) 이란? 본문
이미지 기반 머신러닝을 복습하던 중, 퍼셉트론이라는 개념을 정확히 정리하고 넘어가는 것이 좋다고 생각해 퍼셉트론의 개념 및 종류 등에 관해 정리해보려 한다.

퍼셉트론 기초 개념
퍼셉트론은 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘이다. 퍼셉트론은 실제 우리의 뇌를 구성하는 신경 세포 뉴런의 동작 방식과 비슷하게 작동한다.
신경 세포 뉴런 동작 방식 (Biological Neuron)
퍼셉트론의 동작 과정을 알기 전, 퍼셉트론 알고리즘에 영향을 준 신경 세포 뉴런의 동작 과정을 알아보자. 뉴런은 여러개의 입력 신호가 수상돌기(Dendrite) 에 도착하면 신경세포체에서 이들을 하나의 신호로 통합한다. 통합된 신호값이 특정 임계값을 초과하면 하나의 단일 신호가 생성되고, 이 신호가 축삭돌기(Axon) 를 통해 다른 신경세포로 전달된다.

퍼셉트론 동작 방식 (Perceptrons)
퍼셉트론도 위의 신경 세포 뉴런 동작 방식과 비슷하게 동작한다.
퍼셉트론은 다수의 신호(input) 를 입력받아 하나의 신호(output) 를 출력한다. 입력 정보(input) 에 각 특성에 대한 가중치(weight) 를 곱해 더한 값이 임계점(threshold) 을 넘는지 넘지 않는지를 기준으로 대상에 대한 분류를 수행한다.

단순 논리 회로
퍼셉트론의 구현을 위해 가장 대표적으로 사용되는 예제는 단순 논리 회로를 구현하는 것이다. 단순 논리 회로인 AND, NAND, OR, XOR게이트 구현을 통해, 퍼셉트론의 한계를 알아보고자 한다.
1. AND Gate
AND Gate는 입력(input) 이 2개, 출력(output)이 1개로 구성되어 있다.
AND 게이트는 입력이 모두 1일 때만 1을 출력하고, 나머지의 경우에는 0을 출력한다.

AND Gate로 퍼셉트론을 구현하는 경우, 각 입력값(input) 에 대한 가중치(w) 와 임계값(θ) 을 정해야 한다.
예를 들어, A와 B에 대한 가중치가 각각 0.5, 0.5 이고 임계값 θ가 0.8인 경우를 생각해보자.
(0*0.5)+(0*0.5)=0 < 0.8
(0*0.5)+(1*0.5)=0.5 < 0.8
(1*0.5)+(0*0.5)=0.5 < 0.8
(1*0.5)+(1*0.5)=1 > 0.8 으로 A와 B가 둘 다 1인 경우에만 임계값인 0.8을 초과해 AND Gate를 만족하는 것을 확인할 수 있다.
2. NAND Gate
NAND Gate는 Not AND Gate를 의미한다. 즉, AND Gate와 반대로 동작하는 게이트이다.
NAND 게이트는 입력이 모두 1인 경우에만 0을 출력하고, 나머지 경우에는 1을 출력한다.

가중치가 각각 -0.5, -0.5이고 임계값이 -0.7으로 가정해보자.
(0*-0.5)+(0*-0.5)=0 > -0.7
(0*-0.5)+(1*-0.5)=-0.5 > -0.7
(1*-0.5)+(0*-0.5)=-0.5 > -0.7
(1*-0.5)+(1*-0.5)=-1 < -0.7 으로 A와 B가 둘 다 1인 경우에만 임계값인 -0.7을 초과하지 않아, NAND Gate를 만족시키는 것을 확인할 수 있다.
3. OR Gate
OR Gate는 둘 중 어느 하나라도 1을 포함하면 1을 출력하는 게이트이다.

가중치가 각각 0.5, 0.5이고 임계값이 0.2 라고 가정해보자.
(0*0.5)+(0*0.5)=0 < 0.2
(0*0.5)+(1*0.5)=0.5 > 0.2
(1*0.5)+(0*0.5)=0.5 > 0.2
(1*0.5)+(1*0.5)=1 > 0.2 로 OR Gate를 만족하는 것을 확인할 수 있다.
퍼셉트론의 한계
단층 퍼셉트론으로 AND, NAND, OR 게이트를 구현해보았는데, XOR 게이트는 단층 퍼셉트론트로 구현할 수 없다는 한계가 있다.
단층 퍼셉트론의 경우, 직선 하나로 두 영역을 나누어 문제를 해결하는데 XOR 게이트의 경우에는 하나의 직선으로는 문제를 해결할 수 없기 때문이다.
이러한 한계점을 극복하기 위해, 퍼셉트론을 병렬적으로 결합해 비선형으로 확장할 수 있는 다층 퍼셉트론(MultiLayer Perceptron; MLP) 이 제시되었다.

다음 게시글에서는 다층 퍼셉트론(MultiLayer Perceptron) 에 대해서 이야기 해 볼 예정이다.
'Study > ML' 카테고리의 다른 글
| [ML] 하이퍼파라미터 최적화(Random Search, Grid Search) (0) | 2024.12.22 |
|---|---|
| [ML] numpy 모듈으로 푸리에 변환 구현 (4) | 2024.09.27 |
| [ML] 푸리에 변환(Fourier Transform) 이란? (3) | 2024.09.17 |
| [ML] 다층 퍼셉트론(Multi-Layer Perceptron)과 활성화 함수 (1) | 2023.11.13 |
| 0. 붓꽃 데이터 분석(Iris Dataset; KNN) (0) | 2023.10.23 |