本笔记来源于深享网课程《深度学习理论与实战TensorFlow》

Logistic回归模型是一种广义的回归模型,其与多元线性回归有很多相似之处,模型的基本形式相同,虽然也被称为回归模型,但是需要注意的是,Logistic更多应用在分类问题中,但是又以二分类最为常见。
Logistic模型在生活中有非常广泛的应用,比如“学习五个小时,考试能通过还是 不能通过?”,“今天要踢足球比赛,赢还是输?”,"这个包看上去很好看,价格超过1000还是没超过?“这些都是Logistic回归可以解决的分类问题。

回归和分类

回归模型:回归问题得到的结果都是连续的,我们可以拟合出任意的函数结果,这个结果是一个连续的值。比如通过学习时间预测成绩,通过房屋信息预测房价等。
分类问题:分类问题将数据分成几类,得到的结果是离散的。分类问题希望把数据集分成某几类。比如根据邮件信息将邮件分成垃圾邮件和有效邮件两种。

Logistic回归模型

Logistic模型的基本形式如下:
logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门
Logistic回归模型的形式和线性回归一样,都是logistic回归 交互项r语言 logistic回归模型——方法与应用_ide_02,其中x是一个多维特征,唯一不同的是Logistic回归会对y作用一个Logistic函数,将其变成一种概率的结果。Logistic是Logistic回归的核心,也被称为sigmoid函数。

sigmoid函数

sigmoid函数的公式如下:logistic回归 交互项r语言 logistic回归模型——方法与应用_学习笔记_03

logistic回归 交互项r语言 logistic回归模型——方法与应用_logistic回归 交互项r语言_04


sigmoid函数的范围是在0到1之间,所以任何一个值经过sigmoid函数的作用,都会变成0~1之间的一个值,这个值可以形象理解为一个概率,比如对于二分类问题,这个值越小就表示越可能属于第一类,值越大就表示属于第二类。

这里需要注意的是,sigmoid函数的前提是所用的数据具有比较好的线性区分性。

logistic回归 交互项r语言 logistic回归模型——方法与应用_ide_05

损失函数

在前一节的回归问题中,我们有一个loss去衡量误差,对于分类问题,我们用损失函数来对此进行衡量。
Logistic回归使用sigmoid函数将结果变到0—1之间,对于任意一个输入数据,经过sigmoid函数之后结果记为logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_06,表示这个数据输入第二类的概率,那么其属于第一类的概率就是logistic回归 交互项r语言 logistic回归模型——方法与应用_logistic回归 交互项r语言_07,如果这个数属于第二类,则我们希望logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_06越大越好,也就是越靠近1越好,如果这个数属于第一类,则我们希望他越小越好。随意我们可以这样设计loss函数:logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_09
其中y表示真实的label,只能取{0,1}两个数,因为logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_06表示经过Logistic回归预测之后的结果,是一个0—1之间的小数,如果y是0,表示这个数据属于第一类,我们希望logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_06越小越好,同时上面的loss函数变为:
logistic回归 交互项r语言 logistic回归模型——方法与应用_logistic回归 交互项r语言_12
在训练模型的时候我们希望最小化loss函数,根据log函数的单调性,也就是最小化logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_06,与我们的要求一致。
而如果y是1,表示该数据属于第二类,我们希望logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_06越大越好,同时上面的loss函数变为:logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_15
我们希望最小化loss函数也就是最小化logistic回归 交互项r语言 logistic回归模型——方法与应用_深度学习入门_06,这与我们的要求一致。