样本因变量
支持向量机支持无数多的属性
逻辑回归:根据自变量确定因变量的种类,
逻辑回归通常使用的是二元,这类问题中
其中:
0: Negative Class
1: Positive Class
常见问题:垃圾邮件过滤,欺诈检测,肿瘤识别.
通常我们不会使用线性回归来解决分类问题.
对于两种分类来说,我们通常会引入阀值(Threshold),但当我们加入一个
但现实中影响却不大.
为了使
其中
带入可得
决策边界是决策函数的一个属性,由参数决定,能根据参数将样本分为不同类别的边界.
为了更好的理解决策边界,现在我们考虑逻辑函数
其实,也就是当
对于线性回归来说:
我们为什么不能直接套用线性回归的代价函数?因为我们期望代价函数能得到一个最小的值,但线性回归的代价函数是非凸函数(Non-convex),如左图,有多个局部最小值.我们期望能得到右图.
那么逻辑回归的代价函数应该设计成什么样呢?
为了方便编写,我们可将
梯度下降算法:
线性回归的特征缩放是有效的!
优点:
Octave中使用函数:
fminunc(无约束最小化函数):
-- Function File: fminunc (FCN, X0)
-- Function File: fminunc (FCN, X0, OPTIONS)
-- Function File: [X, FVAL, INFO, OUTPUT, GRAD, HESS] = fminunc (FCN,
...)Octave:
具体用法
##定义代价函数
function [jVal, gradient] = costFunction(theta)
#...
options = optimset( ‘GradObj‘, ‘on‘, ‘MaxIter‘, ‘100‘);
initialTheta=zeros(2,1);
[optTheta, functionVal, exitFlag] ...
= fminunc(@costFunction, initalTheta, option;
options 解释:
exitFlag:
如果为1就是收敛了,具体查阅手册.
思想: 把多类别分类转化为多次逻辑回归,也就是每次分为两类,一类为本次所选取的类,另一类为剩下的(One-vs-Rest).
最后我们能得到K(种类个数)个逻辑分类器.也就可以得到每一种可能性的概率了,通常我们取最大的那个作为结果.
原文:http://blog.csdn.net/hivoodoo/article/details/50992008