机器学习 LR中的参数迭代公式推导——极大似然和梯度下降

机器学习 LR中的参数迭代公式推导——极大似然和梯度下降

Logistic本质上是一个基于条件概率的判别模型(DiscriminativeModel)。

函数图像为:

通过sigma函数计算出最终结果,以0.5为分界线,最终结果大于0.5则属于正类(类别值为1),反之属于负类(类别值为0)。

如果将上面的函数扩展到多维空间,并且加上参数,则函数变成:

接下来问题来了,如何得到合适的参数向量θ呢?

由于sigma函数的特性,我们可作出如下的假设:

上式即为在已知样本X和参数θ的情况下,样本X属性正类(y=1)和负类(y=0)的条件概率。

将两个公式合并成一个,如下:

既然概率出来了,那么最大似然估计也该出场了。假定样本与样本之间相互独立,那么整个样本集生成的概率即为所有样本生成概率的乘积:

为了简化问题,我们对整个表达式求对数,(将指数问题对数化是处理数学问题常见的方法):

满足似然函数(θ)的最大的θ值即是我们需要求解的模型。

梯度上升算法

就像爬坡一样,一点一点逼近极值。爬坡这个动作用数学公式表达即为:

其中,α为步长。

回到Logistic Regression问题,我们同样对函数求偏导。

先看:

其中:

再由:

可得:

接下来就剩下第三部分:

(这个公式应该很容易理解,简单的偏导公式)

还有就是:

综合三部分即得到:

因此,梯度迭代公式为:

结合本式再去理解《机器学习实战》Page 78中的代码就很简单了。

原文地址:https://www.cnblogs.com/yymhaha/p/9250942.html

时间: 2024-08-08 10:24:45

机器学习 LR中的参数迭代公式推导——极大似然和梯度下降的相关文章

Lr中脚本的迭代次数和场景运行时间的关系

Loadrunner中脚本的迭代次数和场景运行时间的关系 LR 的Vugen和controller中迭代是这样的: 当场景的持续时间为“运行至结束”时,以Vugen中设置的迭代次数为准 当场景的持续时间为“具体的几分钟”时,忽略Vugen中的迭代次数,脚步的action重复迭代,直到时间结束为止,按退出策略,执行退出操作

Stanford大学机器学习公开课(二):监督学习应用与梯度下降

本课内容: 1.线性回归 2.梯度下降 3.正规方程组 监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案 1.线性回归 问题引入:假设有一房屋销售的数据如下: 引入通用符号: m =训练样本数 x =输入变量(特征) y =输出变量(目标变量) (x,y)—一个样本 ith—第i个训练样本=(x(i),y(i)) 本例中:m:数据个数,x:房屋大小,y:价格 监督学习过程: 1) 将训练样本提供给学习算法 2) 算法生成一个输出函数(一般用h表示,成为假设) 3)

机器学习-斯坦福:学习笔记2-监督学习应用与梯度下降

监督学习应用与梯度下降 本课内容: 1.  线性回归 2.  梯度下降 3.  正规方程组 (复习)监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案 1. 线性回归 例:Alvin汽车,先让人开车,Alvin摄像头观看(训练),而后实现自动驾驶. 本质是一个回归问题,汽车尝试预测行驶方向. 例:上一节课的房屋大小与价格数据集 引入通用符号: m = 训练样本数 x = 输入变量(特征) y = 输出变量(目标变量) (x,y) – 一个样本  –第i个训练样本 =

贝叶斯————极大似然估计

贝叶斯决策 贝叶斯公式(后验概率): p(w):每种类别分布的概率——先验概率: p(x|w):某类别下x事件发生的概率——条件概率: p(w|x):x事件已经发生,属于某类的概率——后验概率: 后验概率越大,说明x事件属于这个类的概率越大,就越有理由把事件x归到这个类下 实际问题中,我们只知道优先数目的样本数据,先验概率和条件概率不知道,求不出后验概率.这个时候需要对先验概率和条件概率进行估计,然后再使用贝叶斯分类器. 先验概率的估计方法: 每个样本的属于哪个类是已知的(有监督学习): 依靠经

DeepLearning tutorial(2)机器学习算法在训练过程中保存参数

我是小白,说的不是很好,请原谅 @author:wepon @blog:http://blog.csdn.net/u012162613/article/details/43169019 参考:pickle - Python object serialization.DeepLearning Getting started 一.python读取"***.pkl.gz"文件 用到Python里的gzip以及cPickle模块,简单的使用代码如下,如果想详细了解可以参考上面给出的链接. [p

机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size

机器学习算法中如何选取超参数:学习速率.正则项系数.minibatch size 本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器学习算法中,如何选取初始的超参数的值.(本文会不断补充) 学习速率(learning rate,η) 运用梯度下降算法进行优化时,权重的更新规则中,在梯度项前会乘以一个系数,这个系数就叫学习速率η.下面讨论在训练时选取η的策略. 固定的学习速率.如果学习速率太小,则会使收敛过慢,如果学习速率太大,则会导致代价

机器学习中梯度下降法和牛顿法的比较

在机器学习的优化问题中,梯度下降法和牛顿法是常用的两种凸函数求极值的方法,他们都是为了求得目标函数的近似解.在逻辑斯蒂回归模型的参数求解中,一般用改良的梯度下降法,也可以用牛顿法.由于两种方法有些相似,我特地拿来简单地对比一下.下面的内容需要读者之前熟悉两种算法. 梯度下降法 梯度下降法用来求解目标函数的极值.这个极值是给定模型给定数据之后在参数空间中搜索找到的.迭代过程为: 可以看出,梯度下降法更新参数的方式为目标函数在当前参数取值下的梯度值,前面再加上一个步长控制参数alpha.梯度下降法通

梯度优化算法总结(转载)以及solver中相关参数解释

原文地址:http://sebastianruder.com/optimizing-gradient-descent/ 如果熟悉英文的话,强烈推荐阅读原文,毕竟翻译过程中因为个人理解有限,可能会有谬误,还望读者能不吝指出.另外,由于原文太长,分了两部分翻译,本篇主要是梯度下降优化算法的总结,下篇将会是随机梯度的并行和分布式,以及优化策略的总结. 梯度下降是优化中最流行的算法之一,也是目前用于优化神经网络最常用到的方法.同时,每个优秀的深度学习库都包含了优化梯度下降的多种算法的实现(比如, las

人肉工程在机器学习实践中的作用

关于人肉工程,包括业务知识.领域知识,经验等,在实际的机器学习问题中的应用,是一个屡见不鲜的话题,典型的有苦逼的数据清洗.人肉特征工程等.大家都想把尽可能多的过程由机器自动完成,但是目前的状态是,大部分机器学习问题中,最困难也最重要的部分,还是依靠人的经验来生成特征.那么人的经验为什么重要,能否用机器完成这个过程,本文试作一简单分析. 机器和人看待数据的区别 首先要看一下,从机器的角度看,机器学习是怎样一个问题?在机器看来,机器学习的问题通常是在一组特征上,最大化某个目标函数.注意,对于这组特征