본문 바로가기

핸즈온 머신러닝

1-4~2-4

 

1-4) 머신러닝 시스템의 종류

 

- 훈련 지도 방식에 따른 분류 

[지도학습]

- 지도 학습(supervised learning)에는 알고리즘에 주입하는 훈련 데이터에 레이블(label)이라는 원하는 답이 포함

- 분류, 회귀가 전형적인 지도 학습 작업

 

[비지도학습]

- 훈련 데이터에 label이 없음. 모델 스스로 학습

- 클러스터링, 시각화와 차원 축소, 특성추출(차원축소), 연관 규칙 분석, 이상치 탐지

 

[준지도학습]

- 지도학습 + 비지도학습

- 다수의 레이블 없는 샘플과 소수의 레이블 있는 샘플로 데이터셋 구성

 

[자가 지도 학습]

- 레이블 없는 데이터셋에서 레이블 생성

- ex) 이미지 랜덤 마스킹 후 복원 등

 

[강화 학습]

- 에이전트가 액션에 따른 보상을 최대로 만드는 방법으로 훈련시키는 것

 

- 배치 학습과 온라인 학습

- 배치학습: 전체 데이터셋을 분할해 점진적으로 학습

- 온라인 학습: 데이터를 순차적으로 미니배치 단위로 주입시켜 훈련

* 학습률: 주어진 데이터에 얼마나 빠르게 변화할 것인지 좌우

 

[작업 요약]

1. 데이터 분석

2. 모델 선택

3. 훈련 데이터로 모델 훈련(파라미터 최적화)

4. 새로운 데이터(테스트 데이터) 에 대해 예측

 

1-5) 주요 도전 과제

1. 충분하지 않은 훈련 데이터

2. 대표성 없는 훈련 데이터 (샘플링 노이즈, 샘플링 편향)

3. 낮은 품질의 데이터

4. 관련 없는 특성 (특성 공학 시도 가능)

 

5. 훈련 데이터에 과대적합 (오버피팅, 신규 데이터에 대해 잘 예측 못함)

- 규제: 하이퍼파라미터 람다에 해당, 자유도 등 오버피팅 막을 방법

 

6. 훈련 데이터에 과소적합 (언더피팅, 훈련 데이터에 대한 성능 + 테스트 성능 둘 다 정확도 떨어지는 상태)

 

 

1-6) 테스트와 검증

- 하이퍼파라미터 튜닝과 모델 선택

1. 훈련 세트의 일부를 떼어내어 검증 세트 생성
2. 훈련 세트를 통해 만든 여러 모델을 검증 세트로 평가
3. 최상의 모델을 선택
4.  그 최상의 모델을 전체 훈련 세트에서 다시 훈련
5. 최종 모델을 테스트 세트에서 평가하여 일반화 오차 추정

6. 모델 편가 후 최종 모델 선택

 

- 교차 검증

 

 

2-1) 문제 정의: 다변량 회귀, 단변량 회귀

2-2) 성능 측정 지표 선택 : RMSE (루트 평균 제곱근 오차)

 

2-3 ) 데이터 불러오기

- 데이터 스누핑 > 성능 저하

- 데이터를 훈련 셋과 테스트 셋으로 쪼갬 : 랜덤 샘플링

* 계층적 샘플링도 존재

import numpy as np

# For illustration only. Sklearn has train_test_split()
def split_train_test(data, test_ratio):
    shuffled_indices = np.random.permutation(len(data))
    test_set_size = int(len(data) * test_ratio)
    test_indices = shuffled_indices[:test_set_size]
    train_indices = shuffled_indices[test_set_size:]
    return data.iloc[train_indices], data.iloc[test_indices]

 

 

2-4) 데이터 탐색과 시각화

- 시각화를 통해 데이터의 특성 파악

 

- 모든 변수의 상관관계를 표준 상관계수를 이용하여 구할 수 있음

- 산점도를 확인하였을 때 원에 가까우면 상관 X

- 기울기 1인 함수와 유사 시  가지면 양의 상관관계

- 기울기 -1인 함수와 유사 시  가지면 음의 상관관계

 

2-5 ) 데이터 준비

- 결측치 대체

- 텍스트 데이터 : 벡터로 문자열 인코딩

- 범주형 변수: 원-핫 인코딩 (희소 행렬)

 

 

 

 

 

 

'핸즈온 머신러닝' 카테고리의 다른 글

5. SVM  (0) 2025.05.04
9. 비지도 학습  (0) 2025.04.29
4.1~4.3  (0) 2025.03.27
2.5 ~3.7  (0) 2025.03.24