机器学习之逻辑回归

[TOC]

本文主要内容

逻辑回归(Logistic Regression)是机器学习中的监督学习算法,主要用于分类任务。这些任务预测的标签(label)通常为 {0,1},或者说是一个概率值。 例如我们预测一封邮件是否为垃圾邮件;预测天气是否为晴天、阴天、雨天和雪天等。

逻辑回归(Logistic Regression)模型

从上文《机器学习之线性回归》我们知道线性回归的模型为 可以从上面模型通过函数 g 对线性回归进行变换 其中

其中g(z) 是 sigmoid 函数或者叫逻辑函数。可以看出 0<= g(z)<=1

sigmoid function

由 (1) 和 (2)

这就是逻辑回归的数学模型

因为预测值 h(x) 是在{0,1},故还可以用概率的角度进行解析这个模型的预测结果。

以预测垃圾邮件为例,如果 y=1 表示这封邮件时垃圾邮件,那么预测模型可以表示

决策边界(Decision Boundary)

我们知道 sigmoid 函数的值是在 {0,1} 范围,当 \(h_\theta(x)\geq0.5\) 时,预测y=1,反之则预测 y=0。

根据 sigmoid 函数可以知道要预测 \(h_\theta(x)\geq0.5\) 那么等价于 \(\theta^Tx\geq0\)

我们以这张来自于 Andrew Ng 机器学习课程的 ppt 来说明。

假设通过训练得出

那么

就是决策边界。当

表示预测值 y=1,反之预测值 y=0。

除了线性决策边界,还可以是曲线的。

non-linear-decision-boundary

这里的决策边界就是

以上两个例子都是简单的边界,当然实际情况下,决策边界有能是复杂的图形,甚至是高维度的。

成本函数(Cost Function)

回忆一下线性回归中的成本函数

我们定义函数

那么成本函数就可以写成

逻辑回归的成本函数(Cost Function)

当 y=1 时

当 y=0 时

由于 y 取值是{0,1},我们可以把公式 (7) 写成

梯度下降法(Gradient Descent)

由上文可以知道成本函数为

要求\(min_{\theta}J(\theta)\),需要使用微分求导公式

同时为了简单起见,求导时可以假设只有一个样本,这样可以把∑符号去掉,方便推导。

因为上文中 log 函数默认是以 e 底的

因为

那么有

于是

这个式子形式上与线性回归的\(J(\theta)\)的偏导数是很相似的,但是需要注意的是 \ 预测函数 h(x) 是不一样的。

根据梯度下降法

多分类问题

对于二分类问题,我们很容易就可以建立模型。如果预测一个多分类问题,我们应该如何做呢?我们还是以Andrew Ng的ppt来说明

multi-class

例如要预测一个三分类的问题,假设要预测class1,那么就可以其他两类class2,class3当做一个分类,这样转换成一个二分类问题。这时候我们就需要根据已有的训练数据构造新的训练数据。预测class2,class3时,以此类推。这样就需要有三个不同训练数据。

当有一个新的数据进行预测时,我们只要计算下面式子的最大值就可以了

ß

参考文献

Andrew Ng coursera 机器学习课程


Powered by Jekyll and Theme by solid