斯坦福公开课《机器学习》笔记2——逻辑回归、分类问题

一、逻辑回归(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.多类分类(一对多)问题

对于每一类设计并计算一个假设函数进行分类。


对于一个测试数据,计算其对应所有类的假设函数,去假设函数最大的对应的分类,即为该测试数据对应的分类的结果。


猜你喜欢

转载自blog.csdn.net/badmushroom/article/details/79919709