인공지능은 가장 넓은 범주의 기술을 포함하며, 머신러닝은 그 중 하나의 분야이고, 딥러닝은 머신러닝의 한 분야이다.
1. 머신러닝
- 데이터를 통해 학습하고, 그 학습을 바탕으로 바탕으로 예측과 판단을 개선하는 알고리즘
- "사과: 빨간색, 중간크기, 둥근 모양" 이라는 특징(feature)을 컴퓨터가 규칙으로 인식하여 데이터를 분석하게 됨
- 예) 소비자의 쇼핑 이력과 다른 소비자들의 경험을 비교하여 관심을 가질 만한 새로운 제품 추천
2. 딥러닝
- 컴퓨터가 인간처러 스스로 학습하고 판단할 수 있도록 해주는 기술
- 인간 뇌의 신경망을 모방한 인공신경망이 있으며 복잡하게 얽힌 알고리즘 계층을 통해 구성됨
- 인간이 문제를 해결하듯이 계속 데이터를 분석하고 그 안에서 패턴을 찾아내려고 함.
- 따라서 머신 러닝보다 훨씬 복잡하고 세밀한 학습이 가능함.
- 예) 빅스비, 시리(Siri) : 머신이 대화 맥학을 이해하고, 사용자의 요청에 맞는 적절한 대답이나 조치를 취함.
머신러닝과 딥러닝의 차이점
- 머신러닝 : 과정에서 뭔가 잘못되면 사람이 개입해서 수정해야 함. ➡️ 새로운 유형이 등장할 때마다 사람이 개입해야 함.
- 딥러닝 : 패턴을 스스로 학습하고 더 복작하고 미표한 형태까지도 자동으로 식별할 수 있음 ➡️ 인간의 개입 없이도 스스로 학습과 판단 능력을 갖춤
| 구분 | 머신러닝 | 딥러닝 |
|---|
| 특징 추출 | 사람이 함 | AI가 스스로 함 |
| 데이터 양 | 적당히 필요 | 엄청 많이 필요 |
| 컴퓨터 성능 | 보통 | 높아야 함 |
| 속도 | 비교적 빠름 | 느리고 무거움 |
| 설명 가능성 | 비교적 쉬움 | 내부 이해 어려움 |
| 이미지, 음성 | 약함 | 매우 강함 |
3. 머신 러닝의 다양한 유형
3-1. 지도학습
- 정답(label)이 포함된 데이터셋을 활용하여 입력(X)과 정답(y)간의 관계를 학습
- 문제와 정답지를 함께 주고 학습시키는 교사 지도 방식
- 높은 예측와 정확도 요구 시 사용

1️⃣ 분류(Classification)
- 데이터를 분석하고, 데이터를 나누는 경계를 찾는 과정
- 범주형 데이터 예측
- 어느 그룹에 속하는지를 맞추는 것으로 결과가 카테고리(범주) 형태
- 데이터를 나누는 기준을 결정 경계(Decision Boundary)라고 함 (곡선을 사용하면 더 정확히 분류 가능)
- 둘 중 하나를 고르는 분류는 이진분류(binary Classification), 셋 이상의 선택지 중 하느를 고르는 것을 다중분류(Multi-Class Classification)
- 예) 이메일 내용 - 스팸/정상, 당뇨진단 - 당뇨/정상, 암 여부 예측, 스마트폰 얼굴 인식

➡️ 경계선 안쪽에 해당될 경우 대출 승인을 예상할 수 있음
(예) 월 소득 250, 신용점수 650점
2️⃣ 회귀(Regression)
- 연속된 값을 예측하는 과정, 데이터의 패턴을 나타내는 선(또는 경계)를 찾는 과정
- 예) 부동산 가격, 매출 전망, BMI예측
- 회귀 분석 시 원인이 되는 값을 독립변수, 변하는 결과를 종속변수라고 지칭함
- 실제 회귀 분석 시 여러 개의 독립변수들이 하나의 종속변수에 영향을 미침


Q. 분류는 데이터를 두 그룹으로만 나누는 반면, 회귀는 여러 그룹으로 나뉜다. (❌)
➡️ 여러 그룹으로 분류될 수 있음. (예: A/B/C/D/F 학점)
➡️ 회귀는 그룹으로 나누는 것이 아닌 연속적인 숫자 값을 예측하여 얼마인지 맞추는 것
3-2. 비지도 학습
- 정답(label)없이 데이터가 가진 고유의 구조, 패턴, 분포를 스스로 발견
- 비슷한 특징을 가진 데이터끼리 그룹을 만들어 패턴을 찾아서 각 데이터가 어떤 그룹에 속하는지 결정
- 예) **님은 운동 시간이 짧고 성별이 여성인 그룹 A에 속함
- 정답지 없이 수많은 문제 유형만 보고 스스로 규칙을 찾아내는 방식
- 데이터에서 어떤 결과를 기대해야 할지 명확하지 않을 때 유용

1️⃣ 군집화 (Clustering)
- 데이터를 유사한 특성을 가진 그룹으로 나누는 과정
- 각 그룹(클러스터) 내의 데이터들은 서로 유사성이 높고, 다른 그룹의 데이터들과는 덜 유사함
- 다만... 어떤 기준으로 그룹을 만들었는지 알려주지 않기 때문에 사람이 직접 조사해야 의미를 해석할 수 있음

[사진출처] https://dacon.io/edu/397/3
2️⃣ 차원 축소 (Dimensionality Reduction)
- 데이터의 특성을 줄여서 덜 복잡하게 압축하는 것
- 데이터의 가장 중요한 특성을 유지하면서 노이즈(쓸데없는 특징)을 제거하고 계산을 단순화하기 위해 사용됨.
💡 머신러닝에서 차원 : 특징(feature)의 개수를 의미
- (예) 사람 데이터에 키, 몸무게, 나이, 성별 자료가 있을 때 ➡️ 4차원 데이터
- 특징이 많으면 : 계산이 느려짐, 메모리 많이 사용, 과적합 위험 증가, 중요 패턴 찾기 어려움 ➡️ 따라서 차원 축소가 필요
3️⃣ 이상치 탐지 (Anomaly Detection)
- 정상 패턴에서 벗어난 데이터 식별
- 예) 수상한 카드 거래 발생 시 즉시 문자를 보내거나 거래 차단시키는 기능, 해킹 탐지
4. 과적합
- 데이터 → 특징(feature) → 학습 → 예측
- 과적합은 여기서 학습을 너무 잘못한 상태, 우연히 나타난 패턴을 규칙이라고 믿는 현상
- Train 정확도 계속 ↑ + Validation 정확도 ↓ ➡️ 과적합
과적합 방지 방법들
| 방법 | 역할 |
|---|
| 데이터 많이 모으기 | 암기 어렵게 |
| 자원 축소 | 핵심만 남기고 쓸데없는 특징 제거 |
| 정규화(Regularization) | 모델 과한 학습 제한 |
| Early Stopping | 적당할 때 학습 중단 |
| Dropout | 일부러 일부 뉴런 끄기 |
- 너무 똑똑해도 다시 말해 모델 성능이 강할수록 세세한 패턴과 우연한 노이즈를 다 외워버림
- 특징이 너무 많으면 우연한 패턴도 학습하기 쉬워지기 때문에 자원축소 필요
4-1. 과적합을 관리/감시하기 위한 구조
1️⃣ 훈련 데이터(Train Set)
- 비유: 개념과 원리를 익히는 교과서와 문제집 ➡️ 학습
2️⃣ ⭐️ 검증 데이터(Validation Set)
- 비유: 실전 대비 실력을 점검하는 모의고사, 실전에 강한지 확인 ➡️ 과적합 감시하는 과정으로 과적합이 시작되는 순간을 발견
3️⃣ 테스트 데이터(Test Set)
- 비유 : 최종 실력을 증명하는 수능(CSAT) ➡️ 최종 평가
⭐️ Train:Test = 80:20 비율로 가장 많이 씀
[대표적인 비율들]
| Train | Validation | Test |
|---|
| 80 | 10 | 10 |
| 70 | 15 | 15 |
| 60 | 20 | 20 |
- train 비율이 많은 이유: AI가 공부할 데이터가 부족하면 규칙 자체를 잘 못배워서 과소적합 위험성 커짐
- 만약 데이터가 엄청 많으면 테스트 비율을 더 낮춰도 됨
5. 데이터 누수(Data Leakage)
5-1. 전처리 누수 (Preprocessing Leakage)
- 가장 흔함
- 전체 데이터를 먼저 전처리(Standardization, Normalization)을 적용하고 나중에 train/test로 분활
- 문제점: 테스트 데이터 정보가 이미 train에 섞여 들어감
- 올바른 방법: train/test 먼저 나누기 ➡️ train 기준으로 전처리 ➡️ test에는 train 기준만 적용
5-2. 시간 누수 (Time Leakage)
- 예) 주가 예측 모델에 미래 시점의 주가 테이터를 학습용 특성으로 포함
- 당연히 성능이 비정상적으로 좋아짐.
5-3. 타겟 누수 (Target Leakage)
- 정답(y)을 암시하는 정보가 X에 포함된 경우
- AI 입장에서는 이미 답을 본 수준이 되기 때문에 정확도가 말도 안 되게 높음
- 예) '고객 이탈 여부' 예측 시, '이탈 후 진행된 환불 금액'이 이미 특성으로 사용됨.
5-4. 그룹 누수 (Group Leakage)
- 같은 사람이 train/test에 동시에 들어가는 문제.
⭐️ 따라서 모든 누수는 결국 현실에서는 모를 정보를 AI가 미리 본 상태로 인해 발생
⭐️ 그래서 모델 성능이 비정상적으로 좋아짐. 대신 실제 서비스는 망함!