介绍
- 逻辑回归:Logistic Regression,Logit Regression,是一种分类算法,常用于处理二分类,用来表示某件事情发生的可能性。任务是尽可能地拟合决策边界。
- 应用:银行信用卡欺诈可能性(是欺诈消费、不是欺诈消费)、下雨的可能性(下雨、不下雨),购买一件商品的可能性(买、不买),广告被点击的可能性(点、不点)
线性回归与逻辑回归
- 线性回归:y=ax+b,在已知几组数据(x,y)的历史数据情况下,如何预测给定一个新的自变量x时y的值呢?显然需要先计算出两个位置参数a,b的值,然后才可以进行预测。
- 但是在实际生活中,因变量yy的会受到很多X=(x0,x1,…,xn)的影响,两个之间的关系也非线性关系那么简单直接。可能是线性的、可能是多项式曲线型的、还有可能是多维空间的平面……
- y=ax+b输出的是连续值,但因变量也有可能是离散值
- 线性回归的分类问题与逻辑回归分类:
阶跃函数
如果某个函数可以用半开区间的指示函数的有限次线性组合来表示,那么这个函数就是阶跃函数。阶跃函数是有限段分段常数函数的组合。
Sigmoid函数
然而逻辑回归是一个概率模型,我们需要的输出结果在(0,1)(0,1)之间,所以需要一个“映射函数”:逻辑回归中常用的映射函数就是Sigmoid函数
但是,逻辑回归的目标是解决二分类问题,在得到了一个概率值之后还需要对这个概率值进行“分类”。当概率值大于0.5时把样本归为正类、当概率值小于0.5时把样本归为负类。
Logistic分布
累计分布函数:
概率密度函数:
其中μ表示位置参数,s表示形状参数。形状类似正态分布、但峰度更高、尾部更长。
我们已经确定好逻辑回归的数学表达形式了:阶跃函数+映射函数,那么接下来就是如何去求解模型中的参数,确定最优决策边界。
二项Logistic回归模型
二项Logistic回归模型是一种由条件概率分布P(Y|X)表示的分类模型,以n维随机变量X为输入,Y∈{0,1}为输出:
其中w也是一个n维的权值向量,b为偏置。Logistic回归只需要比较这两个条件概率值的大小,选择概率较大的那一类即可。
但是,上述式子仍显累赘。若令
几率(Odds)
统计学中,几率表示事件发生的概率p与事件不发生的概率1−p的比值
在Logistic回归模型中,几率取对数后表示为:
也就是说,在Logistic回归模型中,输出Y=1的对数几率是输入x的线性函数。
- 若线性函数趋近正无穷,概率值P(Y=1|x)就越接近1,
- 若线性函数趋近负无穷,概率值P(Y=1|x)就越接近0。
逻辑回归的主要思想就是:先拟合决策边界、然后由映射函数建立边界与分类概率的联系。
何为最优?
极大似然估计
已知一些样本,需要寻找一组参数使得现有样本出现概率最大化。
因为逻辑回归假设之一是样本服从伯努利分布,若令
则似然函数可表示为
损失函数(Loss/Cost Function)
用于衡量预测值与实际值的偏离程度,损失函数的值越小表示分类器越精准。“最优参数”就是使得损失函数取最小值。
1. 0-1损失函数:预测值与实际值不相等为1,相等为0.直接判断错分的个数。
2. 平方损失函数:误差平方和,常用于线性回归。
3. 对数损失函数:常用于模型输出时每一类概率的分类器,例如逻辑回归。
4. Hinge损失函数:分类正确损失为0,否则损失为1−yf(x),y=1或-1,f(x)∈(−1,1)1−yf(x),y=1或−1,f(x)∈(−1,1),常用于SVM。
对数损失函数也叫交叉熵损失函数。熵代表某个事件的不确定性,交叉熵代表两个概率分布(预测与真实)之间的差异性。通过最小化交叉熵损失函数就可以最大化逻辑回归分类器的精度。(补充:交叉熵损失的选取与最大熵模型有关)
表达式:
求解参数方法
梯度下降法
通过损失函数Loss对参数w求一阶偏导来确定方向,并且确定步长α,来更新w:
牛顿法
在现有极小点估计值的附近对Loss做二阶泰勒展开,进而找到极小点的一个估计值,设 为当前极小值估计值,那么有: