一、前述
Soft-Max是做多分類的,本身是哪個類別的概率大,結果就為對應的類別。為什麼稱之為Soft判別,原因是歸一化之後的概率選擇最大的作為結果,而不是隻根據分子。
二、原理
sigmod函式:
SoftMax函式模型理解:
每一個分類的預測值的概率:
soft-max的損失函式:
當k=2時其實損失函式就是:(實際上就是邏輯迴歸)
三、程式碼
# softmax多分類 from sklearn import datasets from sklearn.linear_model import LogisticRegression iris = datasets.load_iris() print(iris['DESCR']) print(iris['feature_names']) X = iris['data'][:, (2, 3)] #一般是選花瓣來做特徵。 print(X) y = iris['target'] #最終的分類號 softmax_reg = LogisticRegression(multi_class='multinomial', solver='sag', C=8, max_iter=1000)#採用的是多分類 c=8 L2正則中的阿爾法引數 #選用的是sag 隨機梯度下降來求 Multionmial 是多分類 max_iter是迭代次數 softmax_reg.fit(X, y) print(softmax_reg.predict([[5, 2]]))# soft_max是直接選定結果,根據概率大的。 print(softmax_reg.predict_proba([[5, 2]]))