【機器學習】--線性迴歸中soft-max從初始到應用

LHBlog發表於2018-01-24

一、前述

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]]))

 

相關文章