다수의 머신러닝 방법이 존재하지만 본 교재는 머신 러닝을 처음 접하고 동시에 학습된 머신러닝 모델이 아두이노에서 구현되어야 하는 것을 감안하여 다음과 같이 제한한다. 지도학습의 회귀(연속적인 값을 출력하는) 문제를 처리하기 선형 회귀, 로지스틱 회귀, 다항회귀와 실전에서 사용할 다층 신경회로망 회귀를 다룬다. 분류 문제를 위해서는 의사결정 트리와 의사결정트리의 앙상블 기법(집단 모델의 사용)인 랜덤포레스트를 다룬다. 실전 분류 문제에서는 랜덤포레스트를 사용한다. 머신러닝 모델의 구축(학습, 평가 및 시험)은 파이썬의 사이킷런(scikit-learn) 라이브러리를 사용한다(https:// scikit-learn.org/). 구축된 파이썬 머신러닝 모델(코드)은 아두이노에서 실행될 수 있도록 오픈소스인 변환 툴을 사용해 C 언어 호환 코드로 변환된다. 변환된 코드를 기반으로 머신러닝 모델을 추론하고 그 결과를 이용하는 아두이노 스케치를 작성한다. 딥러닝은 노드와 은닉층이 다수인 심층 신경회로망이 그 토대로 많은 메모리 자원과 컴퓨팅 능력을 요구한다. 이런 이유로 아두이노는 딥러닝을 적용하기에 한참 부족하다. 이를 감안해 본 교재는 아두이노에서 회귀 문제는 다층퍼셉트론 신경회로망으로, 분류 문제는 랜덤포레스트로 접근하길 권한다.
파이썬
0. 구글 코랩(Colab) 사용법 알아보기
1. 파이썬 프로그래밍 : 기초사항
2. 파이썬 프로그래밍 : 변수와 자료형
3. 파이썬 프로그래밍 : 연산자
4. 파이썬 프로그래밍 : 제어문
5. 파이썬 프로그래밍 : 함수
6. 파이썬 프로그래밍 : 모듈과 패키지
머신러닝
0. 머신러닝(Machine Learning) 알아보기
1. 지도학습 : 선형 회귀(Linear Regression)
2. 지도학습 : 로지스틱 회귀(Logistic Regression)
3. 지도학습 : 다항 로지스틱 회귀(Multi Logistic Regression)
4. 지도학습 : 다층 신경회로망(MLP: Multi-Layer Perceptron)의 회귀
5. 지도학습 : 의사결정트리(Decision Tree) ·
6. 지도학습 : 랜덤 포래스트(Random Forest) 분류기