Machine learning
머신러닝의 주요 학습 방식
머신러닝은 주로 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 그리고 **강화학습(Reinforcement Learning)**의 세 가지 방식으로 나뉩니다. 각 방식은 학습하는 데이터의 형태와 목표가 다르며, 문제 유형에 따라 적용됩니다.
1. 지도학습 (Supervised Learning)
지도학습은 데이터와 함께 정답(라벨)이 주어져, 모델이 이를 바탕으로 학습하는 방식입니다. 예를 들어 고양이와 개 이미지를 분류할 때, 각 이미지가 ‘고양이’ 또는 ‘개’라는 라벨을 포함하는 형태로 데이터를 제공합니다. 이 방식에서는 모델이 특정 입력에 대해 예상 출력을 학습하고, 새로운 입력에 대해 예측을 수행할 수 있게 됩니다.
지도학습의 세부 유형
-
분류 (Classification)
- 목적: 주어진 데이터를 특정 카테고리로 분류.
- 예시: 이메일 스팸 필터링에서 각 이메일을 “스팸” 또는 “정상”이라는 두 카테고리 중 하나로 분류합니다. 여기서 종속변수는 이메일의 라벨(“스팸” 또는 “정상”)이며, 독립변수는 이메일 내용, 발신 정보 등 예측에 사용되는 특성입니다.
- 추가적인 분류 방식: 이진 분류(Binary Classification), 다중 클래스 분류(Multi-class Classification), 다중 레이블 분류(Multi-label Classification).
-
회귀 (Regression)
- 목적: 주어진 데이터를 바탕으로 연속적인 수치 값을 예측.
- 예시: 주택 가격 예측에서 독립변수는 주택 면적, 위치 등이고, 종속변수는 예측하려는 가격입니다. 모델은 이를 통해 주택의 특성에 따라 가격이라는 연속적 값을 예측합니다.
- 추가적인 회귀 방식: 단순 선형 회귀(Simple Linear Regression), 다중 선형 회귀(Multiple Linear Regression), 비선형 회귀(Non-linear Regression).
2. 비지도학습 (Unsupervised Learning)
비지도학습은 라벨이 없는 데이터를 바탕으로 데이터 내 숨겨진 패턴이나 구조를 발견하는 학습 방식입니다. 이 방식에서는 종속변수 없이 독립변수들 사이의 관계를 통해 유사한 특성의 데이터끼리 그룹화하거나, 데이터 간의 연관성을 찾아냅니다.
비지도학습의 세부 유형
-
군집화 (Clustering)
- 목적: 유사한 특성을 가진 데이터를 그룹으로 묶는 것.
- 예시: 고객의 구매 패턴을 바탕으로 유사한 행동을 가진 고객 그룹을 형성하여 타겟 마케팅에 활용할 수 있습니다. 이 경우, 특정 라벨이 없고 데이터의 특성(구매 패턴, 나이, 위치 등)으로 유사도를 기준으로 군집을 나누게 됩니다.
-
연관 규칙 학습 (Association Rule Learning)
- 목적: 데이터 항목 간의 연관성을 발견하는 것.
- 예시: 장바구니 분석에서 “빵을 구매하는 고객은 우유도 구매할 가능성이 높다”는 연관 규칙을 찾아냅니다. 이 방법은 종속변수 없이 항목 간의 관계를 분석하는 것이 목적입니다.
3. 강화학습 (Reinforcement Learning)
강화학습은 **에이전트(Agent)**가 환경과 상호작용하며 보상을 얻고 학습하는 방식입니다. 게임이나 로봇 학습 등에서 사용되며, 특정 목표를 달성하거나 보상을 최대화하기 위해 최적의 행동 전략을 학습합니다. 이 학습 방식에서는 종속변수와 독립변수가 특정하지 않으며, 주어진 환경에서 행동의 조합을 통해 보상을 얻고, 보상 합계가 최대가 되는 방향으로 학습합니다.
강화학습의 예시
- 예시: 체스 AI가 다양한 수를 두고, 게임에서 승리하면 양의 보상, 패배하면 음의 보상을 받으면서 승리할 확률이 높은 수를 찾는 과정에서 학습합니다.
생활코딩의 추가 학습 도구 - Teachable Machine
생활코딩의 ‘머신러닝1’에서는 Teachable Machine이라는 구글의 도구를 활용해 쉽게 머신러닝 모델을 만들 수 있는 방법도 소개합니다. Teachable Machine은 이미지, 오디오, 포즈 데이터를 활용해 별도의 프로그래밍 없이도 모델을 만들 수 있도록 도와주는 툴로, 머신러닝의 기본 원리를 쉽게 체험할 수 있습니다.