机器学习之逻辑斯蒂回归(Logistic Regression)
前言: 学习笔记,记录下对于一些问题的记录和理解,复习和加深记忆用,挖坑补坑用。
参考:李航 《统计学习方法》
0. 基本内容
-
逻辑斯蒂分布(logistic distribution)
-
分布函数
-
密度函数
-
图像示意
-
-
逻辑斯蒂回归模型
-
二分类
-
多分类
-
1. 问题与理解
考虑其为线性模型,其与感知机的区别与联系,与最大熵模型的区别与联系?(候补)
-
线性回归与逻辑斯蒂回归
逻辑斯蒂回归最早是解决分类问题而非回归问题,这点跟线性回归目的不同。逻辑斯蒂回归更像是对直线回归的一种映射,并且是非线性映射, 将回归问题映射为分类问题,同时将解空间映射到 [0, 1] 范围。
针对线性模型
映射为分类问题的话,一般可考虑使用阶跃函数(unit-step function)
但阶跃函数数学性质不好,不可导也不连续。对数几率函数就很好解决了这一问题.即sigmod函数
这是最简便和直观的理解(注:z的正负号无影响,只是w和b的符号问题;分子的形式同理;w,b可用一个向量w表示).
但问题是,逻辑斯蒂回归一般认为是带有概率性质的,如果那么理解,显然就没有概率属性了,那么这个概率性质是如何来的,应当如何理解.
另外:线性回归是假设 y 服从高斯分布,逻辑回归是假设 y 服从伯努利分布;线性回归的损失函数是 平方损失,逻辑回归的损失函数是 对数损失
-
逻辑斯蒂回归的概率属性
-
从对数几率上来说
-
事件几率(odds)定义为事件发生的概率p与不发生的概率1-p的比值
-
针对逻辑斯蒂回归
反解得
也即是逻辑斯蒂回归模型,因此可以看出,逻辑斯蒂回归模型就是关于对数几率的线性模型.这也是逻辑斯蒂回归的本质:广义的线性模型 -
似乎跟概率扯上了点关系,但好像有点牵强。一是因为使用的是几率,跟直截了当的概率在直观表现上有差别;二是因为使用了对数,或者更确切地说使用了sigmod,感觉莫名其妙地使用了。以至于使得上述解释有些牵强附会,像是先得到结果,然后反推原因
-
-
从贝叶斯理论上来说
- 参考 Pattern Recognition and Machine Learning
-
-
为什么偏偏选用 sigmod 函数?
- 考虑作为替代阶跃函数的良好选择,具有良好的数学性质
- 使用tanh呢(then?)
-
最小化损失函数等价于最大化对数似然函数
-
使用极大似然估计来估计模型参数
设:
似然函数:
对数似然函数:
优化问题: -
使用最小化损失函数来训练模型
损失函数使用交叉熵:
为什么不使用平方损失?
逻辑回归的平方损失函数不是一个凸函数,不容易求解,得到的解是局部最优解.
为什么可以使用交叉熵(对数损失)作为损失函数?
对数损失是个高阶连续可导的凸函数(海塞矩阵半正定),易于求解;
对于可行性,通过二分类问题 y = {1, 0} ,可以借助图像,很好说明
- 当 y = 0
图像如下:
- 当 y = 1
图像如下 :
- 所以对于最小化损失函数:
因此可以通过最小化交叉熵来训练模型.
上面 是针对于单一样本,对于整体损失,进行累加:
优化问题: -
最优化求解
-
以上
很明显两个最优化问题是等价的 -
常用求解方法
-
拟牛顿法:挖坑
-
梯度下降法:挖坑
-
-
-
-
带正则化项的逻辑回归
-
正则化的理解(挖坑)
-
L1正则
-
L2正则
-
-
关于广义线性模型
-
广义线性模型是基于指数分布族,指数分布族原型:
常见指数分布族:二项分布、泊松分布、正态分布、伽马分布等 -
构建广义线性模型,首先需要满足三个假设
-
y的条件概率分布 服从指数分布族
-
预测T(y)的期望
-
与 x 之间是线性的
-
-
对于逻辑回归
-
分布
因此有,对应项 -
预测期望
-
根据线性关系
-
-