博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
logistic regression
阅读量:5837 次
发布时间:2019-06-18

本文共 2315 字,大约阅读时间需要 7 分钟。

一般来说,回归是不用于分类的,因为回归是连续的,受噪声影响较大。为了能够处理分类问题,引入了逻辑回归。

逻辑回归本质上来说还是线性回归,他只是在线性回归的基础上加了一个映射函数。

假设函数:$h_\theta\left(x\right) = g\left(\theta^T x \right) = \frac{1}{1+e^{-\theta^Tx}}$

              $g\left(z\right) = \frac{1}{1+e^{-z}}$

这里我们讨论二分类问题,即$y\in{0,1}$,这里假设二值满足伯努利分布。

伯努利试验:在同样的条件下,重复地、相互独立地进行的一种随机试验,其结果只有两种:发生(概率为p)或者不发生(概率为1-p)。

伯努利分布:进行一次伯努利实验,成功(X=1)的概率为p,失败(X=0)的概率为1-p,则称随机变量x服从伯努利分布。

这里$h_\theta\left(x\right)$表示样本x为第一类(对于的y=1)的概率,所以有:

$P\left( y=1 | x ; \theta \right) = h_\theta\left(x\right)$

$P\left( y=0 | x ; \theta \right) = 1-h_\theta\left(x\right)$

将两者结合起来:

$P\left( y | x ; \theta \right) = h_\theta\left(x\right)^y \left(1-h_\theta\left(x\right) \right)^\left(1-y\right)$

 令$L\left(\theta\right) = \prod_{i=1}^m P\left( y^\left(i\right) | x^\left(i\right) ; \theta \right)$

对其取对数:$l\left(\theta\right) = \log L\left(\theta\right) = \sum_{i=1}^m y^\left(i\right) \log h_\theta\left(x^\left(i\right)\right) + \left(1- y^\left(i\right)\right) \log \left(1-h_\theta\left(x^\left(i\right)\right) \right)$

我们要求的是 $\max_\limits{\theta}{l\left(\theta\right)}$

采用梯度上升的方法

$\frac{\partial l\left(\theta\right)}{\partial \theta_j} = \sum_{i=1}^m \left( \frac{y^\left(i\right)}{h_\theta \left( x^\left(i\right)\right)} - \frac{1-y\left(i\right)}{1- h_\theta \left( x^\left(i\right)\right)} \right) \frac{\partial h_\theta \left( x^\left(i\right)\right)}{\partial \theta_j}$

$= \sum_{i=1}^m \left( \frac{y^\left(i\right)}{g \left( \theta^T x^\left(i\right)\right)} - \frac{1-y\left(i\right)}{1- g\left( \theta^T x^\left(i\right)\right)} \right) g\left(\theta^T x^\left(i\right)\right)\left( 1- g\left(\theta^T x^\left(i\right)\right) \right) x_j^\left(i\right) $

$ = \sum_{i=1}^m \left( y^\left(i\right) - g\left(\theta^T x^\left(i\right)\right)\right) x_j^\left(i\right) $

$\theta := \theta + \alpha \sum_{i=1}^m \left( y^\left(i\right) - g\left(\theta^T x^\left(i\right)\right)\right) x_j^\left(i\right)  $

 

牛顿法:收敛速度较快,属于二次收敛

例如:求$f\left(x\right)=0$对应的x

1: 随机取x的初始值$x_0$

2: $x_1 = x_0 - \frac{f\left(x_0\right)}{f'\left(x_0\right)}$

3: 重复2

利用牛顿法求$\max_\limits{\theta}{l\left(\theta\right)}$,即令$l'(\theta)=0$

1:随机取$\theta^0$

2:$\theta^1 = \theta^0 - \frac{l'(\theta^0)}{l''(\theta^0)}$

3:$\theta^{t+1} = \theta^t - \frac{l'(\theta^t)}{l''(\theta^t)}$

 

 

kaggle中的应用:

参照博客:

转载于:https://www.cnblogs.com/jiangxiaoxiu/p/6725863.html

你可能感兴趣的文章
Spring 常用的注解及“依赖注入”的实现
查看>>
避免终端断掉,保存回话的方法
查看>>
Linux学习之: rpm包管理功能全解
查看>>
lvm centos 7 动态扩缩容
查看>>
我的友情链接
查看>>
Linux终端命令大全
查看>>
常用端口及进程kill笔记
查看>>
RHCE--第十二天(结束)
查看>>
蓝牙ELM327连接雪铁龙世嘉,看行车信息
查看>>
JavaScript之DOM-5 增加、删除和替换节点(创建节点、插入节点、删除和替换节点)...
查看>>
每天laravel-20160910|Filesystem-1
查看>>
按天分区并通过存储过程删除历史分区
查看>>
我的友情链接
查看>>
Python19 内置函数
查看>>
网络协议报文结构与抓包示例
查看>>
微软Windows操作系统的变迁(windows 1.0——windows me)(图)
查看>>
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常解决
查看>>
当今世界最受人们重视的十大经典算法
查看>>
java优势
查看>>
与App Store审核的斗智斗勇
查看>>