24. 이미지 데이터 회전
이미지 데이터에 회전이 적용되기 전의 코드 - Data.py
Machine Learning
25. 이미지 데이터 회전
이미지 데이터에 회전이 적용된 후의 코드 – Data.py
Machine Learning
26. 이미지 데이터 회전 - 이유
Machine Learning
데이터의 양을 증가시켜 학습이 더 잘 이루어 지도록 하기 위해
실제 예측 시 회전 된 경우도 더 잘 예측할 수 있도록 하기 위해
데이터 회전을 시키지 않아도 학습 데이터에 대해서만은 학습이 잘 됨
27. 이미지 데이터 2진화
이미지 데이터 2진화 전 후 비교
(2진화 전 후의 코드)
Machine Learning
이미지 데이터 2진화 하기 전
(흑 – 0, 백 – 255 의 값을 가진다.)
이미지 데이터 2진화 한 후
(흑 – 0, 백 – 1 의 값을 가진다.)
28. 이미지 데이터 2진화
동일한 신경망, 학습 률 = 0.001, epoch = 15, batch = 64으로 학습시킨 결과.
2진화가 되지 않은 데이터에 대해서는 정확도가 0.3xxx 이후로 높아지지 않는다.
2진화가 된 데이터에 대해서는 15epoch동안 loss가 계속 감소하고 정확도 역시 높아진다.
Machine Learning
이미지 데이터 2진화 하기 전
이미지 데이터 2진화 한 후
29. 이미지 데이터 2진화
Machine Learning
흑백이미지의 경우라서 2진화를 적용하였고 컬러이미지의 경우 정규화 등을 통
해 값의 차이가 크지 않은 일정 범위 안에 데이터가 분포 되도록 하면 된다. (ex.
0 ~ 1사이로 피처 값이 분포 되도록 함.)
위의 코드에서는 데이터의 2진화 기준으로 이미지 피처 값의 평균을 사용
했지만 상황에 따라 적절하다 싶은 값으로 변경하여 사용해도 된다.
2진화 전 데이터 피처 값이 0과 255로 검은색과 흰색간 값의 차이가 너무
크다. 그래서 convolution 적용할 경우 0의 값을 가진 흑색 피처 값의
영향력이 너무 적어 학습이 잘 이루어 지지 않음.(개인적인 견해)
30. 결론(개인적인 견해)
Machine Learning
이미지 데이터에 대해서는 주변 픽셀 값들의 영향을 많이 받기 때문에
convolution을 사용하였고 주변 픽셀들간의 값 차이가 클 경우 학습이 잘 이루어
지지 않을 수 있기 때문에 학습에 사용한 흑백 이미지에 대해 2진화 하였다.
회전된 이미지의 데이터를 추가하지 않아도 학습 데이터에 대해서만은
학습이 잘 된다. 그러나 데이터의 양을 증가시켜 학습이 더 잘 이루어
지도록 하고 실제 예측 시 회전 된 경우도 더 잘 예측할 수 있도록 하기
위해 회전 된 이미지를 추가해 줬다.
이미지 데이터에 대해 회전만 적용한 것이 아니라 확대, 축소도 적용한 데
이터를 추가로 학습 하면 실생활에서 더 정확하게 예측 할 수 있다.
31. Machine Learning
배운점 & 느낀점
아두이노를 이용하여 실제 데이터에 대해 머신러닝으로 예측 해보았고 결과가 생각보다 좋게 나타났다.
머신러닝이 실제 사회에서도 적용 될 수 있다는 생각이 더욱 커졌다.
하나의 글자 이미지에 대해 분류하는 프로젝트를 진행 하였지만 윤곽 추출 등을 사용하여 여러
개의 글자로 이루어진 문장에 대해서도 국가별 언어 분류를 실행 할 수 있다.
(여러 언어가 섞여있는 문장의 경우 글자 수로 판별 하는 등의 방법 이용.)