一、逻辑回归(logistic regression))
1.分类问题
预测输出变量离散,例如:y∈{0,1}或y∈{0,1,2}。
问题示例:垃圾邮件分类,肿瘤恶性良性。
应用线性回归于分类问题通常不是个好主意。
2.表征假设(hypothesis representation)
1)逻辑函数/S函数(logistic function/sigmoid function) g(z)
g(z)=1/1+e-z
z=θTx
2)假设函数hθ(x)=g(θTx)
3.决策边界(decision boundary)
决策边界是假设行数的一个属性,由θ决定。
添加更复杂的多项式特征变量,可以得到更复杂的决策边界。
4.损失函数
损失函数J(θ)的选取。
线性回归的损失函数在这里并不适用,其是一个非凸函数(non-convex),因为有许多局部最优。
因此为了使损失函数J(θ)为凸函数,我们这样定义代价函数Cost来计算单个hθ(x)与y之间的损失,从而求和求平均获得整体的代价函数:
5.梯度下降(Gradient Descent )
可以将J(θ)的两种情况合并为一种。
则当前即是要拟合θ,使J(θ)最小。
采用梯度下降方法拟合θ。
微分项计算如下。
对于多参数情况,θ可采用向量化方式计算。
6. 高级优化(Advanced Optimization)
比普通梯度下降更高级的方法。
优点:
1>不需要选择α
2>收敛速度快
缺点:
1>实现复杂
如何使用这些算法。
在Octave中,定义costFunction函数,返回J(θ)和梯度下降值(微分值),再用fminunc调用实现。
运用Octave这种方式时,θ必须是>=2维的向量。
7.多类分类(一对多)问题
对于每一类设计并计算一个假设函数进行分类。
对于一个测试数据,计算其对应所有类的假设函数,去假设函数最大的对应的分类,即为该测试数据对应的分类的结果。