Logistic Regression逻辑回归虽言为“回归”,但是它不同于之前我们所学习的单、多变量回归用于预测,它是一个用于分类的模型。吴老师课件上的定义:logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。

1、分类

     分类将样本赋予标签属性,即函数输出值是其归属类别,最简单的分类就是0_1分类,指预测结果只有两类。例如:判断一个肿瘤是恶性的还是良性的。但是怎么才能让线性函数输出0和1?我们可以把线性函数返回的值按一定的阈值分为两类,比如把>=0.5类为1,<0.5为0。这样线性函数输出值转化为0和1。

R中做logistic回归没给or值 logistic回归分析or为0_代价函数

2、选择假设方程:

     我们知道输出的值会赋于标签“0”和“1”,之前的回归相关的内容得知,

R中做logistic回归没给or值 logistic回归分析or为0_logistic回归_02

可能远大于1或远小于0,会很奇怪。所以我们希望我们的函数方程在的输出值介于0-1之前。假设方程公式及图形如下,

R中做logistic回归没给or值 logistic回归分析or为0_logistic回归_02

输出值介于0-1之间。

R中做logistic回归没给or值 logistic回归分析or为0_logistic回归_04

3、决策边界

判别标签是1还是0的那分界线条直线称之为决策边界,如下图,通过(3,0)和(0,3)两点的直线在这里就称之为决策边界。

R中做logistic回归没给or值 logistic回归分析or为0_logistic回归_05

4、代价函数

在线性回归时,曾定义代价函数如下,

R中做logistic回归没给or值 logistic回归分析or为0_logistic回归_06

用式子

R中做logistic回归没给or值 logistic回归分析or为0_logistic回归_07

简化求和符号后的表示(即

)。我们知道

,最终得到的J(θ)不是凸函数,即存在多个局部最优点,而使用梯度下降法要求J(θ)是凸函数。如图

R中做logistic回归没给or值 logistic回归分析or为0_logistic回归_08

由于上述的问题,定义logistic回归的代价函数如下:

R中做logistic回归没给or值 logistic回归分析or为0_数据结构与算法_09

使得当y=1时,预测值为1,代价函数值为0,反之代价函数值为无穷大;同理,使得当y=0时,预测值为0,代价函数值为0,反之代价函数值为无穷大。这样看着代价函数比较复杂,可以将代价函数去掉if简化,如下图

R中做logistic回归没给or值 logistic回归分析or为0_R中做logistic回归没给or值_10

5、梯度下降

知道了代价函数J,接下来用梯度下降求解最优参数。(梯度下降法的详细内容看前面线性回归学习笔记)

R中做logistic回归没给or值 logistic回归分析or为0_logistic回归_11

6、多类别分类器

多类别分类器即一个分类算法,可以判别多类标签,如将邮件分到不同类别的文件夹里,类别不只0或1,可能还有2,3,4等等。我们知道逻辑回归可以出来二元分类问题,如左下图所示,但是如何利用逻辑回归分类多类别问题?

R中做logistic回归没给or值 logistic回归分析or为0_人工智能_12

将多分类问题化为多个二元分类问题,每个类别训练一个分类器,如下图,第一个分类器能正确分类

R中做logistic回归没给or值 logistic回归分析or为0_人工智能_13

,称

R中做logistic回归没给or值 logistic回归分析or为0_人工智能_13

为该二元分类器正类,其它为负类。同理训练多个二元分类器,每个分类器能较高准确率的挑选出一类样本,并赋于标签。这就是多类分类器,也称为“一对多分类器”。

R中做logistic回归没给or值 logistic回归分析or为0_人工智能_15