머신 러닝과 딥러닝
머신 러닝이란
머신 러닝은 인공지능의 한 분야로, 컴퓨터 스스로 대용량 데이터에서 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것
즉, 컴퓨터가 학습할 수 있게 하는 알고리즘과 기술을 개발하는 분야라고 할 수 있음
머신 러닝 학습 과정
머신러닝은 다음 그림과 같이 크게 학습 단계(learning)와 예측 단계(prediction)로 구분할 수 있음
학습 단계에서는 학습 데이터를 대상으로 머신 러닝 알고리즘을 적용하여 학습시키고, 이 학습 결과로 모형이 생성
예측 단계에서는 학습 단계에서 생성된 모형에 새로운 데이터를 적용하여 결과를 예측
특성 추출
머신 러닝에서 컴퓨터가 스스로 학습하려면, 즉 컴퓨터가 입력받은 데이터를 분석하여 일정한 패턴이나 규칙을 찾아내려면 사람이 인지하는 데이터를 컴퓨터가 인지할 수 있는 데이터로 변환해 주어야 함
이때 데이터별로 어떤 특징을 가지고 있는지 찾아내고, 그것을 토대로 데이터를 벡터로 변환하는 작업을 특성 추출(feature extraction)이라고 함
- 머신 러닝의 주요 구성 요소는 데이터와 모델(모형)
- 데이터는 머신 러닝이 학습 모델을 만드는 데 사용하는 것
- 훈련 데이터가 나쁘다면 실제 현상의 특성을 제대로 반영할 수 없으므로 실제 데이터의 특징이 잘 반영되고 편향되지 않는 훈련 데이터를 확보하는 것이 중요함
- 또한, 학습에 필요한 데이터가 수집되었다면 훈련을 위해 '훈련 데이터 셋'과 '검증 데이터 셋' 용도로 분리해서 사용
- 보통의 데이터의 80%는 훈련용으로 20%는 검증용으로 분리해서 사용
- 모델은 머신 러닝의 학습 단계에서 얻은 최종 결과물로 가설이라고도 함
- 예를 들어 "입력 데이터의 패턴은 A와 같다."라는 가정을 머신 러닝에서는 모델이라고 함
- 모델의 학습 절차는 다음과 같음
- 모델(또는 가설) 선택
- 모델 학습 및 평가
- 평가를 바탕으로 모델 업데이트
※ 이 세 단계를 반복하면서 주어진 문제를 잘 풀 수 있는 모델을 찾음
최종적으로 완성된 모델(모형)을 해결하고자 하는 문제에 적용해서 분류 및 예측에 대한 결과를 도출
머신 러닝 학습 알고리즘
머신 러닝의 학습 알고리즘으로는 지도 학습, 비지도 학습, 강화 학습이 있음
지도 학습은 이름에서 알 수 있듯이 정답이 무엇인지 컴퓨터에 알려주고 학습시키는 방법
반면 비지도 학습은 정답을 알려주지 않고 특징(예: 다리 길이가 짧은 초식 동물)이 비슷한 데이터(예: 토끼, 다람쥐)를 클러스터링(범주화) 하여 예측하는 학습 방법
즉, 다음 그림과 같이 지도 학습은 주어진 데이터 대해 A 혹은 B로 명확한 분류가 가능
비지도 학습은 유사도 기반(데이터 간 거리 측정)으로 특징이 유사한 데이터끼리 클러스터링으로 묶어서 분류
마지막으로 강화 학습은 머신 러닝의 꽃이라고 부를 만큼 어렵고 복잡함
분류할 수 있는 데이터가 있는 것도 아니고 데이터가 있다고 해도 정답이 없기 때문
강화 학습은 자신의 행동에 대한 보상을 받으며 학습을 진행
게임이 대표적인 사례 - 행동에 따라 보상을 얻음
강화 학습은 보상이 커지는 행동은 자주 하도록 하고, 줄어드는 행동은 덜 하도록 하여 학습을 진행
구분
|
유형
|
알고리즘
|
지도학습
(supervised learning)
|
분류(classification)
|
|
회귀(regression)
|
|
|
비지도 학습
(unsupervised learning)
|
군집(clustering)
|
|
차원 축소
(dimensionality reduction)
|
|
|
강화 학습
(reinforcement learning)
|
-
|
|
'끝이없는 공부 > AI프로그래밍' 카테고리의 다른 글
[AI프로그래밍] 머신 러닝과 딥러닝#3 - 딥러닝이란 (0) | 2024.04.20 |
---|---|
[AI프로그래밍] 머신 러닝과 딥러닝#1 - 인공지능, 머신 러닝과 딥러닝 (0) | 2024.04.18 |