[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
2.2 logistic回归损失函数(非常重要,深入理解)
时间:
2017-09-08 23:46:13
阅读:
455
评论:
0
收藏:
0
[点我收藏+]
上一节当中,为了能够训练logistic回归模型的参数w和b,需要定义一个成本函数
使用logistic回归训练的成本函数
为了让模型通过学习来调整参数,要给出一个含有m和训练样本的训练集
很自然的,希望通过训练集找到参数w和b,来得到自己得输出
对训练集当中的值进行预测,将他写成y^(I)我们希望他会接近于训练集当中的y^(i)的数值
现在来看一下损失函数或者叫做误差函数
他们可以用来衡量算法的运行情况
可以定义损失函数为y^和y的差,或者他们差的平方的一半,结果表明你可能这样做,但是实际当中,大家都不会这么做,因为当你学习这些参数的时候,你会发现之后讨论的优化问题,会变成非凸的,最后会得到很多的局部最优解,梯度下降算法可能找不到最优的全局最优值,
直观理解就是我们定义这个损失函数L,来衡量你的预测输出值y^和y的实际值有多接近,误差平方看起来是一个合理的选择,但是如果用这个的话,梯度下降法就不会很好用,
在logistic回归中,我们会定义一个不同的损失函数,它起着于误差平方相似的作用,这会给我们一个凸的优化问题,他很容易去做优化,
在logistic回归中,我们用的损失函数将会是下面这样的,(非常重要!)
直观的看一下为什么这个函数会起到作用,
记得如果我们使用误差平方越小越好
对于这个logistic回归的损失函数,同样的,我们也想让它尽可能的小,
为了更好的理解它能起到好的作用,来看两个例子
当y=1的时候,就是第一项L带个负号
,
这就是说,当y=1的时候,你想让-log(y^)尽可能小(代表着误差尽可能的小),那么就需要y^足够大,但是因为y^是sigmoid函数得出来的,永远不会比1大,也就是说,如果y=1的时候,你想让y^,尽可能的大,但是它永远不会大于1,所以你要让y^接近1(从sigmoid函数的图像上看一下,采取什么样的措施才能够让y^接近于1呢?就是上一节分析的那样),
当y=0的时候,
在学习过程中,想让损失函数小一些,也就意味着你想要log(1-y^)够大,通过这一系列的推导,发现,损失函数让y^尽可能的小,再次,因为y^只能介于0和1之间,所以就是说,当y=0的时候,损失函数会让这些让y^尽可能的接近0,有很多函数都能够达到上面的效果,
如果y=1,我们尽可能的让y^很大,如果y=0,尽可能的让y^足够小,
给出解释为什么在logistic回归中,要使用这个形式的损失函数。
最后说一下
在单个训练样本中定义的,
它衡量了在单个训练样本上的表现(个人理解也就是一个训练集中的每个训练样本),
下面定义一个成本函数
它衡量的是在全体训练样本上的表现,这个成本函数J,根据之前得到的两个参数w和b,J(w,b)等于所有的训练样本的损失函数的和的平均数
y^是用一组特定的参数w和b,通过logistic回归算法得出的预测输出值,
损失精度函数适用于单个训练样本,而成本函数,基于参数的总成本,所以在训练logistic回归模型的是时候,我们需要找到合适的参数w和b,让下面这里的成本函数尽可能的小,
这一节我们看到了logistic回归算法的过程,以及训练样本的损失函数,还有和参数相关的总体成本函数,结果表明,logistic回归可以被看作是一个非常小的神经网络,
下一节讲解,神经网络能够做什么,看看如何将logistic回归看做一个非常小得神经网络,
来自为知笔记(Wiz)
2.2 logistic回归损失函数(非常重要,深入理解)
原文:http://www.cnblogs.com/yangzsnews/p/7496639.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!