Andrew NG 《machine learning》week 3,class2
2.1 Cost Function
本节简介如何拟合逻辑回归函数中的thera参数。
2.1.1 代价函数的适用性
对于Cost Function(用来拟合参数threa的函数), 线性回归的Cost Function函数定义如下:
但是这并不是适合于逻辑回归的函数。因为逻辑回归函数的h(x)与线性回归的并不相同。它是一个非凸函数(non-convex)
2.1.2 逻辑回归函数的代价函数
如上图,当y=1时的代价函数的图形,从中可以看出,当y=1是,h(x) = 1的时候是我们最期待的,因为那个时候的代价为0,但是当y=1,但是h(x)=0的时候的代价是无穷大的。
下图是y=0时的代价函数的图形,由图可以看出,当Y=0,h(x) = 0的时候,代价值为0,这是最好的情况。
2.2 Simplified Cost Function and Gradient Descent
逻辑回归函数的代价函数表达式可以写成一行。如下图:
为了拟合参数threa,
需要用梯度下降法求出代价函数最小值。
如果有n个训练数据集,那么threa就是一个nx1的矩阵。
上图中运用到的梯度下降似乎是和线性回归中的定义是一样的,但是由于假设模型函数h(x)发生了变化,那么结果也会发生变化。如下图:
对于threa矩阵的更新,最好使用向量化的方法来更新,因为这样可以一次更新所有的threa。如下图的题目:
2.3 Advanced Optimization
本节主要讲解高级优化算法和概念,能以此提高梯度下降算法的速度,以及大型机器算法的问题(比如大量的特征量)。主要优化算法如下:
后面三种相比梯度下降算法来说更快,也不需要手动选择α,可以想象它内部有一个循环自己选择α以及提供了一个计算代价函数和求导的函数。缺点是比梯度下降要复杂。可以直接调用一些已经实现的库。下面是一个例子:
Note:其中的threa必须是二维或者二维以上的向量。如果threa是一个实数,那么就得具体查看help fminunc来查看了。同时记住在Octave中的下标是从1开始的。