Naive Bayes classifier이희덕, 200914359TH, MAY, 2013
필기 숫자 인식기
문제의 이해 숫자는 0에서 9까지 존재하고, 이를 컴퓨터에서는 일종의 데이터로 표현할수 있다.Ex) “2”(10) → 10(2) “그림”으로 된 “숫자“가 있을 때, 컴퓨터가 숫자 “데이터”를 인식하는 방법에 대해 ...
그림 숫자 인식그림으로 된 숫자모양이 “정해진“숫자모양이“정해지지 않은“숫자활자체 인식필기체 인식
활자
활자체숫자인식숫자의 모양이 정해져있음.예) Helvetica체를 사용크기와 회전정도를 같게 한다음에일치하는지 대조Helvetica체의0에서 9까지의 숫자를 인식함(10번의 비교 동작내의 인식가능)20 1 2 3 4 5 ...
필기체숫자인식“사람의 필기체는 „자획구성‟, „자획형태„, „필순„, „배자„, „필세„, „오자„, „오용‟등을 구분해확연한 개성을 가지기 때문에 각 개인임을 분류 할 수 있습니다”- 국립과학수사연구원 필적감정사 “한...
필기체숫자인식1. 글자를 그리는 순서로 결정> 왼손잡이, 오른손잡이의경우에는2. 획의 방향으로 결정> 1의 경우 왼쪽, 오른쪽으로내려 긋는 방향이 다름3. 획의 개수로 결정> 컴퓨터에서 획의 개수를어떻게 구할수있을까?한...
사용된 데이터 “대략적인 모양의 일치 확률로 구분한다는데, 그럼 수 없이 많은 숫자 모양에 대한 정보가 필요하지 않나요?” THE MNIST DATABASE of handwritten digits약 6만개의 0부터 ...
Naive Bayes classifier 사후확률은 사전확률과 우도들의 곱셈으로 구할 수 있음. 이 문제에서의 사전확률은?“이 숫자가, 0부터 9중 하나일 확률“ -> 모든 경우들이 0.1로 동일 이 문제에서의 우...
Navie Bayes classifier - likelihood0,2가 on일때 우도 = 0,2가 on일 때의 개수 / 전체 데이터의 개수= 2 / 3 = 0.6666
Naive Bayes classifier 3의 경우를 예로들어,{F0,0 = 0, F0,1 = 0, F0,2 = 1, …… ,F8,8=0} 나이브 베이지안 모델배열의 클래스 사후확률 =사전확률 x 배열의 시작지점 0...
Naive Bayes classifier1 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.10 0.11 0.012 0.053 0.054 0.305 0.806 0.907 0.058 0.609 ...
Naive Bayes classifier2인 경우 사후확률 3인 경우 사후확률사전확률 = 0.1 사전확률 = 0.12,2 픽셀이 On일경우0.82,2 픽셀이 On일경우0.95,4 픽셀이 On일경우0.15,4 픽셀이 On...
Naive Bayes classifier – 과적합현상2인 경우 사후확률 3인 경우 사후확률사전확률 = 0.1 사전확률 = 0.12,2 픽셀이 On일경우0.82,2 픽셀이 On일경우0.95,4 픽셀이 On일경우0.15,...
Pseudo codeInt bayesclassifier(input[][], likelihood[][][]){Int result[10];For(I = 0; I < 10; i++){Result[i] = 0.1;For(j =...
Demo
Q&A
감사합니다.
of 19

Naive bayes classifier - digit recognition

Navie Bayes Classifer home work digit recognition Global school of Media, Soongsil Univ. 09th, May, 2013 Heedeok Lee
Published on: Mar 3, 2016
Source: www.slideshare.net


Transcripts - Naive bayes classifier - digit recognition

  • 1. Naive Bayes classifier이희덕, 200914359TH, MAY, 2013
  • 2. 필기 숫자 인식기
  • 3. 문제의 이해 숫자는 0에서 9까지 존재하고, 이를 컴퓨터에서는 일종의 데이터로 표현할수 있다.Ex) “2”(10) → 10(2) “그림”으로 된 “숫자“가 있을 때, 컴퓨터가 숫자 “데이터”를 인식하는 방법에 대해 고려해 보자.분류기2그림 “2” 데이터 “2”
  • 4. 그림 숫자 인식그림으로 된 숫자모양이 “정해진“숫자모양이“정해지지 않은“숫자활자체 인식필기체 인식
  • 5. 활자
  • 6. 활자체숫자인식숫자의 모양이 정해져있음.예) Helvetica체를 사용크기와 회전정도를 같게 한다음에일치하는지 대조Helvetica체의0에서 9까지의 숫자를 인식함(10번의 비교 동작내의 인식가능)20 1 2 3 4 5 6 7 8 9
  • 7. 필기체숫자인식“사람의 필기체는 „자획구성‟, „자획형태„, „필순„, „배자„, „필세„, „오자„, „오용‟등을 구분해확연한 개성을 가지기 때문에 각 개인임을 분류 할 수 있습니다”- 국립과학수사연구원 필적감정사 “한정수“ 수석연구원
  • 8. 필기체숫자인식1. 글자를 그리는 순서로 결정> 왼손잡이, 오른손잡이의경우에는2. 획의 방향으로 결정> 1의 경우 왼쪽, 오른쪽으로내려 긋는 방향이 다름3. 획의 개수로 결정> 컴퓨터에서 획의 개수를어떻게 구할수있을까?한 획을 생략하는 경우에는?4. 대략적인 모양의일치 확률로 결정
  • 9. 사용된 데이터 “대략적인 모양의 일치 확률로 구분한다는데, 그럼 수 없이 많은 숫자 모양에 대한 정보가 필요하지 않나요?” THE MNIST DATABASE of handwritten digits약 6만개의 0부터 9까지의 각각 다른 개인별 필적에 대한 정보가 있음.http://yann.lecun.com/exdb/mnist/ 28x28 의 이미지 파일 형태와, 필기를 한 사람이 실제로 쓰려고 한 숫자 데이터 정보로 구성됨
  • 10. Naive Bayes classifier 사후확률은 사전확률과 우도들의 곱셈으로 구할 수 있음. 이 문제에서의 사전확률은?“이 숫자가, 0부터 9중 하나일 확률“ -> 모든 경우들이 0.1로 동일 이 문제에서의 우도는? -> 우도(“클래스 조건 확률“)에 들어가는 조건은?조건1)픽셀이 흰색인 경우 0으로 나타냄조건2)픽셀이 검은색인 경우 1로 나타냄
  • 11. Navie Bayes classifier - likelihood0,2가 on일때 우도 = 0,2가 on일 때의 개수 / 전체 데이터의 개수= 2 / 3 = 0.6666
  • 12. Naive Bayes classifier 3의 경우를 예로들어,{F0,0 = 0, F0,1 = 0, F0,2 = 1, …… ,F8,8=0} 나이브 베이지안 모델배열의 클래스 사후확률 =사전확률 x 배열의 시작지점 0,0부터 끝지점 8,8까지의 우도 0….9까지 사후확률을 구해 최대값으로결정
  • 13. Naive Bayes classifier1 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.10 0.11 0.012 0.053 0.054 0.305 0.806 0.907 0.058 0.609 0.500 0.801 0.052 0.013 0.904 0.805 0.906 0.907 0.058 0.609 0.500 0.80사전확률 3,1이 꺼져있을때 우도 5,5가 켜져있을때 우도
  • 14. Naive Bayes classifier2인 경우 사후확률 3인 경우 사후확률사전확률 = 0.1 사전확률 = 0.12,2 픽셀이 On일경우0.82,2 픽셀이 On일경우0.95,4 픽셀이 On일경우0.15,4 픽셀이 On일경우0.86,4 픽셀이 Off일경우0.16,4 픽셀이 Off일경우0.80.0008 0.0567<
  • 15. Naive Bayes classifier – 과적합현상2인 경우 사후확률 3인 경우 사후확률사전확률 = 0.1 사전확률 = 0.12,2 픽셀이 On일경우0.82,2 픽셀이 On일경우0.95,4 픽셀이 On일경우0.15,4 픽셀이 On일경우0.86,4 픽셀이 Off일경우0.16,4 픽셀이 Off일경우0.80.00008 0>8,8 픽셀이 On일경우0.018,8 픽셀이 On일경우0
  • 16. Pseudo codeInt bayesclassifier(input[][], likelihood[][][]){Int result[10];For(I = 0; I < 10; i++){Result[i] = 0.1;For(j = 0; j < 28; j++)For(k=0; k<28; k++){if(input[j][k] == 0)Result[i] *= likelihood[i][j][k];elseResult[i] *= (1 – likelihood[i][j][k];}}Int max = -999;Int maxi = 0;For(int I = 0; i < 10; I++){if(max < result[i]){max = result[i];maxi = I;}}Return maxi;}Void likelihoodcalc(input[][][], label[]){Int numcnt[10];Double likelihood[10][28][28];For(I = 0; I < 10000; i++){numcnt[label[i]]++;For(j = 0; I < 28; j++)For(k=0; k<28; k++)if(input[i][j][k] == 1)likelihood[label[i]][j][k]++;}For(I = 0; I < 10; i++){For(j = 0; j < 28; j++)For(k = 0; k < 28; k++)likelihood[i][j][k] = likelihood[i][j][k] /numcnt[i];}}
  • 17. Demo
  • 18. Q&A
  • 19. 감사합니다.

Related Documents