机器学习之逻辑回归
[TOC]
本文主要内容
- 逻辑回归(Logistic Regression)模型
- 决策边界(Decision Boundary)
- 成本函数(Cost Function)
- 梯度下降法(Gradient Descent)
- 多分类问题
逻辑回归(Logistic Regression)是机器学习中的监督学习算法,主要用于分类任务。这些任务预测的标签(label)通常为 {0,1},或者说是一个概率值。 例如我们预测一封邮件是否为垃圾邮件;预测天气是否为晴天、阴天、雨天和雪天等。
逻辑回归(Logistic Regression)模型
从上文《机器学习之线性回归》我们知道线性回归的模型为 可以从上面模型通过函数 g 对线性回归进行变换 其中
其中g(z) 是 sigmoid 函数或者叫逻辑函数。可以看出 0<= g(z)<=1
由 (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。
除了线性决策边界,还可以是曲线的。
这里的决策边界就是
以上两个例子都是简单的边界,当然实际情况下,决策边界有能是复杂的图形,甚至是高维度的。
成本函数(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来说明
例如要预测一个三分类的问题,假设要预测class1,那么就可以其他两类class2,class3当做一个分类,这样转换成一个二分类问题。这时候我们就需要根据已有的训练数据构造新的训练数据。预测class2,class3时,以此类推。这样就需要有三个不同训练数据。
当有一个新的数据进行预测时,我们只要计算下面式子的最大值就可以了
ß
参考文献
Andrew Ng coursera 机器学习课程
- 上一篇 机器学习之朴素贝叶斯
- 下一篇 源码分析从AIDL看Binder进程间通信的流程