서포트 벡터 머신(SVM)
집단을 나누는 결정경계를 찾되, 경계와 가장 가까운 데이터 사이의 간격을 크게 만드는 분류 방법입니다.
반도체 웨이퍼의 센서 측정값만으로 불량 여부를 판단할 수 있을까요? 온도와 진동이 모두 정상 범위에 있더라도 두 값의 조합이 비정상이라면 어떻게 구분해야 할까요? 정상과 불량의 측정값이 서로 겹치는 경우에는 어떤 경계를 찾는 것이 좋을까요?
이처럼 여러 측정값을 바탕으로 데이터를 구분하는 경계를 학습하는 방법이 서포트 벡터 머신(Support Vector Machine, SVM)입니다. SVM은 서로 다른 집단을 나누는 경계뿐 아니라 그 경계와 가까운 관측값 사이의 간격, 즉 마진을 함께 고려합니다.
로지스틱 회귀는 입력 변수에 따른 집단 확률을 모델링하지만, SVM은 주로 분류 경계와 마진을 최적화합니다. 선형 SVM은 직선 또는 평면으로 집단을 나누고, 커널 SVM은 곡선 형태의 복잡한 경계도 학습할 수 있습니다.
SVM은 제조업 품질검사, 문자·이미지 분류, 생물정보학과 이상 패턴 판별 등에 활용됩니다. 이번 글에서는 반도체 웨이퍼의 센서 측정값을 사용해 SVM의 개념과 학습 원리, 마진과 커널, 실제 분류 결과, 하이퍼파라미터 설정, 다른 분석과의 차이, 분석 시 주의사항까지 살펴보겠습니다.
SVM이란 무엇인가요?
두 집단을 구분하는 경계와 그 주변의 간격을 함께 고려하는 지도학습 방법입니다.
SVM은 정답 레이블이 있는 학습자료를 이용합니다. 예를 들어 검사 결과가 정상 또는 불량으로 확인된 웨이퍼의 센서 데이터를 학습하고, 새로운 웨이퍼가 어느 집단에 속하는지 예측합니다. 직선으로 구분할 수 있다면 선형 SVM을, 관계가 복잡하다면 커널을 이용한 SVM을 고려할 수 있습니다.
이때 목표는 모든 학습자료를 무조건 완벽하게 나누는 것이 아닙니다. 오분류를 어느 정도 허용하면서도 새로운 데이터에도 적용될 만한 안정적인 분류 경계를 찾는 데 있습니다.
SVM은 왜 필요한가요?
경계 근처의 관측값까지 고려해 집단을 안정적으로 구분하기 위해서입니다.
온도만으로는 정상과 불량을 구분하기 어렵고 진동값 하나로도 분리가 불분명할 수 있습니다. 하지만 두 센서값을 함께 보면 정상과 불량이 서로 다른 영역에 모여 있을 수 있습니다. SVM은 여러 변수의 조합을 이용해 이런 경계를 학습합니다.
특히 변수 수가 많거나 집단을 나누는 패턴이 단순하지 않을 때 유용한 선택지가 될 수 있습니다. 다만 SVM이 항상 다른 분류 방법보다 정확한 것은 아닙니다. 변수의 규모, 하이퍼파라미터, 데이터 크기, 불량 비율에 따라 성능이 달라집니다.
SVM은 어떤 원리로 작동하나요?
결정경계, 마진, 서포트 벡터가 핵심입니다.
① 결정경계를 찾습니다
센서 변수들로 이루어진 공간에서 정상과 불량을 나누는 선이나 면을 찾습니다. 변수가 2개면 선, 3개면 평면, 더 많으면 초평면이 됩니다.
② 마진을 크게 만듭니다
경계와 가장 가까운 학습 관측값들 사이의 간격을 크게 하려 합니다. 단, 일부 잘못 분류되거나 마진 안쪽에 들어오는 관측값을 허용하는 소프트 마진 방식을 사용합니다.
③ 서포트 벡터가 경계에 영향을 줍니다
최적 경계 결정에 직접 관여하는 관측값을 서포트 벡터라고 합니다. 모든 관측값이 경계를 똑같이 결정하는 것은 아닙니다.
④ 커널로 비선형 관계를 다룹니다
RBF 같은 커널을 사용하면 입력값 사이의 유사도를 이용하여 원래 변수 공간에서 비선형 결정경계를 만들 수 있습니다. 단, 지나치게 복잡한 경계는 과적합으로 이어질 수 있습니다.
실제 사례: 반도체 웨이퍼 불량 판정
제조 공정의 센서 측정값으로 정상과 불량을 분류합니다.
공정에서 검사한 가상의 웨이퍼 500장을 사용합니다. 정상 450장, 불량 50장으로 불량 비율은 10%입니다. 각 웨이퍼에는 온도·압력·진동·전류 측정값이 기록되어 있고, 별도의 품질검사로 정답 레이블이 확인되었다고 가정합니다.
| 변수 | 자료 예시 | 역할 |
|---|---|---|
| 최종 검사 결과 | 정상 / 불량 | 분류할 목표값 |
| 공정 온도 | °C | 예측변수 |
| 챔버 압력 | kPa | 예측변수 |
| 진동 크기 | mm/s | 예측변수 |
| 전류 | A | 예측변수 |
| 자료 수 | 500장(불량 50장) | 가상 학습·평가 데이터 |
전체 자료의 80%인 400장을 학습자료로, 나머지 100장을 최종 평가자료로 분리합니다. 불량 비율을 유지하는 층화 분할을 사용했다고 가정하면 평가자료는 정상 90장과 불량 10장으로 구성됩니다. 이후 제시하는 수치는 이해를 위한 가상 결과이며 실제 SVM을 실행하여 얻은 값이 아닙니다.
SVM을 적용하기 전에 무엇을 확인하나요?
변수의 척도와 불량 비율, 데이터 누수 가능성을 점검합니다.
| 점검 항목 | 확인할 내용 | 중요한 이유 |
|---|---|---|
| 센서값 범위 | 온도·압력·전류의 단위와 스케일 | 거리와 커널 계산에 영향 |
| 집단 비율 | 정상 90%, 불량 10% | 정확도만으로 평가하면 위험 |
| 결측·이상값 | 센서 오류, 누락 측정값 | 경계와 스케일링에 영향 |
| 데이터 누수 | 품질검사 후에 알 수 있는 값 포함 여부 | 실제 예측 성능 과대평가 방지 |
| 같은 생산 로트 | 학습·평가에 로트가 중복되는지 | 서로 독립적인 평가에 중요 |
| 미래 적용 조건 | 공정 변경이나 새 장비의 센서 분포 | 현장 성능 저하 가능성 |
SVM은 어떤 순서로 진행하나요?
데이터 분리부터 커널·하이퍼파라미터 선택, 최종 평가까지 이어집니다.
① 목표값과 입력변수를 지정합니다
정상·불량을 목표값으로 설정하고 실제 검사 이전에 얻을 수 있는 센서값만 사용합니다.
② 학습·평가자료를 나눕니다
최종 평가자료를 먼저 분리하고 학습자료 내부에서만 교차검증을 진행합니다. 센서 표준화 역시 검증 폴드별 학습 부분에만 적합합니다.
③ 커널과 C·gamma를 선택합니다
선형 커널과 RBF 커널을 비교하고, C 및 RBF의 gamma를 교차검증으로 조정합니다. 불량 누락 비용이 높다면 그에 맞는 평가 기준을 미리 정합니다.
④ 평가자료로 성능을 확인합니다
선택한 모형을 별도 평가자료에 적용해 혼동행렬, 정밀도, 재현율, F1 점수 등을 확인합니다. 평가자료를 반복 사용해 모델을 다시 고르지는 않습니다.
C와 gamma는 무엇을 조절하나요?
마진 위반 허용과 결정경계의 복잡성을 조절합니다.
| 설정 | 값을 작게 하면 | 값을 크게 하면 |
|---|---|---|
| C | 마진 위반에 대한 벌점이 작아져 규제가 강해짐 | 마진 위반을 더 강하게 벌하므로 복잡한 경계를 택할 수 있음 |
| gamma (RBF) | 각 데이터가 미치는 영향 범위가 넓어짐 | 영향 범위가 좁아져 경계가 세밀해질 수 있음 |
C와 gamma 사이에 언제나 통하는 최적 조합은 없습니다. 예를 들어 C와 gamma가 모두 큰 경우 학습자료의 작은 변동까지 따라갈 수 있어 검증 성능이 떨어질 수 있습니다. 이 값은 표준화된 데이터로 교차검증하면서 결정해야 합니다.
분류 결과는 어떻게 해석하나요?
불량을 얼마나 놓치고 얼마나 잘 찾아내는지 확인합니다.
가상의 최종 평가자료 100장을 RBF SVM으로 분류했다고 가정합니다. 정상 웨이퍼 90장 중 82장을 정상으로 분류하고 8장은 불량으로 잘못 판정했습니다. 불량 웨이퍼 10장 중 8장을 잡아내고 2장은 놓쳤습니다.
| 실제 \ 예측 | 정상 | 불량 | 합계 |
|---|---|---|---|
| 정상 | 82 | 8 | 90 |
| 불량 | 2 | 8 | 10 |
| 합계 | 84 | 16 | 100 |
이때 정확도는 90.0%(90/100), 불량 재현율은 80.0%(8/10), 불량 정밀도는 50.0%(8/16)입니다. F1 점수는 약 61.5%입니다. 불량 10장 중 2장을 놓치므로 정확도가 90%라고 해서 품질검사에 충분한 성능이라고 단정할 수는 없습니다.
SVM의 성능은 어떻게 비교하나요?
선형과 비선형 경계를 같은 평가 기준으로 살펴봅니다.
| 가상 지표 | 선형 SVM | RBF SVM |
|---|---|---|
| 교차검증 불량 F1 | 55.0% | 62.0% |
| 최종 평가 정확도 | 88.0% | 90.0% |
| 최종 평가 불량 재현율 | 70.0% | 80.0% |
| 최종 평가 불량 정밀도 | 43.8% | 50.0% |
이 예시에서는 학습자료 내부 교차검증에서 RBF SVM의 F1 점수가 더 높아 이를 선택했다고 가정합니다. 최종 평가 점수는 선택 이후 독립적으로 확인하는 값입니다. 실제로는 교차검증 점수의 변동이나 소수의 불량 샘플로 인한 불확실성도 살펴야 합니다.
SVM의 기본 결정함수 점수는 분류 경계에서 얼마나 떨어져 있는지와 관계가 있지만, 그 자체가 불량 확률은 아닙니다. 확률이 필요한 의사결정이라면 별도의 확률 보정과 보정 성능 평가가 필요합니다.
SVM에서 주의해야 할 점
성능 수치가 높아도 현장에서 놓치는 불량을 확인해야 합니다.
변수를 표준화했나요?
단위가 큰 센서값이 거리 계산을 지배하지 않도록 학습자료에서 표준화 과정을 적합합니다.
불량이 적은데 정확도만 보고 있지 않나요?
불량이 전체의 10%인 예제에서는 전부 정상이라고 예측해도 정확도가 90%입니다. 불량 재현율·정밀도와 불량 누락 비용을 함께 확인해야 합니다.
평가자료로 하이퍼파라미터를 조정하지 않았나요?
최종 평가자료에서 점수가 잘 나오는 조합을 반복해서 고르면 평가 결과가 낙관적으로 변할 수 있습니다. 튜닝은 학습자료 내부 교차검증에서 마무리합니다.
로트와 장비 차이를 고려했나요?
같은 생산 배치의 웨이퍼가 학습과 평가에 동시에 들어가면 실제 새 배치의 예측보다 쉽게 평가될 수 있습니다. 사용 환경에 맞게 시간·로트·장비 단위의 분할을 검토합니다.
설명과 인과관계를 혼동하지 않았나요?
SVM이 어떤 센서값을 분류에 사용한다고 해서 그 센서값이 불량의 원인이라는 의미는 아닙니다. 예측을 위한 패턴과 원인 분석은 구분해야 합니다.
다른 분석과 어떻게 다른가요?
집단 분류라는 목적은 같아도 경계를 학습하는 방식이 다릅니다.
| 분석 방법 | 분류 방식 | 구별할 점 |
|---|---|---|
| SVM | 마진을 고려해 결정경계 최적화 | 커널로 비선형 관계 처리 가능 |
| 로지스틱 회귀 | 집단에 속할 확률의 로그오즈 모델링 | 계수와 오즈비 해석이 비교적 쉬움 |
| 판별분석(LDA/QDA) | 집단별 분포와 공분산 가정 활용 | 분포 가정 아래 확률과 경계 계산 |
| KNN | 가까운 데이터의 다수 레이블로 분류 | 거리·K와 규모에 민감 |
| 결정트리 | 변수값을 기준으로 분할 규칙 생성 | 규칙 해석이 비교적 쉬움 |
SVM은 특히 관측값의 경계에 집중한다는 특징이 있습니다. 하지만 소규모 데이터에서 항상 우월하거나 커널을 쓰면 반드시 성능이 좋아지는 것은 아닙니다. 동일한 데이터 분할과 평가 지표로 비교하는 것이 중요합니다.
SVM 결과는 어떻게 보고하나요?
분류 설정, 성능 평가 절차와 오류 종류를 함께 제시합니다.
분석 결과에는 자료의 규모와 집단 비율, 입력 센서 변수, 학습·평가 분할, 전처리, 커널, C 및 gamma 선택 방식, 교차검증 기준, 독립 평가자료에서의 혼동행렬과 성능 지표를 제시합니다. 공정별 차이나 새 배치에 대한 일반화 한계도 설명해야 합니다.
공정 센서 측정값을 이용하여 반도체 웨이퍼의 정상·불량 여부를 분류하기 위해 서포트 벡터 머신(SVM)을 적용하였다. 가상의 웨이퍼 500장 중 400장을 학습자료, 100장을 최종 평가자료로 사용했으며, 학습자료 내부의 교차검증으로 RBF 커널 모형을 선택하였다. 최종 평가자료에서 정확도는 90.0%, 불량 재현율은 80.0%, 정밀도는 50.0%, F1 점수는 약 61.5%였다. 불량 웨이퍼 10장 중 2장은 정상으로 잘못 분류되었다. 제시한 수치는 학습용 가상 예시이다.
실제 보고에서는 분류 임계값을 변경했는지, 운영 환경에서 어떤 오류가 더 중요한지, 모델 선택과 최종 평가자료가 분리되어 있었는지를 명확히 밝혀야 합니다.
SVM은 어디에 활용할 수 있나요?
센서·이미지·텍스트처럼 여러 특성으로 집단을 구분하는 상황에서 활용합니다.
| 분야 | 분류할 대상 | 사용할 수 있는 변수 |
|---|---|---|
| 반도체 제조 | 정상·불량 웨이퍼 | 온도, 압력, 진동, 전류 |
| 설비 관리 | 정상·이상 상태 | 센서 신호, 진동 주파수 |
| 텍스트 분석 | 스팸·정상 이메일 | 단어 빈도, 문장 특징 |
| 생물정보학 | 질환군·대조군 | 유전자 발현 특성 |
| 영상 품질검사 | 제품 결함 유형 | 이미지 특징값 |
예측이 실제 현장에서 중요한 판단에 연결된다면 오분류 비용과 검사 절차를 함께 설계해야 합니다. 모형만으로 자동 결론을 내리기보다 사람이 검토해야 할 사례를 어떻게 선택할지도 정해야 합니다.
SVM은 집단을 나누는 경계와 그 경계의 안정성을 함께 고려하는 분류 방법입니다.
마진과 커널의 차이를 이해하고, 새로운 데이터에서 오류가 얼마나 발생하는지 확인하는 것이 중요합니다.
반도체 웨이퍼의 정상·불량 여부를 판정할 때 센서 하나만으로는 차이가 뚜렷하지 않을 수 있습니다. SVM은 여러 센서값을 함께 고려해 두 집단 사이의 결정경계를 찾고, 경계와 가까운 관측값을 기준으로 분류 기준을 조정합니다. 선형 SVM은 상대적으로 단순한 경계를 만들고, 커널 SVM은 복잡한 관계에도 대응할 수 있지만 복잡할수록 좋은 것은 아닙니다. 데이터의 양과 패턴, 하이퍼파라미터 설정에 따라 결과는 크게 달라집니다.
중요한 것은 학습자료를 얼마나 완벽하게 분류했는지가 아니라, 새로운 웨이퍼의 불량을 실제로 얼마나 잘 찾아내는지입니다. 특히 불량 비율이 낮은 상황에서는 정확도가 높아도 중요한 불량을 놓칠 수 있으므로 재현율과 정밀도, 혼동행렬을 함께 해석해야 합니다. 학습과 최종 평가를 분리하고 데이터 누수를 막는 절차까지 지켜야 SVM의 성능을 믿을 만하게 평가할 수 있습니다.
SVM은 결정경계와 마진을 고려하여 데이터를 분류합니다. 선형 경계로 충분하지 않다면 커널을 사용할 수 있지만, C와 gamma는 교차검증으로 조정해야 합니다. 불량 판정에서는 정확도만 보지 말고 재현율·정밀도와 놓친 불량 건수를 반드시 확인해야 합니다.