시그모드 함수와 소프트맥스 함수 개술
신호 함수
신호 함수 개술
sigmoid function은 기계 학습에서 자주 사용하는 함수입니다.
$S(x)=\dfrac{1}{1+\rm{exp}(\it{-x}\rm{)}}$
에서 설명한 대로 해당 매개변수의 값을 수정합니다.다음 그림에서 보듯이 단조로운 증가 함수입니다.
논리 함수와의 관계
신호 함수를 일반화하는 함수는 논리 함수이다
$f(x)=\dfrac{L}{1+\rm{exp}(\it{-k\\rm{(}\it{x-x_0}}\rm{))}}$
에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.
각 매개 변수의 뜻은 다음과 같다.
시그모드 함수의 성질
수학에는 비슷한 성질을 가진 함수가 많아 흥미롭지만 기계 학습에서의 응용에만 국한되어 중요한 성질을 열거했다.
시그모드 함수는 $y=0달러와 $y=1달러로 $(-\infty,\infty)\rightarrow(0,1)$로 만드는 단조로운 증가 함수입니다.이것은 $x$가 어떤 값을 취하든지 간에 $S(x)$의 함수 값이 $0$에서 $1$사이로 밀린다는 것을 의미한다.확률론에 나타난 누적 분포 함수(cumulative distribution function)와 성질이 같기 때문에 이 함수는 신경 네트워크에서 입력값 $x$를 확률값에 해당하는 출력값 $S(x)$로 변환하는 활성화 함수(activation function)로 자주 사용된다.
소프트 맥스 함수
시그모드 함수가 특정한 값(실수)의 입력을 출력하는 함수와 비교하면 소프트맥스 함수는 여러 개의 값으로 구성된 벡터를 입력하여 정규화된 벡터를 출력한다.
구체적인 예로 이 뜻을 설명하다.
소프트 맥스 함수 개술
입력 값이 $n$인 벡터의 경우
값 벡터 입력 $(x_1, x_2,\dots, x_n)$
출력값 벡터 $(y_1, y_2,\dots, y_n)$
상자에서 [기본값] 을 선택합니다.
$y_1 =\dfrac{exp(x_1)}{exp(x_1)+exp(x_2)+\dots+exp(x_n)}$
$y_2 =\dfrac{exp(x_2)}{exp(x_1)+exp(x_2)+\dots+exp(x_n)}$
$\dots$
$y_n =\dfrac{exp(x_n)}{exp(x_1)+exp(x_2)+\dots+exp(x_n)}$
지금, $y_1+y_2+\dots+y_n=1달러입니다.
예:
값 벡터 입력 $(1,2,3)$
에 설명된 해당 매개변수의 값입니다.
출력 벡터 $(0.09003057,0.24472847,0.66524096)$
나는 합계치가 1달러인지 알고 싶다.
또한 Python은 다음과 같이 설치할 수 있습니다.import numpy as np
def softmax_func(x):
exp_x = np.exp(x)
return exp_x/np.sum(exp_x)
x = np.array([1, 2, 3])
print(softmax_func(x))
소프트 맥스 함수의 성질
소프트 맥스 함수는 출력 값 벡터의 모든 요소를 $0$에서 $1$로 밀어넣고 모든 요소의 합계를 $1$로 규범화하는 성질을 가지고 있으며, 여러 값의 입력 값 벡터 $x$에서 어떤 값을 얻든지 간에.이 함수는 신경 네트워크에서 활성화 함수(activation function)로 자주 사용되며 입력 값 벡터의 각 요소를 확률 값과 비슷한 출력 값 벡터로 변환한다.
기계 학습에서의 구분 사용
상술한 바와 같이 시그모드 함수와 소프트맥스 함수는 공통된 성질을 읽을 수 있다.
$n=2$의 소프트 맥스 함수는 다음과 같다.
$y_1=\dfrac{exp(x_1)}{exp(x_1)+exp(x_2)}=\dfrac{1}{1+\frac{exp(x_2)}{exp(x_1)}}=\dfrac{1}{1+exp(-(x_1-x_2))}$
이렇게 하면 $n=2$의 소프트 맥스 함수는 시그모드 함수이고, 시그모드 함수를 일반화하는 것은 소프트 맥스 함수이다.
이 두 함수의 관계성과 확률 값을 동시에 출력하는 함수의 성질 때문에 기계 학습의 분류 문제에서 2치 분류는 시그모드 함수를 사용하고 다수치 분류(3치 이상)는 소프트맥스 함수를 사용하여 출력층의 활성화 함수로 한다.
(또한 회귀 문제에서 출력층의 활성화 함수로 항등 함수 (identity function) 를 사용합니다.)
Reference
이 문제에 관하여(시그모드 함수와 소프트맥스 함수 개술), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SabanoMizuni/items/ab4b73cd9b8e733da11a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import numpy as np
def softmax_func(x):
exp_x = np.exp(x)
return exp_x/np.sum(exp_x)
x = np.array([1, 2, 3])
print(softmax_func(x))
상술한 바와 같이 시그모드 함수와 소프트맥스 함수는 공통된 성질을 읽을 수 있다.
$n=2$의 소프트 맥스 함수는 다음과 같다.
$y_1=\dfrac{exp(x_1)}{exp(x_1)+exp(x_2)}=\dfrac{1}{1+\frac{exp(x_2)}{exp(x_1)}}=\dfrac{1}{1+exp(-(x_1-x_2))}$
이렇게 하면 $n=2$의 소프트 맥스 함수는 시그모드 함수이고, 시그모드 함수를 일반화하는 것은 소프트 맥스 함수이다.
이 두 함수의 관계성과 확률 값을 동시에 출력하는 함수의 성질 때문에 기계 학습의 분류 문제에서 2치 분류는 시그모드 함수를 사용하고 다수치 분류(3치 이상)는 소프트맥스 함수를 사용하여 출력층의 활성화 함수로 한다.
(또한 회귀 문제에서 출력층의 활성화 함수로 항등 함수 (identity function) 를 사용합니다.)
Reference
이 문제에 관하여(시그모드 함수와 소프트맥스 함수 개술), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SabanoMizuni/items/ab4b73cd9b8e733da11a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)