分类问题(Classification):y的取值只能为某些离散的固定的值,如0,1
对于分类问题,如果用线性回归,会发现几点问题
1.线性回归可能会出现远小于可能出现的最小值或远大于可能出现的最大值
2.线性回归可能会被个别非常特殊的点影响,如某个x非常大但是y等于1的孤立点加入,会对斜率造成相当大的影响
所以我们对于分类问题,采用逻辑回归进行拟合
逻辑回归是通过S型函数(Sigmoid function)也叫逻辑函数(logistic function)来进行拟合的
在线性回归中,拟合函数是这个形式的:
线性回归的拟合函数而逻辑回归的拟合函数为:
逻辑函数的拟合函数如果θ的转置与X相乘小于0,则分母大于2,则可直接被认为拟合值为0,若大于0,则分母大于1小于2,则可以直接认为拟合值为1,非常聪明的方程
h(x)的函数曲线此处算出来的h(x),实际上相当于预测y等于1的概率
对于表达式P(y=1|x;θ)=a
意思是指,在已知的θ情况下,给定x,y=1的概率为a
决策边界(Decision Boundary):
如上面所说的,我们认为了当h(x)大于等于0.5时,预测值为1,当h(x)小于0.5时,预测值为0,对于这种判断,我们的决策边界就为0.5,以0.5为界,大于等于的取1,小于的取0
代价方程(Cost Function):
对于逻辑回归,原本的代价方程显得不是那么好用,原因是按照原本的代价方程,会有多个局部最小,也就是极小值,所以针对逻辑回归引入了新的代价方程:
逻辑回归的代价方程可合并为:
合并版的代价方程梯度下降(Gradient Descent):
虽然逻辑回归的的代价方程有所变化,但是针对梯度下降法中的步骤并没有改变,同时,计算出的式子经过简化也与线性回归的一致:
梯度下降法其他求θ的方法:
除了梯度下降法,还有其他的方法可以更快的求出θ,如 "Conjugate gradient", "BFGS", 和 "L-BFGS" ,这些方法在Octave中已经有提供,不必自己写
多项分类问题(Multiclass Classification):
针对结果有多种可能的情况,我们只需要针对每个结果每次只考虑两种情况,属于这个结果,或者不属于,然后迭代即可,也称作One-vs-all
One-vs-all这样,我们有了n个假设方程,针对给出的x,我们只需给出所有假设方程中,估计概率最大的那个即可
求预测的过程
网友评论