逻辑回归代价函数的推导过程
逻辑回归代价函数的推导过程
1、代价函数
带入到这样定义了的代价函数中时,我们得到的代价函数将是一个非凸函数(non-convexfunction)。
这意味着我们的代价函数有许多局部最小值,这将影响梯度下降算法寻找全局最小值。
线性回归的代价函数为:
我们重新定义逻辑回归的代价函数为:
其中
Python代码实现:
import numpy as npdef cost(theta, X, y): theta = np.matrix(theta)X = np.matrix(X)y = np.matrix(y)first = np.multiply(-y, np.log(sigmoid(X* theta.T)))second = np.multiply((1 - y), np.log(1 - sigmoid(X* theta.T)))return np.sum(first - second) / (len(X))
在得到这样一个代价函数以后,我们便可以用梯度下降算法来求得能使代价函数最小的参数了。算法为:
求导后得到:
我们定义了单训练样本的代价函数,凸性分析的内容是超出这门课的范围的,但是可以证明我们所选的代价值函数会给我们一个凸优化问题。代价函数会是一个凸函数,并且没有局部最优值。
2、推导过程
注:虽然得到的梯度下降算法表面上看上去与线性回归的梯度下降算法一样,但是这里的
与线性回归中不同,所以实际上是不一样的。另外,在运行梯度下降算法之前,进行特征缩放依旧是非常必要的。
一些梯度下降算法之外的选择: 除了梯度下降算法以外,还有一些常被用来令代价函数最小的算法,这些算法更加复杂和优越,而且通常不需要人工选择学习率,通常比梯度下降算法要更加快速。这些算法有:共轭梯度(Conjugate Gradient),局部优化法(Broyden fletcher goldfarb shann,BFGS)和有限内存局部优化法(LBFGS) 。
逻辑回归代价函数的推导过程相关推荐
- 逻辑回归原理及推导过程
这篇文章将详细地讲解逻辑回归的推导过程. 原理: 逻辑回归处理的是分类问题,具体来说,是处理二分类问题.为了实现逻辑回归分类器,我们可以在线性回归的基础上(即每个特征乘以一个回归系数后相加),添加一个 ...
- 【自己笔记】逻辑回归代价函数导数求解过程,softmax loss
1)梯度下降θθ的更新过程,走梯度方向的反方向: Sigmoid函数求导: 函数:f(z) = 1 / (1 + exp( − z)) 导数:f(z)' = f(z)(1 − f(z)) 求导过程如下 ...
- Logistic回归-代价函数求导过程 | 内含数学相关基础
转载自:https://blog.csdn.net/JUNJUN_ZHAO/article/details/78564557 相关函数求导公式 先复习回顾下一些数学基础,帮助推导过程可以更好的理解.下 ...
- arctanx麦克劳林公式推导过程_机器学习笔记(七)——初识逻辑回归、不同方法推导梯度公式
一.算法概述 逻辑回归(Logistic)虽带有回归二字,但它却是一个经典的二分类算法,它适合处理一些二分类任务,例如疾病检测.垃圾邮件检测.用户点击率以及上文所涉及的正负情感分析等等. 首先了解一下 ...
- 逻辑回归原理以及推导
1.之前听其他面试者说,遇到过写LR中损失函数的推导,也就是从概率一般式 开始,运用似然函数求解概率最大(被问到:为什么可以用似然函数.答:因为目标是要让预测为正的的概率最大,且预测为负的概率也最大 ...
- 逻辑回归损失函数求导过程
逻辑logistic回归代价函数梯度下降推导过程: log 就是 ln
- 逻辑回归代价函数及其梯度下降公式
前言 在上一篇随笔里,我们讲了Logistic回归cost函数的推导过程.接下来的算法求解使用如下的cost函数形式: 简单回顾一下几个变量的含义: 表1 cost函数解释 x(i) 每个样本数据点的 ...
- 机器学习笔记(七)——初识逻辑回归、不同方法推导梯度公式
一.算法概述 逻辑回归(Logistic)虽带有回归二字,但它却是一个经典的二分类算法,它适合处理一些二分类任务,例如疾病检测.垃圾邮件检测.用户点击率以及上文所涉及的正负情感分析等等. 首先了解一下 ...
- 逻辑回归梯度下降推导
目录 什么是逻辑回归 逻辑回归的代价函数是怎么来的? 逻辑回归求导 参考 什么是逻辑回归 逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分 ...
最新文章
- mysql使用group by实现组内排序实战
- java多线程提高性能写法
- 可靠性测试设备技术含量_电子产品可靠性测试及设备
- oracle解析select,oracle_select语句例子解析
- .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
- TCP/IP校验和(浅析+实例)
- php中英文手册(集成用户注释08/12/2007)
- leecode第二百一十七题(存在重复元素)
- shell 之while两种写法
- 用约束规划+概率图模型(信念传播)+神经网络端到端求解组合优化问题
- 6-32 表头插入法构造链表
- python判断某一天是一年中的第几天
- C#语言实例源码系列-实现Linq操作Xml
- 详细介绍NLP对话系统
- oracle索引查询
- Java中对中国标准时间进行格式化(yyyy-MM-dd HH:mm:ss)两种方法
- 关于成本核算方法、步骤、成本分析
- eclipse中启动tomcat报错:系统找不到指定路径
- SkeyeVSS+SkeyeARS水库水情监测系统保障水库安全度汛解决方案
- JZOJ3947. 【省常中JSOI模拟】收历史作业