친절한 AI - 머신러닝 이론 요약
머신러닝
- 기존 컴퓨터 사이언스
- 입력값과 알고리즘을 제공하면, 출력값을 내놓음
- 머신러닝
- 입력값과 출력값을 제공하면, 알고리즘을 내놓음
- 정확한 알고리즘을 내놓을 만큼 많은 입력/출력값이 필요
머신러닝의 종류
- 지도학습 (Supervised Learning) : 학습 과정에서 지도나 감독이 존재 (정답 필요, 양질의 labeling 중요, 데이터와 정답 비교/업데이트)
- 분류 : 데이터의 카테고리를 예측
- 입력 : A 이미지 - 강아지(label), B 이미지 - 고양이, C - 이미지 고양이
- 출력 : D 이미지 - ??
- 회귀 : 연속 값을 예측
- 분류는 정해진 몇 개의 범주 중 어디에 속하는 지를 판단한다면, 회귀는 값, 즉 숫자가 얼마가 나올지 예측
- 설탕 섭취량에 따른 혈압 수치
- 평균 학력에 따른 월간 독서량
- 예측 : 과거 및 현재 데이터를 기반으로 미래 예측 (회기 + 시간)
- 이번 주말 미세먼지 농도
- 요일별 강릉행 기차표 판매율
- 다음달 휘발유 가격
- 분류 : 데이터의 카테고리를 예측
- 비지도학습 (Unsupervised Learning) : 학습 과정에서 지도나 감독의 역할을 수행하는 것이 없음(정답x, 데이터의 특성이 중요, 패턴/차이점 구별 및 학습)
- 이상값 감지 : 평소와 다른 특이점을 찾음
- 주식 사기 거래 감지
- 신용카드 이상 사용 감지
- 비정상 세포 감지
- 그룹화 : 어떤 특징을 기준으로 데이터들을 그룹핑하는 것
- 카테고리를 명확히 분류해놓고 분석하는 분류와는 달리, 일단 데이터를 던져주고 어떤 기준에 따라 나누는 과정
- 유사 상품 묶음
- 비슷한 장르 영화 묶음
- SNS 친구 분석
- 백화점 고객 분류
- 이상값 감지 : 평소와 다른 특이점을 찾음
- 목표지향학습 (Reinforcement Learning) : 목표가 존재하고, 목표를 달성하기 위한 방법을 학습 (Agent가 Environment에 대하여 어떤 행동을 했을 때의 주어지는 보상이 중요)
- 강화학습 : 어떤 행동을 강화시키는 방향으로 학습
- 자율주행
- 알파고
- 로봇
- 강화학습 : 어떤 행동을 강화시키는 방향으로 학습
머신러닝 알고리즘/방법
- 앞에서 말한 머신러닝의 종류들은 머신러닝으로 풀 수 있는 문제의 종류
- 머신러닝의 방법은 특정 종류의 머신러닝을 구현하기 위한 알고리즘
- 머신러닝 종류에 따라 그에 적합한 알고리즘이 존재한다. 따라서 머신러닝 종류, 즉 풀어야 하는 문제의 종류를 먼저 파악한 후, 그에 맞는 알고리즘을 공부하는 편이 좋다.
딥러닝은 무엇인가?
-
딥러닝은 머신러닝을 구현하는 방법 중 하나로, 뇌의 뉴런 구조를 본따 만든 학습 알고리즘을 말한다.
-
딥러닝과 전통적인 머신러닝과의 비교
-
성능
적은 양의 데이터 처리를 할 때에는 머신러닝의 성능이 딥러닝보다 더 좋을 수 있으나, 데이터의 양이 기하급수적으로 늘어남에 따라 딥러닝의 성능이 머신러닝보다 훨씬 좋아진다.
-
하드웨어
딥러닝은 많은 데이터가 있을 때 좋은 성능을 낼 수 있기 때문에 그만큼 고사양의 하드웨어가 필요하다. CPU < GPU < TPU 이렇게 더 좋은 사양일수록 딥러닝에 적합하다.
-
학습시간
데이터 양이 많아질수록 학습 시간이 많아지므로, 딥러닝이 머신러닝보다 학습하는데 훨씬 많은 시간이 걸린다. 머신러닝은 몇 초에서 몇 시간 정도가 걸리는 데에 비해, 딥러닝은 몇 일에서 몇 주까지 걸릴 수 있다.
-
특징
머신러닝은 출력에 영향을 주는 특징이 되는 변수들을 선별하는 과정을 사람이 한다면, 딥러닝은 이 과정까지 분석 과정에 포함된다. 딥러닝을 통해서 이미지 분석을 할 때 수많은 픽셀 중 결과를 내는데 필요한 픽셀을 직접 골라주지 않고 사진을 그대로 줘도 결과를 낼 수 있는 것도 이 때문이다.
-
딥러닝 알고리즘 : CNN, RNN, MLP
-
전통적인 머신러닝 : SVM, Decision Tree, kNN, Linear Regression
-
데이터 제공 사이트, 전처리 방법
- 문제 정의 = 어떤 문제를 해결하고 싶은가?
- 분류, 회귀, 예측, 이상값 감지, 그룹화, 강화학습
- 데이터 수집 = 필요한 데이터 모으기
- 공개 데이터 활용
- 해외 : 캐글, 구글, 레딧, UCI
- 국내 : AI 팩토리, 공공데이터 포털, AI 허브, 데이콘
- 자체 데이터 수집
- 데이터 전처리 = 데이터 손질하기
- 데이터 형식 맞추기
- 비어있는 값 채우기
- 연관 데이터 추가
- 공개 데이터 활용
- 알고리즘 선택
- 지도학습
- SVM
- Logistic Regression
- Linear Regression
- Decision Tree
- Random Forest
- kNN
- 비지도학습
- K-means
- PCA
- Apriori
- 강화학습
- Monte-Carlo
- Q-learning
- Markov Decision
- 지도학습
- 모델 학습 : 학습용 데이터 + 알고리즘 = 모델
- 모델 평가
- 언더피팅 / 오버피팅 / 모델 용량 / 평가 지표
- 이에 따라 알고리즘/데이터를 수정할지 말지 결정 => 2번으로 다시 돌아가기를 반복
- 모델 활용
- local
- web
- app
Comments