首页 > 技术文章 > 逻辑回归模型(LR)

kukri 2018-02-08 11:32 原文

一、LR概述

逻辑回归模型是一种分类模型,也是线性模型的一种。实质上是线性回归 + sigmod函数组成。

sigmod函数图像:

从图像中可以看出,sigmod函数将线性回归的输出映射到0~1之间。逻辑回归模型的意义旨在寻求一个判定边界θTX =0,将样本分为两类,θTX >0即为正例,θTX<0则为负例。

例如,一个线性的判定边界:

如果分类问题是线性不可分的, 我们也可以通过构造更复杂的h(θTX),可以得到非线性边界,例如:

所以我们发现,只要h(θTX)设计足够合理,参数足够复杂,就能在不同的情形下,拟合出不同的判定边界,从而把不同的样本点分隔开来。

二、逻辑回归模型训练

这里还是用我之前介绍SVM模型时候的3个step介绍LR。

Step1: Function Set(model):

LR的目标函数有特殊含义,代表了样本取正例时的概率

Step2: Loss Function:

逻辑回归的损失函数与线性回归不同,不采用线性回归的平方损失函数是因为该损失函数作用在逻辑回归的目标函数上的代价函数非凸,就无法采用梯度下降法训练。

LR采用cross entropy损失函数,这种损失函数更适合逻辑回归,是一个凸函数。

Step3: Gradient descent:

 采用梯度下降法更新参数。

偏导部分的数学推导如下:

所以参数的更新过程可以写为

 

实际上与线性回归的形式是相同的,只是model(h(x))的形式不太相同。

三、正则化 

基于逻辑回归训练损失函数训练出的模型,有些参数可能权值过高,有些参数可能权值过小,导致了过拟合,使得模型复杂度过高,泛化能力较差。

过拟合往往是由于过多的特征导致的。

解决方法:

1)减少特征数量(减少特征会失去一些信息,即使特征选的很好)

    • 可用人工选择要保留的特征;
    • 模型选择算法;

2)正则化(特征较多时比较有效)

保留所有特征,但减少θ的大小

常用的正则化方法是给损失函数加上一个惩罚项,例如L1范数、L2范数,这里以L2范数举例,在之前的文章中,已经详细的对比分析了L1、L2两种正则化方法。

加入L2范数的损失函数变为:

采用梯度下降法更新参数方法变为:

 可以看出在更新每个参数的时候,对每个参数进行了一定比例的缩减。进而使参数变小,模型变得简单

 

 

参考链接:

http://blog.csdn.net/han_xiaoyang/article/details/49123419
http://blog.csdn.net/pakko/article/details/37878837

 

 

 

推荐阅读