Q : AI 가 학습이란것을 어떻게 하나요?
A : 주어진 데이터의 특징과 패턴을 모델에게 알려주는 것
Q : 그걸 어떻게 알려주나요?
A : ...
명칭 | 기호 | 명칭(영어) |
---|---|---|
입력 | x | input |
가중치 | w | weight |
편향 | b | bias |
출력 | y | output |
활성함수 | f | Activation Function |
활성함수가 아래와 같으면
def step_activation_function(x):
if x>1:
return 1
else:
return 0
가 1이 넘어가면 y로 신호를 보낼 수 있게 되고 그보다 작으면 신호를 보내지 않는다.
인풋을 2개를 받아 Step Activation Function을 타고 결과를 주는 퍼셉트론을 만들었다
우리의 모델이 다음의 데이터를 학습하였으면 좋겠다. 좌표로 표현하면
이렇게 생겼는데 주황과 초록을 잘 구분하여 주는 아름다운 붉은 선을 찾았으면 좋겠다.
그럼 파랑(4,4)는 어떤색으로 분류하게 될지 기대가 된다.
w의 초기 가중치를 둘다 1이라고 가정하면 다음과 같다.
붉은 경계선이 너무 하단에 그려져 모두 주황색으로 판단하는 상태이다
Loss 를 구해서 optimize 해줘야하지만 나중에 설명하도록 하고
가중치를 적절히 변경시켜보겠다.
일때 원하는 결과값을 준다
물론 4,4 는 초록으로 분류해 버리게 되었다.
모델의 가중치 W(weight)를 변경해나가는과정
데이터를 통해 경계선을 잘 그려주는 weight 를 찾는것
퍼셉트론은 xor 문제는 해결이 안된돠.
기본적으로 선 1개를 그리는 방법
빨간선이나, 노란선 모두 빨간원과 초록원을 구분지을 선을 그을수 없다.
다층 퍼셉트론을 쓰면 복잡한 문제도 해결할 수 있다.
지금은 웨이트가 2개인 퍼셉트론이지만
인풋이 10개라면 웨이트가 10개..
이런 퍼셉트론이 열개 + 결과가지고 한번더 퍼셉트론을 지난다면
10*10+10 = 110개!
이제 손으로 할수는 없다..
뉴런사진 출처 : https://x.com/NimbleBoxAI/status/1547617450451435521?s=20
복잡한 문제 사진 출처 : https://training.galaxyproject.org/training-material/topics/statistics/tutorials/clustering_machinelearning/tutorial.html
참고자료 : https://wikidocs.net/24958