머신러닝 (Machine Learning)
번역어인 기계학습이라고도 하며, 말 그대로 기계가 데이터를 기반으로 학습하고 특정 작업을 수행하는 것을 말한다. 일반적으로 통계적 기반을 가진 알고리즘이 사용된다.
인공지능의 하위 집합으로 이해되기도 하는데, 최근 인공지능을 말하면 거의 머신러닝 혹은 딥러닝인 경우가 많아 유의미한지는 잘 모르겠다. 그나마 딥러닝은 머신러닝의 하위 집합이면서 동시에 딥러닝이 아닌 머신러닝과 차이가 명확하다.
어찌되었던 데이터를 기반으로 학습하여 특정 작업을 수행하는 것을 머신러닝이라 말한다. 따라서 데이터 의존적이라는 특징이 있다. 쓰레기를 넣으면, 쓰레기가 나온다(garbage in, garbage out)는 말처럼 질 낮은 데이터로는 머신러닝의 장점을 확인하기 어렵고, 양질의 데이터를 많이 확보했을 때 머신러닝은 그 빛을 발한다.
또한 머신러닝은 마법이 아니라 알고리즘의 한 종류라는 것을 알아야 한다. 극단적으로 말하면 더하기를 계산하자고 머신러닝을 사용하지는 않을 것이다. 즉 어떤 경우에는 사람이 직접 작업을 수행하는 것이 더 빠르고, 간편하며, 정확할 수 있다.
머신러닝 범주
일반적으로 지도학습, 비지도학습, 강화학습으로 나눈다. 지도학습은 정답 데이터가 있는 상태로 학습하는 것을 의미하고, 비지도학습은 정답 데이터가 없는 상태로 학습하는 것을 말한다. 강화학습은 조금 특이한 형태인데, 보상을 통해 학습하는 형태이다.
- 지도학습 (supervised learning)
지도학습은 앞서 말한바와 같이 기계학습의 한 범주로 정답 레이블을 통해 학습하는 것이다. 지도학습은 크게 크게 분류(classification)와 회귀(regression)로 나뉜다. 분류는 말 그대로 데이터를 분류하는 것이고, 회귀는 연속적인 데이터 값을 예측하는 것이다. 쉽게 범주형 데이터를 예측하면 분류, 연속형 데이터를 예측하면 회귀이다.
- 비지도학습 (unsupervised learning)
비지도학습은 앞서 말한바와 같이 기계학습의 한 범주로 정답 레이블 없이 학습하는 것이다. 비지도학습은 크게 군집(clustering)과 차원 축소(dimensionality reduction)으로 나뉜다. 군집은 유사성 있는 데이터끼리 모으는 것이고, 차원 축소는 말 그대로 차원을 낮추는 기법이다.
- 강화학습 (reinforcement learning)
강화학습은 앞서 말한바와 같이 기계학습의 한 범주로 행동심리학에서 영감을 받아 선택에 대한 보상 혹은 처벌을 통해 학습하는 것이다. 좀 더 명확히는 환경(environment)과 상호작용하는 에이전트(agent)를 학습시키는 것으로 임의의 상태(state)에서 행동(action)을 취하면 보상(reward)를 받는데, 이때 에이전트는 보상을 최대로 받는 쪽으로 행동하며, 이러한 학습을 통해 의사결정 전략(policy)를 수립한다. 한국에서 인공지능 붐을 가져온 알파고가 강화학습의 산물이다.
사용되는 주요 패키지
일단 많은 경우 머신러닝은 파이썬을 이용한다. R 혹은 C++도 사용하지만, R은 거의 사용하지 않는 추세이고, C++은 특수한 경우, 예를 들어 로봇이나 게임 등에서 사용될 때 파이썬이 너무 느린 경우에 사용하기 때문에 보편적으로 파이썬을 이용한다고 생각하면 된다. 따라서 아래 패키지들도 파이썬을 기준으로 사용되는 패키지이다.
- 넘파이 (numpy) : 행렬과 선형대수를 다루는 패키지
- 판다스 (pandas) : 판다스는 데이터 처리 패키지
- 맷플롯립 (matplotlib) : 시각화 패키지
- 시본 (seaborn) : 시각화 패키지
- 사이킷런 (scikit-learn, sklearn) : 머신러닝 패키지
이 외에도 다양한 패키지가 있고, 딥러닝 프레임워크인 텐서플로우(tensorflow), 케라스(keras), 파이토치(pytorch) 등도 많이 사용된다.
'Artificial Intelligence > Machine Learning' 카테고리의 다른 글
[ML] 정칙화(regularization)와 릿지회귀(ridge regression), 라쏘회귀(LASSO regression), 엘라스틱넷회귀(elastic net regression) (0) | 2025.03.31 |
---|---|
[ML] 선형회귀모델(linear regression model) (0) | 2025.03.29 |
[ML] 분류 모델 평가(evaluation) (0) | 2025.03.29 |
[ML] 경사 하강법(gradient descent) (0) | 2025.03.27 |
[ML] 머신러닝 용어 및 개요 (0) | 2025.03.11 |