sofmax与概率

.1. 逻辑回归原理

1.1.1. 逻辑回归

在现实生活中,我们遇到的数据大多数都是非线性的,因此我们不能用上一章线性回归的方法来进行数据拟合。但是我们仍然可以从线性模型着手开始第一步,首先对输入的数据进行加权求和。
线性模型

 

z=wx+bz=wx+b


其中w我们称为“权重”,b为偏置量(bias),xx为输入的样本数据,三者均为向量的形式。

我们先在二分类中来讨论,假如能创建一个模型,如果系统输出1,我们认为是第一类,如果系统输出0,我们认为是第二类,这种输出需求有点像阶跃函数(海维塞德阶跃函数),但是阶跃函数是间断函数,y的取值在x=0处突然跳跃到1,在实际的建模中,我们很难在模型中处理这种情况,所以我们使用Sigmoid函数来代替阶跃函数。
2017-09-06-12-04-48

Sigmoid函数

 

y=sigmoid(z)=11+e−zy=sigmoid(z)=11+e−z


Sigmoid函数是激活函数其中的一种,当x=0时,函数值为0.5,随着x的增大,对应的Sigmoid值趋近1,而随着x的减小,Sigmoid值趋近0。通过这个函数,我们可以得到一系列0—1之间的数值,接着我们就可以把大于0.5的数据分为1类,把小于0.5的数据分为0类。

2017-09-05-15-24-33

这种方式等价于是一种概率估计,我们把y看作服从伯努利分布,在给定x条件下,求解每个yiyi为1或0的概率。此时,逻辑回归这个抽象的名词,在这里我们把它转化成了能够让人容易理解的概率问题。接着通过最大对数似然函数估计w值,就解决问题了。
yiyi等于1的概率为:

sigmoid(wxi+b)sigmoid(wxi+b)


yiyi等于0的概率为:

1−sigmoid(wxi+b)1−sigmoid(wxi+b)

以上对Sigmoid函数描述可以看出该函数多用于二分类,而我们会经常遇到多分类问题,这时,Softmax函数的就派上用场了。

Softmax函数
Softmax函数也是激活函数的一种,主要用于多分类,把输入的线性模型当成幂指数求值,最后把输出值归一化为概率,通过概率来把对象分类,而每个对象之间是不相关的,所有的对象的概率之和为1。对于Softmax函数,如果j=2的话,Softmax和Sigmoid是一样的,同样解决的是二分类问题,这时用两种函数都能进行很好的二分类。

 

softmax(z)i=ezi∑jezjsoftmax(z)i=ezi∑jezj


以上公式可以理解为,样本为类别ii的概率。即:

yi=softmax(wx+b)=ewxi+b∑jewxj+byi=softmax(wx+b)=ewxi+b∑jewxj+b

对于Softmax回归模型的解释,在这里引用一下别人的图,一张图片就胜过千言万语。

2017-09-05-17-51-03

如果写成多项式,可以是这样:

2017-09-05-17-53-51

如果换成我们常用的矩阵的形式,可以是这样:

2017-09-05-17-58-51

1.1.2. 损失函数

在线性回归中,我们定义了一个由和方差组成的损失函数,并使该函数最小化来找到θθ的最优解。同样的,在逻辑回归中我们也需要定义一个函数,通过最小化这个函数来解得我们的权重w值和偏差b值。在机器学习中,这种函数可以看做是表示一个模型的好坏的指标,这种指标可以叫做成本函数(Cost)或损失函数(Loss),然后最小化这两种函数,这两种方式都是一样的。
这里介绍一个常见的损失函数——“交叉熵”,在后面的实例代码中我们会用到。交叉熵产生于信息论里面的信息压缩编码技术,后来慢慢演变成从博弈论到机器学习等其他领域的重要技术,它用来衡量我们的预测用于描述真相的低效性。它的定义如下:

 

H(yi)=−∑iylabelln(yi)H(yi)=−∑iylabelln(yi)


它是怎么推导出来的呢,我们先来讨论一下Sigmoid的损失函数,接着再来对比理解。在上面的二分类中问题中,我们使用Sigmoid函数,同时我们也假定预测值yiyi服从伯努利分布,则yiyi等于1的概率为:

11+ewxi+b11+ewxi+b


yiyi等于0的概率为:

1−11+ewxi+b1−11+ewxi+b


则概率密度函数为:

P(y|x)=(11+ewxi+b)ylabel(1−11+ewxi+b)1−ylabelP(y|x)=(11+ewxi+b)ylabel(1−11+ewxi+b)1−ylabel


上式中的ylabelylabel是样本为类别1的实际概率。接着我们取对数似然函数,然后最小化似然函数进行参数估计(这里省略似然函数和一系列文字)。
而我们把问题泛化为多分类时,同样可以得出我们的概率密度函数:

P(y|x)=∏iP(yi|x)ylabelP(y|x)=∏iP(yi|x)ylabel


我们对概率密度取自然对数的负数,就得到了我们的似然函数,即我们这里称为交叉熵的函数,其中yiyi是样本为类别ii的预测概率,ylabelylabel是样本为类别ii的实际概率。

H(yi)=−∑iylabelln(yi)=−∑iylabelln(softmax(wx+b))H(yi)=−∑iylabelln(yi)=−∑iylabelln(softmax(wx+b))


最后,通过最小化该交叉熵,找出最优的w和b值。

原文地址:

https://www.cnblogs.com/vipyoumay/p/7507149.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值