博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对数几率回归
阅读量:4147 次
发布时间:2019-05-25

本文共 1221 字,大约阅读时间需要 4 分钟。

本文损失函数部分内容参考:http://www.cnblogs.com/fionacai/p/5865480.html

目的:

利用线性回归时,输出的是实值,但要做的是分类任务该怎么办,答案就是线性模型的广义线性回归,即找到一个单调可微的函数将分类任务的真实标记和线性回归的预测值联系起来。

如是二分类任务,其输出标记为,而线性回归的预测值为实值,我们需将实值转为0/1值,我们必然想到单位阶跃函数(unit-step function),若大于0就判为正例,小于0则判为反例,预测值为临界值为0则可任意判别。但是,单位阶跃函数不连续,因此找到近似单位阶跃函数的“替代函数”,因此我们采用对数几率函数(logistic function):

        (1

该函数又叫作Sigmoid 函数。

方法:

代入公式(1),则可得到,该式可变化为 (2),若将视为样本为正例的可能性,则是其反例可能性,两者的比值:
称为“几率”(odds),反映了作为正例的相对可能性。对几率取对数则得到对数几率(log odds)
由此可以看出,实际上我们是用线性回归模型的预测结果去逼近真实标记的对数几率,因此该模型成为“对数几率
回归”(logistic regression)。需要注意的是,虽然名字为回归,其实是一种分类学习方法。
得到表达式后,接下来要做的就是如何得到。我们将视为类后验概率估计, 则表达式(2)可以
表达为:
(3)
显然有
(4)
(5)
因此,我们可以通过“极大似然法”(maximum likelihood function)估计。对数几率回归模型的最大化“对数
似然”
(6)
即令每个样本属于其真实标记的概率越大越好,为便于讨论,令
可简写为,则(下式中的为sigmoid函数,因为利用极大似然推到较为麻烦,因此这里直接利
用损失函数,损失函数是利用极大似然准则函数推导的,,具体的推导求解过程可参见博客
 另一种较为好理解的方式是,如果Y=1,你胆敢给出一个h(x)很小的概率比
如0.01,那么损失函数就会变得很大:
此时的损失函数变成了凸函数,Theta的求解,就是梯度下降法(Gradient Descent,GD)求最小值,此时加入的正则化项,是解决过拟合问题。
(过拟合问题:如果我们的模型有非常多的特征,模型很复杂,模型对原始数据的拟合效果很好,但是丧失一般性,对新的待预测变量预测
效果很差。怎么解决呢?限制参数,损失函数加上关于theta的限制,即如果theta太多太大,则就给予惩罚。L2正则化。)
则参数的利用GD进行迭代求最优值为

该公式将一直被迭代执行,直至达到收敛()在每一步迭代中都减小,如果某一步减少的值少于某个很小的值()(小于0.001),

 则其判定收敛)或某个停止条件为止(比如迭代次数达到某个指定值或算法达到某个可以允许的误差范围)。 转换为向量的处理方法同样可

参见上文博客:

你可能感兴趣的文章
数据库
查看>>
nginx反代 499 502 bad gateway 和timeout
查看>>
linux虚拟机安装tar.gz版jdk步骤详解
查看>>
python实现100以内自然数之和,偶数之和
查看>>
python数字逆序输出及多个print输出在同一行
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
pytorch
查看>>
pytorch(三)
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>