머신러닝 machine learning
머신러닝은 AI artificial intelligence의 한 분야이다.
machine이 learn한다는 머신러닝의 의미처럼
머신러닝은 '데이터을 통해 프로그램이 학습하는 컴퓨터 알고리즘'을 연구하는 분야다.
프로그램이 수행하기를 원하는 기능은 'training task'
성능 평가는 'acurracy'
학습을 위해 주어지는 데이터는 'training data', 'training set'이라고 한다.
머신러닝의 예시
머신러닝은
알고리즘이 밝혀지지 않았거나,
경우를 일일이 기술하기에는 너무 복잡한 경우에
유용하게 사용된다.
예를 들면,
추천 서비스
음성 인식
OCR 문자 인식
등이 있다.
머신러닝의 구분
머신러닝은 몇 가지 기준으로 분류될 수 있다.
Q1. 데이터에 label이 있는가?
supervised learning
unsupervised learning
semisupervised
reinforcement learning
Q2. 프로그램이 점진적으로 개선될 수 있는가?
online learning
batch learning
Q3. 무엇을 참고하여 알고리즘을 구성하는가?
instance-based learning
model-based learning
각 경우를 더 자세히 살펴보자.
type 1.
supervised learning
supervised learning은 training 데이터가 'label'을 포함하고 있는 경우를 말한다.
label은 사진을 사과라고 분류하는 것과 같은 정답을 말한다.
사용되는 경우
classification
regression
linear regression
logistic regression etc
unsupervised learning
supervised learning과 달리,
unsupervised learning의 training data에는 label이 없다.
사용되는 경우
clustering
visualization, dimensionality reduction
association rule learning 등
semisupervised
모든 데이터에 label을 다는 대신,
한 종류의 데이터에 하나의 label을 연결하게 된다.
예를 들면, '토마토', '강아지' 등의 정답을 하나씩 주는 식이다.
reinforcement learning
reinforcement learning은 최적의 전략을 찾는 것과 연관이 있다.
agent는 상황을 파악하고, 특정한 행동을 취하는 것을 반복한다.
agent가 행동을 하고 나면 reward나 penalty를 받고,
이를 통해 policy(행동 전략)을 발전시키게 된다.
예시
알파고가 reinforcement learning의 결과라고 한다.
type 2.
batch learning
batch learning은 offline learning이라고도 불린다.
batch learning의 특징은 한 번에 모든 데이터를 학습시켜야 한다는 것이다.
한번 학습하고 나면, 추가적인 데이터 없이도 작동할 수 있다.
컴퓨터 메모리와 성능을 잡아먹는다는 단점이 있다.
online learning
online learning은 incremental learning을 할 수 있다.
mini-batch라고 불리는 작은 데이터를 학습시키면서
프로그램을 발전시키는 것이다.
이때 얼마나 빨리 데이터에 적응하는가를 의미하는
learning rate로 알고리즘을 평가한다.
type 3.
머신러닝의 궁극적인 목적은
데이터를 통해 학습한 내용을 새로운 경우에 적용하는 것이다.
어떤 기준으로 새로운 경우를 판단하느냐에 따라
instance-based learning / model-based learning
으로 구분된다.
instance-based learning
instance 개별 요소를 가지고 판단한다.
예를 들면, similarity가 있다.
model-based learning
model을 사용하여 예측한다. 모델에는 linear model 등이 있다.
main challenges of machine learning
machine learning이 겪는 문제는주로 bad data와 관련이 있다.
data의 질적인 / 양적인 부족
data의 대표성 문제 등이 data와 관련한 약점이고,
알고리즘에 관하여서는
overfitting / underfitting
문제를 들 수 있다.
<testing and validating>
training set과 test set으로 구분한다.
<참고>
Geron, Aurelien. (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. Sebastopol: O'Reilly Media, Incorporated.
'Data Science > AI' 카테고리의 다른 글
BOAZ BIGDATA CONFERENCE 2021 / 빅데이터 연합동아리 14회 컨퍼런스 (0) | 2021.07.19 |
---|---|
[필기] 머신러닝 프로젝트 End-to-End 진행의 과정 (핸즈온 머신러닝 챕터 2) (0) | 2021.07.15 |
[필기] Hands on machine learning - chapter 1. (0) | 2021.07.13 |
[7.13] Hands-on Machine Learning - preface (0) | 2021.07.13 |
[7.5] BOAZ 데이터 분석 17기 합격 후기 : 1차 자기소개서, 2차 면접 (2) | 2021.07.05 |