【机器学习】--线性回归中soft-max从初始到应用

一、前述

Soft-Max是做多分类的,本身是哪个类别的概率大,结果就为对应的类别。为什么称之为Soft判别,原因是归一化之后的概率选择最大的作为结果,而不是只根据分子。

二、原理

sigmod函数:

【机器学习】--线性回归中soft-max从初始到应用

SoftMax函数模型理解:

【机器学习】--线性回归中soft-max从初始到应用

每一个分类的预测值的概率:

【机器学习】--线性回归中soft-max从初始到应用

soft-max的损失函数:

【机器学习】--线性回归中soft-max从初始到应用

当k=2时其实损失函数就是:(实际上就是逻辑回归

【机器学习】--线性回归中soft-max从初始到应用

三、代码

# 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]]))
上一篇:javascript中function和object的区别,以及javascript如何实现面向对象的编程思想.


下一篇:HTTP之gRPC