분류 결과를 정규화하기 위해 Softmax 회귀 함수가 사용됩니다. 하지만 일반적인 정규화 방법과는 비율에 따라 다릅니다. 로그 변환을 통해 정규화하므로 정규화 과정에서 값이 클수록 더 많은 이득을 얻습니다.
소프트맥스 수식
소프트맥스 구현 방법 1
import numpy as np def softmax(x): """Compute softmax values for each sets of scores in x.""" pass # TODO: Compute and return softmax(x) x = np.array(x) x = np.exp(x) x.astype('float32') if x.ndim == 1: sumcol = sum(x) for i in range(x.size): x[i] = x[i]/float(sumcol) if x.ndim > 1: sumcol = x.sum(axis = 0) for row in x: for i in range(row.size): row[i] = row[i]/float(sumcol[i]) return x #测试结果 scores = [3.0,1.0, 0.2] print softmax(scores)
계산 결과는 :
[ 0.8360188 0.11314284 0.05083836]
Softmax 구현 방법 2
import numpy as np def softmax(x): return np.exp(x)/np.sum(np.exp(x),axis=0) #测试结果 scores = [3.0,1.0, 0.2] print softmax(scores)
위의 Python에서의 Softmax 회귀 함수 구현 방법(권장)은 다음과 같습니다. 편집자님께서 제가 모든 내용을 드렸으니 참고가 되셨으면 좋겠습니다. 그리고 PHP 중국어 웹사이트를 응원해 주시길 바랍니다.
Python에서 Softmax 회귀 함수를 구현하는 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!