일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- gameplay effect
- gameplay ability system
- stride
- unity
- rpc
- photon fusion2
- attribute
- 보안
- nanite
- 게임개발
- os
- Aegis
- UI
- MAC
- Replication
- animation
- network object pooling
- 언리얼엔진
- ability task
- Unreal Engine
- listen server
- local prediction
- map design
- CTF
- 게임 개발
- 유니티
- gameplay tag
- 언리얼 엔진
- Multiplay
- gas
- Today
- Total
Replicated
다중클래스 분류 & 소프트맥스 분류 본문
다중클래스 분류(multi-class classification)
- 2개 이상의 클래스를 가진 y값에 대한 분류
* 다중 클래스와 다중 레이블
다중 클래스 분류
- 2개 이상의 클래스를 가진 분류 작업
- 중복 선택 불가
다중 레이블 분류
- 상호 배타적이지 않은 속성 예측
- 중복 선택 가능
분류 접근
One-vs-All
- 각 클래스를 나머지 클래스와 구별하는 방식, 각 분류기는 자신이 속한 클래스의 확률을 출력하고 가장 높은 확률을 가진 클래스를 예측값으로 선택 (분류기 m개)
- One-vs-Rest라고도 함
One-vs-One
- 클래스 간 모든 쌍에 대해 이진 분류기를 학습, 클래스 수가 많으면 필요한 분류기의 수가 기하급수적으로 증가. 최종적으로 각 분류기들의 결과를 투표로 결정
- 총 m(m-1)/2개 분류기 생성
- 분류기가 많아질수록 정확도가 높아지지만, 비용도 증가
소프트맥스 함수
- 시그모이드 함수로 다중클래스 분류 문제 다룰 수 있음
- 각각의 클래스에 속하는지 속하지 않는지 이진 분류기 m개 생성, 가장 높은 확률이 나오는 클래스 선택
- 분류기 번호 m에 대해 hₘ(x; θ)로 표현
- 근데 hₘ(x; θ) 확률 합이 1 이상이 됨
=> 모든 클래스의 발생 확률을 1로 정규화
다중 클래스 분류에서 여러 선형회귀의 출력 결과를 정규화하여 합이 1이 되도록 만드는 함수
z는 선형 결합
소프트맥스 함수로 구현하는 소프트맥스 분류
- 각 클래스에 대해 독립적인 선형 모델 학습
- 각 클래스마다 하나의 가중치 벡터 존재
각 세타j는 클래스 j에 대한 파라미터 벡터
같은 입력 x에 대해 서로 다른 세타(클래스 별 파라미터 벡터)가 곱해져서 클래스별 점수를 만들어 내는 것
실제 정답이 클래스 j일때만 1, 그 외에는 0임
그리고 입력 x에 대해 클래스 j일 확률을 구함
=> 정답 클래스에 대한 로그 확률만 선택해서 음수로 바꿈
정확힌 이건 샘플 하나에 대한 크로스 엔트로피 손실을 계산함
샘플 하나를 모든 클래스에 대해 계산해보는 거.. 사실상 하나의 j에 대해서만 로그 확률을 더함
m: 전체 샘플 수
K: 클래스 수
yi: i번째 샘플의 실제 레이블
xi: i번째 샘플의 입력 벡터
'빅데이터마이닝' 카테고리의 다른 글
베이즈 분류기 (0) | 2025.04.12 |
---|---|
다중클래스 분류의 코드 구현 (0) | 2025.04.12 |
로지스틱 회귀 구현 (0) | 2025.04.12 |
분류 문제의 성능 지표 (0) | 2025.04.12 |
로지스틱 회귀 (0) | 2025.04.11 |