P7-3.3 실제 분류기로 입력 표현을 다시 비교하기¶
Section ID: P7-3.3 Version: v2026.07.23
P7-3.1과 P7-3.2에서는 이미지 패치 프로젝트를 입력 모양(shape), 라벨(label), 예측, 오류 사례로 읽었습니다. 이제 같은 데이터를 실제 분류기(classifier)에 넣어, 입력 표현을 바꾸면 정확도뿐 아니라 확신 차이와 검토 대상 샘플이 어떻게 달라지는지 확인합니다.
여기서 목표는 이미지 분류 성능을 높이는 것이 아닙니다. 같은 8x8 패치라도 64개 픽셀을 그대로 펼친 입력, 열 평균으로 줄인 입력, 중심 band만 본 입력은 서로 다른 프로젝트 기록을 남깁니다. 점수가 같아 보여도 어떤 표현이 더 불안한지, 어떤 샘플을 다시 봐야 하는지는 달라질 수 있습니다.
같은 이미지, 다른 입력 표현¶
- 실제 분류기를 붙이면 입력 구조 기록이 어떻게 더 구체화되는가?
- 같은 정확도라도 확신 차이(margin)는 왜 다르게 읽어야 하는가?
- 표현을 줄였을 때 오류 사례와 추가 검토 대상은 어떻게 남겨야 하는가?
핵심은 모델을 하나 더 붙였다가 아니라, 입력 표현을 바꾸면 프로젝트 문서에 남길 검토 신호도 바뀐다는 점입니다. 이미지 프로젝트에서 입력 구조는 모델 이름 앞에 놓이는 판단입니다. 어떤 표현을 만들었는지, 그 표현이 어떤 실패를 흐리게 만들었는지 함께 적어야 합니다.
판단 기준¶
- 8x8 이미지 패치를 실제 scikit-learn 분류기의 입력으로 바꿀 수 있습니다.
- 정확도가 같아도 확신 차이와 검토 대상 샘플이 달라질 수 있음을 설명할 수 있습니다.
- 입력 표현 축소가 공간 정보를 얼마나 잃는지 프로젝트 회고 문장으로 남길 수 있습니다.
입력 파일¶
- 표면 패치 파일:
p7-3-surface-patches.csv - 한 행의 의미:
8x8 grayscale 표면 패치 하나 - 주요 열:
split: 학습용 또는 평가용 구분sample: 샘플 IDpattern_name: 사람이 읽는 패턴 이름label:0은 정상 표면,1은 스크래치 경고pixel_00부터pixel_77: 8x8 픽셀 값
이 파일은 이미 P7-3.1에서 사용한 입력입니다. 이번 절에서는 같은 파일을 다시 쓰되, 실제 분류기에 넣을 표현을 여러 방식으로 바꿔 봅니다.
| 표현 | 입력 차원 | 무엇을 보존하는가 | 무엇을 잃기 쉬운가 |
|---|---|---|---|
| 64개 픽셀 | 64 | 각 위치의 밝기 값 | 작은 데이터에서는 위치별 잡음까지 그대로 들어갈 수 있음 |
| 열 평균 | 8 | 세로 방향 변화의 대략적 흔적 | 행별 위치와 국소 패턴 |
| 중심 band | 3 | 가운데 결함 후보 영역과 주변 평균 차이 | 세부 위치와 패턴 모양 |
Python 예제¶
예제는 scikit-learn의 LogisticRegression을 사용합니다. 로지스틱 회귀(logistic regression)는 이름에 regression이 들어가지만, 여기서는 정상 표면과 스크래치 경고를 나누는 이진 분류기로 씁니다. 이 절의 관심은 알고리즘 상세가 아니라, 입력 표현을 바꿨을 때 같은 평가 샘플이 어떻게 다른 확신 차이를 남기는지입니다.
- 문제 상황: 8x8 표면 패치를 실제 분류기에 넣고 표현별 결과 기록을 비교한다.
- 입력: 같은 CSV에서 읽은 학습/평가 패치
- 조작할 값:
representations에 넣는 입력 표현 함수 - 관찰할 출력: 입력 shape, 평가 정확도, 오류 샘플, 낮은 확신 샘플
실행하면 다음과 같은 결과를 볼 수 있습니다.
같은 실행 결과를 보고서에 넣을 때는 숫자 출력만 붙이지 말고, 표현별 검토 신호를 이미지로 저장해 둡니다. 다음 리포트 이미지는 p7_3_input_representation_report.py가 같은 CSV를 읽어 다시 만든 결과입니다.

왼쪽 그래프는 정확도, 오류 수, 낮은 확신 샘플 수를 한 번에 보여 줍니다. 정확도는 같지만 낮은 확신 샘플 수가 표현마다 달라지는 점을 보고서 첫 장에서 바로 확인할 수 있습니다. 오른쪽 그래프는 평가 샘플별 확신 차이(margin)를 보여 줍니다. 이처럼 그림을 함께 남기면 다음 회의나 회고에서 정확도는 같은데 왜 다시 봐야 하는가를 더 짧게 설명할 수 있습니다.
세 표현은 모두 평가 정확도 0.75로 끝납니다. 하지만 같은 결과라고 읽으면 안 됩니다. 64개 픽셀을 그대로 쓴 표현에서는 낮은 확신 샘플이 평가-결함-약함 하나로 좁혀집니다. 반면 열 평균이나 중심 band로 줄이면 모든 평가 샘플의 확신 차이가 낮아집니다. 즉, 축약 표현은 같은 오답을 만들 뿐 아니라 정답 샘플도 더 불안하게 만듭니다.
이 차이는 프로젝트 회고에서 중요합니다. 정확도만 보면 세 표현이 같은 후보처럼 보이지만, 다음 반복에서는 다르게 적어야 합니다.
| 표현 | 회고 문장 |
|---|---|
| 64개 픽셀 그대로 | 약한 결함 샘플을 놓쳤으므로 비슷한 강도의 결함 데이터를 더 보강한다. |
| 열 평균 8개 | 세로 결함의 큰 흐름은 남지만 전체 확신이 낮아져, 행별 위치 정보 손실을 의심한다. |
| 중심 band 3개 | 중심 영역 가설만 남긴 강한 축약이므로, 빠른 점검 기준으로는 가능하지만 최종 판단 표현으로는 부족하다. |
직접 바꿔 보며 확인할 것¶
margin < 0.25기준을margin < 0.4로 바꿔 봅니다.-
관찰할 점: 어떤 표현에서 추가 검토 대상이 더 빨리 늘어나는가?
-
center_band_profile()에서 중심 열을3:5가 아니라4:6으로 바꿔 봅니다. -
관찰할 점: 결함 후보 영역을 조금만 옮겨도 낮은 확신 샘플이 바뀌는가?
-
representations에서열 평균 8개를 빼고 실행해 봅니다. - 관찰할 점: 비교 표현이 줄어들면 회고 문장이 얼마나 덜 구체적이 되는가?
핵심은 실제 분류기를 붙인 뒤에도 정확도 하나로 끝내지 않는 것입니다. 프로젝트 기록에는 어떤 입력 표현을 만들었고, 그 표현이 어떤 샘플을 불안하게 만들었는지까지 남겨야 합니다.
체크리스트¶
- 이미지 패치를 실제 분류기 입력으로 바꾸는 과정에서
shape를 확인했는가? - 입력 표현을 바꿨을 때 정확도 외에 확신 차이와 오류 샘플을 함께 보았는가?
- 같은 정확도라도 회고 문장이 달라질 수 있음을 설명할 수 있는가?
- 표현 축소가 공간 정보를 잃을 수 있다는 점을 다음 실험 질문으로 남겼는가?
출처와 참고 자료¶
- scikit-learn, LogisticRegression, 확인일: 2026-07-23.