Machine Learning개요와 TeachableMachine 실습
developers.google.com/machine-learning/glossary/#m
머신러닝 용어집 | Google Developers
머신러닝 용어 정의
developers.google.com
opentutorials.org/course/4548/28891
오리엔테이션 - 생활코딩
opentutorials.org
만약 특정 제품 A와 B중에서 하나를 골라야하는데, 두가지라면 금방 고를 수 있겠지만 제품의 수와, 고려되는 옵션들이 기하급수적으로 많아진다면 결정의 어려움은 상당할것이다.
이러한 문제점을 수와 통계로 해결할수 있었는데, 이제는 이런 선택을 기계에게 스스로 결정하게 만들고 싶었고 기계에게 선택을 하기 위한 통찰력을 부여하는것을 머신러닝 이라고 한다.
이러한 문제 외에도, 간단하게 비유하자면 우리는 우리의 습관과 같은 문제도 해결 할 수 있는데,
예를들어 본인이 손톱을 깨물때 누군가가 경고를 줬으면 한다면 본인을 촬영하는 특정한 디바이스(노트북, 데스크탑, 스마트폰, etc..)로 손톱을 깨물고있는 사진과 그렇지 않은 사진을 모아서 컴퓨터를 학습시키고 이러한 과정을 거치면 컴퓨터는 경험해본적이 없는 사진을 보고도 손톱을 깨물고있는지, 아닌지를 구분할 수 있게된다.
teachablemachine.withgoogle.com/
Get Started를 클릭
Image Project를 클릭
여기서의 Class는 서로 연관된 사진들을 모아서 그루핑하고 이름을 붙인 것이라는 의미로 해석하면 된다.
Class1을 손톱으로, Class2를 정상으로 이름을 바꿔준 후 손톱 클래스에는 손톱을 깨무는 사진을 웹캠을 이용해 촬영하고, 정상 클래스에는 그렇지 않은 사진들을 촬영한다. 이렇게 데이터를 충분히 입력했다 하면 이제 학습을 시킬 수 있다.
Train Model 버튼을 눌러 기계를 학습시키자. 학습이 끝나면 웹캠을 이용해 실제로 기계가 정상적으로 판단함을 알 수 있다.
그러나 각도를 바꾼다던지 하면 손톱과 정상을 헷갈려하기 시작하는데, 학습에 사용한 자료가 부족하거나 부정확하면 이러한 현상이 나타난다. 이러한 경우에는 사용한 데이터들이 타당한지, 충분한 데이터들이 모였는지 다시 생각해볼 필요가 있다.