前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习之Softmax回归模型

机器学习之Softmax回归模型

作者头像
week
发布2018-08-24 14:38:59
5220
发布2018-08-24 14:38:59
举报
文章被收录于专栏:用户画像用户画像

Softmax在机器学习中有非常广泛的应用,但是刚刚接触机器学习的人可能对Softmax的特点以及好处并不理解,其实你了解了以后就会发现,Softmax计算简单,效果显著,非常好用。

我们先来直观看一下,Softmax究竟是什么意思

我们知道max,假如说我有两个数,a和b,并且a>b,如果取max,那么就直接取a,没有第二种可能

但有的时候我不想这样,因为这样会造成分值小的那个饥饿。所以我希望分值大的那一项经常取到,分值小的那一项也偶尔可以取到,那么我用softmax就可以了  现在还是a和b,a>b,如果我们取按照softmax来计算取a和b的概率,那a的softmax值大于b的,所以a会经常取到,而b也会偶尔取到,概率跟它们本来的大小有关。所以说不是max,而是 Soft max,那各自的概率究竟是多少呢,我们下面就来具体看一下

定义

假设我们有一个数组V,Vi表示V中的第i个元素,那么这个元素的Softmax值就是 

也就是说,是该元素的指数值,与所有元素指数值和的比值

这个定义可以说非常的直观,当然除了直观朴素好理解以外,它还有更多的优点

1.计算与标注样本的差距

在神经网络的计算当中,我们经常需要计算按照神经网络的正向传播计算的分数S1,按照正确标注计算的分数S2,之间的差距,计算Loss,才能应用反向传播。Loss定义为交叉熵

取log里面的值就是这组数据正确分类的Softmax值,它占的比重越大,这个样本的Loss也就越小,这种定义符合我们的要求

2.计算上非常非常的方便

当我们对分类的Loss进行改进的时候,我们要通过梯度下降,每次优化一个step大小的梯度

我们定义选到yi的概率是

然后我们求Loss对每个权重矩阵的偏导,应用到了链式法则

详细过程

最后结果的形式非常的简单,只要将算出来的概率的向量对应的真正结果的那一维减1,就可以了

举个例子,通过若干层的计算,最后得到的某个训练样本的向量的分数是[ 1, 5, 3 ], 

那么概率分别就是

[e1e1+e3+e5,e5e1+e3+e5,e3e1+e3+e5]=[0.015,0.866,0.117]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年03月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
    • 1.计算与标注样本的差距
      • 2.计算上非常非常的方便
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档