개요
최근 인공지능 관련 기술들이 핫한 만큼, 이번 페이지에는 머신러닝에 대한 글들을 올려보도록 하겠습니다.
목차
1. 머신러닝이란?
2. 머신러닝 문제 해결 과정
3. 머신러닝의 종류
1. 머신러닝이란?
위키피디아에서는 머신러닝을 "인공지능의 한 분야로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야"라고 정의하고 있습니다.
보통 인공지능, ai, 머신러닝, 딥러닝 등의 개념을 혼동해서 사용하는 경우가 많습니다. 정확하게 보자면, 인공지능(ai)의 범주 안에 머신러닝이 있으며, 머신러닝의 범주 안에 딥러닝이라는 개념이 있다고 이해하면 됩니다.
2. 머신러닝 문제 해결 과정
머신러닝은 기본적으로 3가지 개념으로 나뉘게 됩니다.
- 문제(Task) T :
해결해야 하는 문제로, 머신러닝에게 주는 입력 값이라고 생각하면 됩니다.
- 퍼포먼스(Performance Measure) P :
머신러닝을 통하여 나오는 결과 값으로, 입력 값에 따른 원하는 값을 얻는 것입니다.
- 교육(Traning Experience) E :
입력 값을 받았을 때 원하는 결과 값이 나오도록 머신러닝 모듈을 교육시키는 것을 말합니다.
또한 머신러닝의 전체적인 순서는 크게 4가지로 나누어 볼 수 있습니다.
1. 머신러닝 모듈을 훈련시킬 데이터들을 모음(Data Collection)
2. Task에 맞는 머신러닝 모듈을 고른다(Model Selection)
3. 파라미터 값을 조정한다.(Parameter Estimation)
4. 입력값에 따라 원하는 결과 값이 나오도록 한다.(Inference)
3. 머신러닝의 종류
머신러닝은 크게 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning), 3가지 종류로 나누어집니다.
지도학습(Supervised Learning)은 정답이 존재하는 데이터들을 다루는 것을 말합니다. 즉, 어떤 입력 값에 따른 결과 값을 한 쌍으로 주면서 학습시키며, 학습된 결과에 따라서 들어오는 입력 값에 맞는 출력 값을 구하는 방법입니다. 크게 분류(classification)와 회귀(regression)으로 나뉩니다.
예시를 들어보면, 100장의 개 사진을 보여준 후 이것은 개 사진이고, 또 다른 100장의 고양이 사진을 보여준 후 이것은 고양이 사진이라고 학습시킵니다. 그 후 개 또는 고양이 사진을 입력 할 시 판별할 수 있는 것을 말합니다.
비지도학습(Unsupervised Learning)은 지도학습과 반대로 정답이 존재하지 않는 데이터들을 가지고 결과를 도출하는 것을 말합니다. 실제로 라벨링이 되어 있지 않은 데이터들간에 비슷한 특징, 패턴을 찾아서 군집화 시키는 것으로, 지도학습에 비해서 난이도가 있는 편입니다. 때로는 지도 학습에서 사용할 라벨 값을 알기 위해 이의 전처리 과정으로 사용하기도 합니다.
예시로는 각각 100장의 라벨화 시키지 않은 개, 고양이 사진을 입력 한 후, 자체적으로 동물의 특징들을 분석하여 개, 고양이로 군집화 시키는 것입니다.
강화학습(Reinforcement Learning)은 기계의 행동에 따라서 그 결과에 상/벌점을 주는 방식이다. 경우의 수가 계산하기 힘들 정도로 많은 경우, 이에 따른 모든 상황을 학습하기에는 한계가 있는 법이다. 따라서 가장 높은 상점을 획득할 수 있는 전략을 생성하게 된다.
예시로는 알파고와 같은 바둑, 자율주행차 등 경우의 수가 너무 다양하여 계산을 할 수 없는 경우에 사용한다. 예전에는 강화학습 알고리즘을 실제로 적용할 만큼 좋은 결과를 가져온 것은 아니었으나, 최근 딥러닝의 개발로 인하여 적용할 수 있게 되었다.
'python' 카테고리의 다른 글
4.머신러닝의 종류, 강화학습(Reinforcement Learning) (0) | 2021.01.07 |
---|---|
3. 머신러닝의 종류, 비지도학습(Unsupervised Learning) (0) | 2021.01.07 |
2. 머신러닝의 종류, 지도학습(Supervised Learning) (0) | 2021.01.07 |
[python]Visual Studio Code 추천 extension 모음 (0) | 2021.01.05 |
[python]아나콘다(anaconda) 설치 방법 및 설명 (0) | 2021.01.05 |
댓글