牛顿方法

逻辑回归之问题建模分析

中我们提到最大化参数θ的最大化似然函数

可以用梯度下降法,对参数进行更新直至上面的对数似然函数收敛。下面引入另一种方法:牛顿方法。

开始,首先我们考虑如何找到一个函数的零点。也就是我们有一个函数:,我们希望找到一个值θ,使得.

我们首先随机取某一点(x,f(x)),那么f(x)在该点处的斜率就是f‘(x),根据几何学该点处的斜率同样等于(f(x)-f(θ))/(x-θ);

于是有:f‘(x) = (f(x)-f(θ))/(x-θ),又f(θ) = 0我们可以得到:θ = x - f(x) / f‘(x);这就是如何由任一点x寻找到θ的公式,很自然的得出在寻找f(x)

零点的时候,参数θ的迭代规则:

下面是牛顿法的执行过程:

由上图可以看出在迭代过程中我们所取得点(红色标注)慢慢靠近零点(θ,0).

好了,牛顿法给了我们如何找出函数零点的方法,如何用来最大化上面最开始提到的似然函数呢?

根据解析几何,很容易想到,函数的最大点对应着函数的导数为0的点,于是,我们的目标就变为寻找的零点。

也就是说我们让,这样在最大化似然函数的时候,很容易得出参数更新规则:

在逻辑回归中,θ通常是个矢量值,所以对于多维的牛顿法更新规则:

其中关于θ的偏导数向量,H被称为海森矩阵(Hessian):

牛顿法收敛速度要比梯度下降快,而且迭代次数要求很小.但是由于每一步都需要计算海森矩阵的逆,所以当维数太大时,就不太划算。即当变量维数不是很大的时候,

牛顿法的速度通常会比较快。

具体matlba操作,参考我的博客:逻辑回归实战。

时间: 2025-01-03 22:04:35

牛顿方法的相关文章

机器学习-牛顿方法&指数分布族&GLM

本节内容 牛顿方法 指数分布族 广义线性模型 之前学习了梯度下降方法,关于梯度下降(gradient descent),这里简单的回顾下[参考感知机学习部分提到的梯度下降(gradient descent)].在最小化损失函数时,采用的就是梯度下降的方法逐步逼近最优解,规则为其实梯度下降属于一种优化方法,但梯度下降找到的是局部最优解.如下图: 本节首先讲解的是牛顿方法(NewTon's Method).牛顿方法也是一种优化方法,它考虑的是全局最优.接着还会讲到指数分布族和广义线性模型.下面来详细

斯坦福公开课4:牛顿方法

北京理工大学计算机专业2016级硕士在读,方向:Machine Learning,NLP,DM 本讲大纲: 1.牛顿方法(Newton's method) 2.指数族(Exponential family) 3.广义线性模型(Generalized linear models) 牛顿法 假设有函数:,我们希望找到满足的值. 这里是实数. 牛顿方法执行下面的更新: 具体原理可参考文章<Jacobian矩阵和Hessian矩阵> 下图为执行牛顿方法的过程:  简单的来说就是通过求当前点的导数得到下

Nani_xiao的机器学习与总结:Andrew Ng.机器学习(四) :牛顿方法

重温概率论的基础 批梯度上升规则和随机梯度上升规则 拟合出logistic回归模型. 利用牛顿方法来进行模型拟合. 牛顿法也叫切线法. 为了使牛顿算法有效,需要将f满足某些条件,这些条件相当复杂.通常如何初始化x不是个大问题,一般讲f(x) = 0,这些算法通常不会考虑收敛性的问题,一般,这些算法都是收敛的,但收敛速度会有很大差别.牛顿算法是一个收敛速度很快的算法,收敛速度可以理解为二次收敛.牛顿方法的每一次迭代,都会使你正在逼近解的有效数字的数目加倍,不考虑常量因子. 其他知识点:Hessia

牛顿方法 - Andrew Ng机器学习公开课笔记1.5

牛顿方法(Newton's method) 逻辑回归中利用Sigmoid函数g(z)和梯度上升来最大化?(θ).现在我们讨论另一个最大化?(θ)的算法----牛顿方法. 牛顿方法是使用迭代的方法寻找使f(θ)=0的θ值,在这里θ是一个真实的值,不是一个参数,只不过θ的真正取值不确定.牛顿方法数学表达式为: 牛顿方法简单的理解方式为:先随机选一个点,然后求出f在该点的切线,即f在该点的导数.该切线等于0的点,即该切线与x轴相交的点为下一次迭代的值.直至逼近f等于0的点.过程如下图: 牛顿方法最大化

牛顿方法(Newton&#39;s Method)

在讲义<线性回归.梯度下降>和<逻辑回归>中我们提到可以用梯度下降或梯度上升的方式求解θ.在本文中将讲解另一种求解θ的方法:牛顿方法(Newton's method). 牛顿方法(Newton's method) 逻辑回归中利用Sigmoid函数g(z)和梯度上升来最大化?(θ).现在我们讨论另一个最大化?(θ)的算法----牛顿方法. 牛顿方法是使用迭代的方法寻找使f(θ)=0的θ值,在这里θ是一个真实的值,不是一个参数,只不过θ的真正取值不确定.牛顿方法数学表达式为: 牛顿方法

牛顿方法、指数分布族、广义线性模型—斯坦福ML公开课笔记4

个人总结: 1.这一篇文章主要是证明性的东西为主,所以说数学公式相对较多,原文笔记作者省略了一些东西,没有和上文很好衔接,所以初学者不一定看明白,建议结合斯坦福机器学习原文讲义(是英文的,没找到有全文中文翻译版的)看一看,如果刚入门对公式的推导就迷糊,说明你有必要去学一些数学基础. 2.结合上一篇文章中提到的梯度下降方法,本文提出了一种更快的迭代方法,叫牛顿方法.原文中公式(1)都能看懂,一转眼怎么就变公式(2)了呢?不知有没有对此迷糊的朋友,其实原文作者这么写确实存在误会,实际上公式(2)不应

斯坦福《机器学习》Lesson4感想--1、Logistic回归中的牛顿方法

在上一篇中提到的Logistic回归是利用最大似然概率的思想和梯度上升算法确定θ,从而确定f(θ).本篇将介绍另一种求解最大似然概率?(θ)的方法,即牛顿迭代法. 在牛顿迭代法中,假设一个函数是,求解θ值使得f(θ)=0.在图1中可知, 图1 选择一个点,对应函数值为,并将对应的切线与x轴相交的点记为,所以 ,依此类推可知牛顿迭代规律. 为了求得最大似然概率?(θ),让,所以牛顿迭代方法确定最大似然概率的公式为: 在Logistic回归中,θ是一个向量.因此公式可表示为: H是一个n*n的矩阵,

斯坦福吴恩达教授机器学习公开课第四讲笔记——牛顿方法/广义线性模型

机器学习(5)之牛顿算法

机器学习(5)之牛顿算法 1. 牛顿迭代算法简介 设r是的根,选取 作为r的初始近似值,过点 做曲线 的切线L,L的方程为 ,求出L与x轴交点的横坐标 , 称x 1 为r的一次近似值. 过点 做曲线 的切线,并求该切线与x轴交点的横坐标 ,称 为r的二次近似值.重复以上过程,得r的近似值序列,其中, 称为r的 次近似值,上式称为牛顿迭代公式. 用牛顿迭代法解非线性方程,是把非线性方程线性化的一种近似方法.把 在点 的某邻域内展开成泰勒级数 ,取其线性部分(即泰勒展开的前两项),并令其等于0,即