chapter 2.간단한 예측자
어떤 사진을 보면 우리가 눈을 통해 입력 받고 두뇌를 통해 그 사진을 분석한 다음에 그 사진에 어떤 대상이 있는지 결론을 내었다.
질문 -> 생각 -> 대답
우리가 무언가를 보면 대체로 이런 식으로 진행이 된다. 예를 들어 '4X5가 뭐니?' 라는 질문이 있으면 생각을하고 답을 찾아낼수있다. 그럼 기계는 어떻게 할까?
입력 -> 처리(연산) -> 출력
컴퓨터는 4X5라는 수를 입력 받게 되면 컴퓨터 내에서 이를 처리하는 방식인 덧셈 연산으로 20 이라는 값을 출력한다.
이런 이야기는 우리가 이미 다 알고 있는 이야기이다. 그럼 난이도가 있는 킬로미터를 마일로 변환해주는 기계가 있다고 생각해봅시다.우리가 킬로미터에서 마일로 변환하는 공식을 모른다고 가정을 해보자.
킬로미터 -> 연산(???) -> 마일
우리가 아는 것은 킬로미터와 마일의 관계가 선형(Linear)이라는 것뿐이다. 선형 관계이므로 킬로미터를 2배 늘리면 마일도 그만크 2배늘어나는 비례 관계이다. 그럼 우리가 앞에서 표현했던 수식으로 식을 만들수있다.
마일 = 킬로미터 x c(c는상수)
이런 수식이 나온다 c값을 알아내기 위해선 우리는 임의의 값(Random) 을 정해서 대입해볼것이다. 먼저 킬로미터를 100이라고 했을때 마일은 62.137이다. 우리는 c값을 0.5라고 줄것이다. 우리가 준 c값을 이용해 마일을 구해보았다.
100킬로미터 -> 연산(마일=킬로미터 x 0.5) -> 50마일
이때 실제값과에 오차(Error)는 12.137이다. 우리가 임의로 정한 값을 오차가 있다. 그럼 다른 값도 대입해 볼 것이다. c의 값을 0.6이 해볼것이다. 이때 마일은 60이라는 마일이 나온다. 우리는 2.137이라는 오차가 나오는 것을 확인할수있다. 그리고 0.61을 대입해 보았다. 61마일로 오차는 1.137이다 이정도 오차면 만족하고 넘어갈 수 있을 것 같기도하다. 우리는 여기서 생각을 할 수있다. "이렇게 쉬운 것을 계산하면 빠른대 굳이 어렵게 하는 이유가 뭘까?", 우리가 앞으로 만나게 될 인공 신경망은 이와 같은 간단한 수학 공식으로 해결 되지 않기 때문이다.
이렇게 우리는 상수 c값을 임의의 값을 넣어 보고 오차를 구함으로써 이를 개선해나가는 식으로 시행착오를 거치는 접근 방법을 이용했다.
이런 과정을 반복(iteration) 이라고 하는대 여러 번 반복해서 결과 값을 조금씩 개선해 나가는것이다.
Chapter 3.분류는 예측과 다르지 않습니다.
우리가 앞에서 봣던 기계는 입력 값에 대해 출력 값이 어떻게 나올지를 예측할 것이다. 그래서 우리는 이 기계를 예측자(predictor)라고 한다.
우리는 오차를 기준으로 매개변수 값을 조정하여 예측의 정확도를 높였다.
이제 우리는 곤충의 분류로 선형 함수를 알아가 볼 것 이다.
그래프 위에는 2개의 그룹이 있는 것을 볼수있다. 파란색(애벌레), 초록색(무당벌레), 선형함수는 말 그대로 입력값을 받아 출력 값을 출력해을 떄 그 형태가 직선으로 나오게 된다. 우리는 선형함수에서 매개변수 값인 c값을 조정함으로써 기울기(slope) 를 변화 시킬 수있다.
이 직선은 서로 다른 그룹을 분류하는 용도이다. 위의 그래프에 있는 직선은 곤충들을 측정 값에 기초해 분류(classify) 하는 용도로 사용 될 수 있다. 하지만 아직 위의 직선은 애벌레와 무당벌레를 분류 하지 못하는 모습이다. 제대로 된 직선을 그어보자.
이 직선은 애벌레와 무당벌레를 깔끔하게 분리 해준다. 우리는 이제 이 직선을 곤충의 분류자(classifier)로 이용할 수 있다.
만약 우리가 모르는 미지의 곤충이 저그래프 왼쪽 위에 있다고 치면 우리는 애벌레로 분류가 된다는 것을 알수 있다.
이처럼 분류는 간단하지만 매우 강력한 방법이라는 것을 알수있다.
이제 이런 생각을 할거잇다."이 직선의 기울기는 어떻게 구해야 하는 걸까?, 이 직선이 최선일까?, 이 직선을 개선 할 수 있지않을까?"라는 생각이 들 것이다. 이 질문은 신경망이 학습하는 방법을 이해하는데 가장 중요한 부분 이다.
'머신러닝 > 신경망 첫걸음' 카테고리의 다른 글
1-4 분류자 학습시키기 (0) | 2018.11.13 |
---|