[20260330 특별세미나]머신러닝 디자인패턴

페이지 정보

profile_image
작성자 민재
댓글 0건 조회 46회 작성일 26-04-20 16:10

본문

[일시]
2026.03.30

[세미나 주제]
머신러닝 디자인패턴

[발표자]
김민재

[요약]
본 발표에서는 머신러닝 프로젝트에서 성능 저하가 발생했을 때 단순히 더 큰 모델을 사용하거나 하이퍼파라미터 튜닝을 반복하기보다, 문제 정의와 출력 구조, 레이블 설계, 데이터 분포를 먼저 점검해야 한다는 관점에서 머신러닝 디자인 패턴을 소개하였다. 소프트웨어 개발에서 디자인 패턴이 반복되는 문제에 대한 검증된 해결책을 제공하듯이, 머신러닝에서도 반복적으로 등장하는 문제 상황과 그에 대응하는 설계 전략이 존재한다. 이에 본 발표에서는 Machine Learning Design Patterns의 문제 표현 디자인 패턴을 중심으로 리프레이밍, 멀티 레이블, 앙상블, 중립 클래스, 캐스케이드, 리밸런싱의 개념과 적용 상황을 설명하였다.

핵심 내용으로 리프레이밍은 noisy하거나 다봉 분포를 갖는 회귀 문제를, 구간별 확률을 예측하는 분류 문제로 재정의하여 불확실성을 표현하는 방법으로 다루었다. 멀티 레이블은 하나의 입력에 여러 정답이 동시에 존재할 수 있는 상황에서 Softmax 대신 Sigmoid와 multi-hot vector를 사용하여 복수 레이블을 독립적으로 예측하는 방식으로 설명하였다. 앙상블은 단일 모델이 seed·데이터 분할에 따라 불안정하거나 편향이 누적될 때, Bagging·Boosting·Stacking을 통해 각각 분산, 편향, 모델 조합 측면에서 성능을 개선하는 전략으로 제시하였다. 또한 중립 클래스는 긍정과 부정 중 하나로 강제하기 어려운 애매한 샘플을 별도의 클래스로 정의하여 강제 이진 레이블로 인한 레이블 불일치를 줄이는 방법이며, 캐스케이드는 구매자와 재판매자처럼 데이터 집단별 생성 메커니즘이 다른 경우 문제를 단계적으로 분해하여 집단별 전용 모델을 적용하는 방식으로 설명되었다. 마지막으로 리밸런싱은 클래스 불균형 상황에서 단순한 빈도가 아니라 실제 중요도에 따라 oversampling, undersampling, class weighting 등을 적용하여 모델이 중요한 소수 사례를 학습하도록 만드는 전략이다. 결론적으로 본 발표는 머신러닝 성능 개선의 핵심이 모델을 무작정 복잡하게 만드는 데 있는 것이 아니라, 문제 구조와 데이터 특성에 맞게 학습 방식과 출력 구조를 설계하는 데 있음을 강조하였다.


[Q&A]
Q : Cascade는 Bagging, Boosting, Stacking 같은 Ensemble 방법과 어떻게 다른가요?
A : Ensemble은 여러 모델을 결합해 예측의 안정성이나 성능을 높이는 것이 목적입니다. Bagging은 분산을 줄이고, Boosting은 이전 모델이 틀린 샘플에 집중해 편향을 줄이며, Stacking은 여러 모델의 출력을 메타 모델이 다시 학습해 예측을 조합합니다. 반면 Cascade는 데이터 집단의 생성 메커니즘이 다를 때 문제를 단계적으로 분해하는 방식입니다. 예를 들어 먼저 구매자와 재판매자를 구분한 뒤, 각 집단에 맞는 별도 모델을 적용하는 식입니다. 따라서 Cascade는 여러 모델을 쓴다는 점에서는 비슷해 보이지만, 목적은 모델 조합이 아니라 이질적인 데이터 분포를 분리해 다루는 것입니다.

Q : Stacking은 정확히 어떤 방식으로 작동하나요? Knowledge Distillation과는 어떻게 다른가요?
A : Stacking은 여러 base model을 먼저 학습시키고, 각 모델이 만든 예측값이나 확률값을 meta model의 입력으로 사용해 최종 예측을 만드는 방식입니다. 예를 들어 KNN, Logistic Regression, Random Forest가 각각 예측한 확률값을 다시 LightGBM 같은 모델에 넣어 최종 결정을 내릴 수 있습니다. Knowledge Distillation은 teacher model의 soft output을 student model이 모방하도록 학습시키는 방식으로, 주된 목적은 지식 이전이나 모델 압축입니다. 따라서 Stacking은 여러 모델의 예측을 조합하는 방법이고, Knowledge Distillation은 teacher-student 구조를 통해 지식을 전달하는 방법이라는 차이가 있습니다.

[녹화영상]
https://us06web.zoom.us/rec/share/cbX-kI7vULi54d4dRGwEVr8Dk9je_KFjZJ6EiW8g_YI_IqVJCwqBmH8DtgCb9L_7.nic7aTq60_C4Gn9z

첨부파일

댓글목록

등록된 댓글이 없습니다.