Logistic回归代价函数的数学推导及实现
来源:互联网 发布:c语言网络编程 编辑:程序博客网 时间:2024/05/22 09:58
logistic回归的代价函数形式如下:
可是这又是怎么来的呢? 答:最大似然估计计算出来的
1.最大似然估计
我们先来简单的回顾一下最大似然估计(Maximum likelihood estimation),详细戳此处,见参数估计
所谓参数估计就是:对未知参数
举个例子:
假设你有一枚硬币,随机抛10次;现在的结果是6次正面。我们都知道,抛一枚硬币,正面朝上和反面朝上的概率均是θ=0.5;但前提时,这是在大量的实验(抛硬币)情况下才有的结论。那在我们这个情况下,参数θ到底取何值时才能使得出现6次正面的肯能性最大呢?
我们知道,抛硬币是符合二项分布B(n,p),也就是说我们现在已知样本结果以及函数分布,估计出使得该结果最大可能出现的参数
而我们接下来要做的就是求当
再假设你有一枚硬币,随机抛10次;现在的结果是7次正面。则此时使得该结果最大可能性出现参数
再举个例子:
明显,在Logistic回归中,所有样本点也服从二项分布;设有
而这就是最大似然估计(求解参数估计的一个方法)
2.最大似然估计的数学定义
- 设总体X是离散型,其概率分布为
P{X=x}=p(x;θ),θ 为未知参数,X1,X2,...,Xn 为X 的一个样本,则X1,X2,...,Xn 取值为x1,...,xn 的概率是:P{X1=x1,...,Xn=xn}=∏i=1nP{Xi=xi}=∏i=1np{xi;θ}
显然这个概率值是
称
若
则称
求解步骤
a. 写出似然函数;
b. 方程两边同时取
c. 令
3.Logistic回归代价函的推导
设:
将两者合并到一起为:
因此我们可以得到似然函数:
于是两边同时取自然对数得:
插播一个公式:
且最大化
下面我们梯度下降算法进行求解,所以就要对所有的参数求偏导,按照惯例,我们先考虑一个样本点(
这儿用的是
于是根据梯度下降算法有:
注意,此时的
“
4. python 实现
def gradDescent(X, y, W, b, alpha): maxIteration = 500 for i in range(maxIteration): z = X*W+b error = sigmoid(z) - y W = W - (1.0/m)*alpha*X.T*error b = b - (1.0/m)*alpha*np.sum(error) return W,b
源码
- Logistic回归代价函数的数学推导及实现
- logistic回归的数学推导
- logistic回归代价函数
- Logistic回归-代价函数求导过程 | 内含数学相关基础
- 机器学习---Logistic回归数学推导以及python实现
- 逻辑回归的数学推导及java代码实现
- 机器学习中代价函数选择的数学推导
- 逻辑回归中代价函数求导推导
- 逻辑回归中代价函数求导推导
- Logistic回归原理及公式推导
- Logistic回归原理及公式推导
- Logistic回归原理及公式推导
- Logistic回归原理及公式推导
- Logistic回归原理及公式推导
- Logistic回归原理及公式推导
- Logistic回归原理及公式推导
- Logistic回归原理及公式推导
- Logistic回归原理及公式推导
- Linux命令-文件|文件夹
- 第十五周 项目一 验证算法(4)快速排序
- Jenkins 100次构建失败踩坑全录(一)
- Unity3D
- Jenkins 100次构建失败踩坑全录(二)
- Logistic回归代价函数的数学推导及实现
- Python学习 第一天任务 (四:【基于Python编程从入门到实践】动手试一试)
- 51nod 1097 拼成最小的数
- 【操作系统】Main Memory
- python 逻辑回归
- Redis简介(三)面试常见问题
- 对emqttd做benchmark的时候遇到的几个坑
- Flask学习笔记
- 可用的linux源