Search
Duplicate
🤖

비전공자도 쉽게 배우는 인공지능 - extra : Model

간단소개
딥러닝에서 사용하는 여러가지 모델에 대한 소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
AI
인공지능
Scrap
태그
AI
개발지식
9 more properties

비전공자도 쉽게 배우는 인공지능 : Model

목차

서론

학습도 중요하지만, 학습-배포 프로세스 관리도 중요하다.
실제 ML Code 뿐만이 아니라 데이터 전처리, 검증 과정, 배포 등 여러 신경 쓸 것들이 많다.
Kaggle : 데이터 수집 및 여러 문제들에 대한 경쟁 사이트
데이터 정제에 대한 시간을 줄여야 하기 때문
House Prices
정형 데이터셋
딥러닝 말고도 좋은 예측모델을 쓰면 딥러닝보다 좋은 결과를 도출 가능하다!
딥 러닝은 머신러닝 안에 포함되어 있는 하나의 방법 중 하나로써, 이 외에도 여러 모델들이 있다!

예측 모델

MLP (Multi-Layer Perceptron)

FC (Fully Connected Layer)
Matrix(행렬)로 이해하기
각각 component들이 연결된 선들이 weight를 의미.
hidden layer의 의미는 weight를 묶은 하나의 행렬이다.
MLP
FC가 여러개 겹쳐져 있는 것
One-Hot Encoding
ex) 5 → [0,0,0,0,1,0,0,0] 이런식으로 만들어주는 것.
categorical 하게 만들 때 사용
param 갯수 : x*y+bias(y)
ex) 256 X 128 hidden layer → 256*128+128=32896

Decision Tree

Machine Learning 알고리즘 중 하나!
개념
Impurity : 정보의 순도
두 갈래로 나누었을 때 정확도가 높은 feature를 표현.
Decision Tree의 Node는 Impurity를 활용하여 결정!
Gini
Impurity 측정 방법은 여러가지, Gini 계수가 대표적
낮으면 낮을수록 순도가 높은 것.
Tree의 Gini 계수 구하는 방법.
항목의 Gini 계수 구하는 방법. (Weighted Sum)
Decision Tree 자라는 정도
Tree를 만들었을 때 자체의 Gini 계수가 높아지면 그만두고 그 항목을 의사결정 항목으로 만들어버림.

Ensemble

Random Forest

Decision tree를 여러개 만들고, 결과를 voting하여 최종 결과 값으로 사용.
서로 다른 Tree 제작
Data를 전부 사용하는 것이 아닌, sampling하여 일부만 사용하여 Decision Tree 제작
여러 개의 tree를 사용하여 결과 종합.
Bagging(투표)
Random Forest에서 결과를 voting하여 결과를 종합하는 것을 Bagging이라고 함.

Boosting

연속적으로 트리를 만들어 간다. (Sequential)
각 모델마다 가중치를 둔다.
과정 (AdaBoost)
Bootstrap (샘플을 자르는 행위)을 처음에는 랜덤으로 한다.
그 후 모델의 정확도를 계산한다. 또한 각각 에러들로부터 모델의 weight를 계산.
그 다음 라운드에서 틀린 것/맞은 것들에게 가중치(penalty)를 두어 뽑힐 확률을 조정하여 다음 Bootstrap에 포함될 확률을 높여 반복적으로 학습한다.
다음 각 모델의 결과(+가중치)를 통해 최종적인 결과를 구한다.
차이점
Bagging : Overfitting의 위험이 적고 병렬처리로 빠른 실행 가능. 하지만 Boosting에 비해 accuracy가 조금 낮음.
Boosting : 일반적으로 Accuracy가 높음. 하지만 Overfitting의 문제와 순차적으로(하나 하고 가중치를 구한 것을 바탕으로 바뀌기 때문) 하기 때문에 실행 시간이 느리다.
'XGBoost'는 License로 인해 설치 필요!

ML Model Deployment(배포)

Deployment : 개발한 SW/ML model 등을 사용자가 사용할 수 있도록 배포하는 것
배포 방법
Backend deployment : 서버에 배포
대부분 : netflix, google 번역 등
Edge-device deployment : 사용자 기기에 배포
자율주행 자동차
장단점
ex) Apple Core ML
구현
REST(Representational State Transfer)
http method를 사용하는 것
계층화 되어있으며 경량화 되어있음.
RESTful : REST 구조를 잘 따르는 웹서비스.
Flask Framework를 사용!