0
点赞
收藏
分享

微信扫一扫

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



=========================================================

声明:由于不同平台阅读格式不一致(尤其源码部分),所以获取更多阅读体验!!

个人网站地址:​​http://www.lhworldblog.com/?p=123&preview=true​​

==========================================================



一、前述

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

二、原理

sigmod函数:

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

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

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

soft-max的损失函数:

【机器学习】--线性回归中soft-max从初始到应用_损失函数_03

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

【机器学习】--线性回归中soft-max从初始到应用_损失函数_04

三、代码


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


 

举报

相关推荐

0 条评论