逻辑回归算法之梯度算法
在学习Logistic逻辑回归算法(上一节介绍)编程时,被其中一句python语句卡住了,该语句就是:
weights = weights + alpha * dataMatrix.transpose() * error
让我们来顺一下。
首先,是二分类算法,类别为1或0,利用sigmoid函数很合适
令:
整合得:
当sigmoid>0.5时,分类为1,sigmoid<0.5时,分类为0。其函数值在(0,1)之间,又恰和概率巧妙联系上,
解释:函数的值为(0, 1),当h>0.5时,y=1,该值也可以为y=1的概率,概率大于0.5当然比较大,基本可以确定成立(即y=1);概率小于0.5时,概率比较小y=1不成立,当然h<0.5本来就是类别y=0,正好概率1-h,为类别为0的概率。
上面两个式子合并即损失函数:
解释:当类别为1时,即y=1,Loss=h,当类别为0时,即y=0,Loss=1-h。
梯度上升(下降)法,就是为了使得损失函数最大或最小,从而找到最优参数。
最大还是最小呢?例如h=0.55和h=0.99,都有y=1。既然是概率,当然越大越好,所有这里要求Loss的最大值。
很多提到了最大对数似然函数。
似然函数定义:给定输出x时,关于参数W的似然函数L(W|x)(在数值上)等于给定参数W后变量X的概率:
似然函数用于在已知某些观测所得到的的结果时,对有关事物的性质的参数进行估计。与概率相反,概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果。
似然函数就是求参数的。
似然函数的重要性不是它的具体取值,而是当参数变化时函数到底变小还是变大。对同一个似然函数,如果存在一个参数值,使得它的函数值达到最大的话,那么这个值就是最合理的参数值。
最大似然函数就是求似然函数的最大值,使得参数最合理。
所以一般将最大似然函数作为梯度上升算法的损失函数。
上面的Loss损失函数也正是最大似然函数(使概率最大)。只不过损失函数的变量是W,W是未知的需要求解的。
现在转为求Loss最大的最优解W。
梯度上升法可以求最大值。初始化一个点,求各W各方向的偏导数,即梯度。沿着梯度上升方向走(步长a),到达另一个点,继续沿梯度上升方向(重新计算)走,一直循环……
由于需要求未知参数的偏导数,而对数函数第单调递增的,而且对数函数在极大化求解时较为方便,所以一般取似然函数的对数作为求最大值的函数,这样求出的最大值和直接求最大值得到的结果是相同的。
所以对Loss函数求对数,得:
现在好了,目标是对Loss求最大,先求梯度:
求解过程:
所以梯度向量为:
所以迭代为:
即weights = weights + alpha * dataMatrix.transpose() * error
dataMatrix.transpose()即为X,error即为
以上为粗略的解释,如有不对请指出。
逻辑回归算法之梯度算法相关推荐
- 【逻辑回归算法】{2} ——逻辑回归损失函数的梯度
目标:求出逻辑回归损失函数的最小值. 逻辑回归的损失函数: 逻辑回归损失函数的梯度: 计算预测函数Sigmoid函数的导数: 代入: 计算过程: 最后得出逻辑回归损失函数的梯度: 回顾一下线性回归代价 ...
- 逻辑回归中的梯度下降法
梯度下降法:该算法是一个一阶最优化算法,通过向函数上当前点对应梯度(或近似梯度)的反方向的规定步长距离点进行迭代搜索找到一个函数的局部极小值. 以一元函数为例说明梯度下降法: w的更新会朝着成本函数J ...
- 机器学习之数学系列(三)逻辑回归反向传播梯度计算公式推导
一.简介 在深度学习领域,我们往往采用梯度下降(或上升)法来优化训练函数模型,梯度下降法尤其是在解决凸优化问题上表现极佳.模型优化涉及到反向传播过程,反向传播过程需要先推导出梯度计算公式然后利用机 ...
- ML之LoRSGD:基于LoR(逻辑回归)、SGD梯度下降算法对乳腺癌肿瘤(10+1)进行二分类预测(良/恶性)
ML之LoR&SGD:基于LoR(逻辑回归).SGD梯度下降算法对乳腺癌肿瘤(10+1)进行二分类预测(良/恶性) 目录 输出结果 设计思路 核心代码 输出结果 breast-cancer s ...
- 逻辑回归(LR)算法预测患有疝气病症病马的死亡率
数据描述: 数据集来源 Horse Colic Data Set 数据预处理: 经过缺失值处理以及数据的类别标签整理后,实际使用的特征为20个,类别标签为存活和未存活 1和0 缺失值特征使用0值填充, ...
- 吴恩达深度学习 —— 2.9 逻辑回归中的梯度下降法
这一节讨论怎么计算偏导数来实现逻辑回归的梯度下降法,它的核心关键点是其中有几个重要法公式用于实现逻辑回归的梯度下降法. 这里将使用导数流程图来计算梯度,必须承认,用导数流程图来计算逻辑回归的梯度下降有 ...
- 逻辑回归代价函数及其梯度下降公式
前言 在上一篇随笔里,我们讲了Logistic回归cost函数的推导过程.接下来的算法求解使用如下的cost函数形式: 简单回顾一下几个变量的含义: 表1 cost函数解释 x(i) 每个样本数据点的 ...
- 收藏!!如何 Get 机器学习必备的算法技能? | 逻辑回归
本文是吴恩达老师的机器学习课程[1]的笔记和代码复现部分(逻辑回归). 作者:黄海广[2] 备注:笔记和作业(含数据.原始作业文件).视频都在github[3]中下载. 我将陆续将课程笔记和课程代码发 ...
- logisticregression参数_通俗地说逻辑回归【Logistic regression】算法(二)sklearn逻辑回归实战...
前情提要: 通俗地说逻辑回归[Logistic regression]算法(一) 逻辑回归模型原理介绍 上一篇主要介绍了逻辑回归中,相对理论化的知识,这次主要是对上篇做一点点补充,以及介绍sklear ...
最新文章
- python软件是免费的吗-python软件都是免费的吗
- mac上matlab2018a,求助,mac系统 点击配置就报错,matlab版本2018a
- JUC锁-ReentrantReadWrite(五)
- zynq+linux固化程序,如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计
- git上传分支的原理_GIT分支,创建分支与合并分支的工作原理与教程
- MySQL越高版本越快吗_MySQL性能优化的最佳20+条经验
- java tomcat 日志_java – 访问Tomcat中的详细日志
- fetch结合(async函数来使用)
- Java基础之十年面试杂记
- 比较x^y和y^x的大小
- 【loadrunner】测试手机app性能
- C语言程序设计之猜数字游戏(随机数的讲解)
- 数理统计基础 正态总体抽样分布
- ES6 数组函数forEach()、map()、filter()、find()、every()、some()、reduce()
- scipy.ndimage.measurements label理解
- 8 款浏览器兼容性测试工具介绍,需要的赶紧收藏吧!
- 如何在Word文档中加入水印
- iOSSafari不兼容正则表达式的断言匹配及解决办法
- OS学习笔记-2(清华大学慕课)mooc实验介绍
- 科学家发现4起黑洞相撞事件,其中最大的一起或为“双重”碰撞