강의자료 · 머신러닝의 이해

Multilayer Perceptron

복잡한 모델이 항상 유리한지, 단순한 기준 분류기와 같은 자료에서 비교합니다.

실습 전에

01 MLP의 크기를 늘리면 무엇이 함께 바뀔까요?

설명

표현 능력과 학습할 Parameter 수가 늘어 단순 기준 모델과의 비교가 필요합니다.

02 전처리를 전체 자료에서 fit하면 왜 문제가 될까요?

설명

평가 자료의 정보가 학습 전처리에 들어가 새 자료에 대한 평가가 왜곡될 수 있습니다.

실습

실습용 노트북 미리보기실습용 노트북 다운로드

1. MLP와 기준 모델

시작 조건

Iris를 위와 같은 70/30 분할로 나누고 Train에서만 StandardScaler를 fit합니다.

진행 방법

  1. LogisticRegression(max_iter=500)과 MLPClassifier(hidden_layer_sizes=(16,),max_iter=300,random_state=7)를 비교하세요.
  2. Train·Test Accuracy와 수렴 경고 여부를 기록하세요.

남길 결과

기록 항목과 확인할 점
모델
Train Accuracy
Test Accuracy
반복 수·경고

확인할 점

  • Scaler를 Test에 다시 fit하지 않았는가?
  • 경고를 숨기고 수렴한 결과라고 단정하지 않았는가?

2. Network 크기 비교

시작 조건

MLP의 hidden_layer_sizes만 (4,),(16,),(32,)로 바꾸고 같은 지표로 비교합니다.

진행 방법

  1. 앞의 Train/Test 분할과 Train에 fit한 Scaler를 재사용하세요. MLP의 hidden_layer_sizes만 (4,), (16,), (32,)로 바꿔 학습하세요.
  2. max_iter=300, random_state=7과 나머지 설정을 유지하고 Hidden 크기·Train Accuracy·Test Accuracy·수렴 경고 유무를 표로 적으세요.
  3. Hidden 크기가 커질 때 Train과 Test Accuracy가 각각 어떻게 변하는지, 경고 유무와 나누어 설명하세요.

남길 결과

기록 항목과 확인할 점
Hidden 크기
Train Accuracy
Test Accuracy
수렴 경고 유무

확인할 점

  • 모델별 동일한 분할·전처리를 사용했는가?

3. 다른 입력에서도 확인하기

시작 조건

split seed=11에서 같은 두 모델을 비교하고 작은 데이터의 변동을 확인합니다.

진행 방법

  1. 분할 Seed만 11로 바꾸고 새 Train에서 Scaler를 다시 fit한 뒤 Train·Test를 변환하세요.
  2. 활동 1의 Logistic Regression과 Hidden (16,) MLP를 같은 설정으로 새 Train에 다시 학습하세요.
  3. split seed·모델명·Train Accuracy·Test Accuracy를 표로 기록하고 seed 7에서의 두 모델 비교와 대조하세요. Test 표본의 구성 변경이 비교 결과에 미친 영향을 설명하세요.

남길 결과

기록 항목과 확인할 점
분할 Seed
모델·설정
Train·Test Accuracy
분할 변경에 따른 비교

확인할 점

  • 새 Train에서만 Scaler를 다시 fit했는가?