익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
소프트맥스
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
소프트맥스(softmax)는 다중 클래스 분류 문제에서 각 클래스에 대한 확률 분포를 계산하기 위해 사용되는 함수이다. ==개요== 소프트맥스 함수는 입력값 벡터를 받아 각 항목에 대해 0과 1 사이의 값으로 변환하며, 전체 출력값의 합이 1이 되도록 정규화한다. 이 함수는 주로 신경망의 출력층에서 사용되어, 각 클래스에 속할 확률을 추정하는 데 활용된다. 입력값이 클수록 해당 클래스의 확률이 높아지며, 이를 통해 모델이 어느 클래스를 선택할지를 결정한다. 소프트맥스(softmax)라는 이름은 "soft maximum"에서 유래하였으며, 이는 가장 큰 값을 선택하는 하드한(max) 결정 방식 대신 확률적으로 부드러운(soft) 선택을 수행한다는 의미를 담고 있다. 즉, 단일 최대값을 출력하는 argmax 함수와 달리, 모든 클래스에 대해 연속적인 확률값을 출력한다는 점에서 'soft'한 max 함수로 해석할 수 있다. ==수식과 설명== 소프트맥스 함수는 입력 벡터의 각 요소에 지수 함수를 적용한 뒤 전체 합으로 나누어 계산한다. 예를 들어, 입력 벡터가 [x1, x2, ..., xn]일 때, 소프트맥스 함수는 다음과 같이 정의된다: 각 클래스 i에 대한 출력값 = exp(xi) / (exp(x1) + exp(x2) + ... + exp(xn)) 이로 인해 가장 큰 입력값에 해당하는 클래스가 가장 높은 확률을 갖게 된다. ==특징== *출력값의 합이 항상 1이므로 확률 분포로 해석 가능하다. *출력 간의 상대적인 크기를 강조한다. *출력이 민감하게 변할 수 있어, 입력값이 큰 경우 수치적 불안정성 문제가 발생할 수 있다. 이를 보완하기 위해 종종 입력값에서 최대값을 빼는 방식으로 안정화를 도모한다. ==활용== *다중 클래스 분류 모델의 출력층 *크로스 엔트로피 손실 함수와 함께 사용되어 학습 성능을 극대화 *자연어 처리(NLP)에서 단어 분포 예측 등 다양한 분야에 활용 ==소스코드 예제== 다음은 Python으로 구현한 소프트맥스 함수의 예제이다:<syntaxhighlight lang="python"> import numpy as np def softmax(x): e_x = np.exp(x - np.max(x)) # 수치적 안정성을 위한 최대값 보정 return e_x / e_x.sum(axis=0) # 예제 입력 logits = np.array([2.0, 1.0, 0.1]) probabilities = softmax(logits) print(probabilities) # 출력: [0.659, 0.242, 0.099] (소수점은 예시에 따라 다를 수 있음) </syntaxhighlight>소프트맥스 함수는 지수 함수(exp)를 사용하기 때문에, 입력값이 매우 클 경우 오버플로우가 발생할 수 있다. 이를 방지하기 위해 입력값에서 그 중 최대값을 빼는 방식으로 계산한다. 이 보정은 전체 분모와 분자에 동일한 상수를 곱하는 것과 같아 결과에는 영향을 미치지 않는다. 예를 들어, 다음과 같이 전개된다: exp(xi - max(x)) / Σ exp(xj - max(x)) = [exp(xi) / exp(max(x))] / Σ [exp(xj) / exp(max(x))] = exp(xi) / Σ exp(xj) 따라서 출력값은 본래의 소프트맥스와 동일하며, 수치적으로 더 안정된 계산을 제공한다. ==같이 보기== *[[신경망]] *[[손실 함수]] *[[크로스 엔트로피]] *[[다중 클래스 분류]] *[[확률 분포]] ==참고 문헌== *Goodfellow, Ian, et al. Deep Learning. MIT Press, 2016. *Bishop, Christopher M. Pattern Recognition and Machine Learning. Springer, 2006. ==각주== [[분류:인공지능]] [[분류:데이터 과학]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록