Coursera Machine Learning 课程笔记之第三周:逻辑回归(Logistic Regression)
2015-12-23 11:52
429 查看
概念:逻辑回归是典型的有监督学习(Supervised Learning)中的分类(Classifiction),其输出只有两个离散的值(0/ 1)。
逻辑回归的估计函数是:P(y=1|θ,X)即:在X特征,θ向量下,事件发生的概率(odds)。这里在逻辑回归中用到了逻辑函数。
逻辑回归的假设函数(hypothesis Function):
hθ(x)=g(θTX)g(z)=11+e−z
逻辑函数g(z)具有的特性就是如果z大于零,那么输出结果为1的概率就大于1/2并且趋近于1,反之亦然。也就是它把值域是[−∞,+∞]的Z,以0为分界线均匀映射到区间(0,1)上了。
cost(θ)=−log(z), if y=1
cost(θ)=−log(1−z), if y=0
这里Cost Function的意义就是为了符合真实花费,比如当y等于1时,真实输出值如果趋近于1,它的花费就会趋近于0,如果背道而驰地真实输出值趋近于0那么它的花费就会趋近于+∞。所以这个花费函数的选取是非常契合的。
这里发现和回归分析的梯度下降算法及其相似,但是不一样。因为hθ(x)里是逻辑函数处理后的结果。
比如有:
- Conjugate gradient method
- BFGS
- L-BFGS
为了解决过度拟合有两种方法:
- 特此量筛选,删除一些特征量。
- 正规化(regularization)
具体的方法在线性回归就是在Cost Function中加一个λ∑mi=1θi,在正规方程中加一个左上角元素为0的单位矩阵。在逻辑回归(logistic regression)中同样是在Cost Function中加一个λ∑mi=1θi。
逻辑函数(logistic function):
11+e−x逻辑回归的估计函数是:P(y=1|θ,X)即:在X特征,θ向量下,事件发生的概率(odds)。这里在逻辑回归中用到了逻辑函数。
逻辑回归的假设函数(hypothesis Function):
hθ(x)=g(θTX)g(z)=11+e−z
逻辑函数g(z)具有的特性就是如果z大于零,那么输出结果为1的概率就大于1/2并且趋近于1,反之亦然。也就是它把值域是[−∞,+∞]的Z,以0为分界线均匀映射到区间(0,1)上了。
决策边界(Decision Boundary):
对特征维度的一个分割,边界的一边表示1,另一边表示0。其具体表现为θTX==0的边界,当然也可能是非线性边界会有更好的拟合度。花费函数(Cost Function):
因为h(xi)的范围已经被映射到(0,1)区间,这里直接给出了Cost Function:cost(θ)=−log(z), if y=1
cost(θ)=−log(1−z), if y=0
这里Cost Function的意义就是为了符合真实花费,比如当y等于1时,真实输出值如果趋近于1,它的花费就会趋近于0,如果背道而驰地真实输出值趋近于0那么它的花费就会趋近于+∞。所以这个花费函数的选取是非常契合的。
逻辑回归(Logistic Regression)的梯度下降算法(Gradient descent):
θj=θj−α1m∑i=1n(hθ(xi)−yi) xij这里发现和回归分析的梯度下降算法及其相似,但是不一样。因为hθ(x)里是逻辑函数处理后的结果。
高级的算法:
相比于赤裸裸的梯度下降(Gradient descent),有优化版本和更多表现更好的算法。这些都只需要直接调用库里的内容。比如有:
- Conjugate gradient method
- BFGS
- L-BFGS
多对一方法(one vs all method):
对于只有两种离散输出的逻辑回归分析,如果我们的结果有多种输出。可以把它化为逻辑回归来做,也就是对于每一种输出,都把它和剩余部分区分开来,算出它们的决策边界(Decision boundary)。然后当输入一个值的时候,我们带入这些各自的假设函数(逻辑回归的预测函数给出的是等于该值的概率),求其中概率最大的一个就是我们的预测输出。过度拟合(overfit):
当我们设置过多的特征变量和过高的特征变量次数的时候,曲线就会变得非常拟合,但是这样高度的拟合并不是好的,它使得预测性反而降低了。也就是它过度拟合了,不具有泛化的特性。为了解决过度拟合有两种方法:
- 特此量筛选,删除一些特征量。
- 正规化(regularization)
正则化(Regularization):
正则化是对除去θ0之外的θ1...m都削弱的操作。其实质是加了一个先验,通过这个二次项来搞破坏,防止本身过度的拟合,对于范围之外的数据以来就会产生巨大的误差。具体的方法在线性回归就是在Cost Function中加一个λ∑mi=1θi,在正规方程中加一个左上角元素为0的单位矩阵。在逻辑回归(logistic regression)中同样是在Cost Function中加一个λ∑mi=1θi。
相关文章推荐
- 用Python从零实现贝叶斯分类器的机器学习的教程
- My Machine Learning
- 机器学习---学习首页 3ff0
- 反向传播(Backpropagation)算法的数学原理
- 也谈 机器学习到底有没有用 ?
- 量子计算机编程原理简介 和 机器学习
- 初识机器学习算法有哪些?
- 10个关于人工智能和机器学习的有趣开源项目
- 机器学习实践中应避免的7种常见错误
- 机器学习书单
- 北美常用的机器学习/自然语言处理/语音处理经典书籍
- 如何提升COBOL系统代码分析效率
- 自动编程体系设想(一)
- 自动编程体系设想(一)
- 支持向量机(SVM)算法概述
- 神经网络初步学习手记
- 常用的分类评估--基于R语言
- 开始spark之旅
- spark的几点备忘
- 关于机器学习的学习笔记(一):机器学习概念