机器学习第三周(二)--Cost function--Gradient descent

来源:互联网 发布:java反射获取类属性值 编辑:程序博客网 时间:2024/06/05 02:15

  • 损失函数
  • 梯度下降
  • 其他优化算法
  • 多分类

损失函数

损失函数:逻辑回归如果使用和线性回归相同的损失函数,那得到的损失函数图像如下:
非凸函数图像
由函数图像看出,这是一个非凸函数(凸函数最重要的特征是局部最优解同时也是全局最优解),并不适用于做逻辑回归的损失函数。
我们对损失函数作出改变,得到全新的损失函数并得到其图像:
逻辑回归函数
逻辑回归函数图像
从图像看出,函数只有一个最小值,这个最小值是局部最小值同时也是全局最小值。这个损失函数是一个凸函数。
以二分类为例,输入结果要么或0或1,具体的损失函数如下:
逻辑函数具体形式
分别画出y=1或y=0下的损失函数图像(默认 logx 的底是大于1的)
y=1下损失函数图像
y=0下损失函数图像
当y=1时,如果假设函数为1,则损失函数结果为0,如果假设函数趋向于0,则损失函数结果趋向于无穷大。
当y=0时,如果假设函数为0,则损失函数结果为0,如果假设函数趋向于1,则损失函数结果趋向于无穷大。
进一步的,对损失函数进行化简,并得到损失函数的完全形式如下:
损失函数化简
损失函数完全形式
对损失函数进行向量化表示结果如下:
损失函数向量化表示


梯度下降

梯度下降:梯度下降函数在线性回归和逻辑回归的形式是一样的,只是其中假设函数的形式不同。
梯度下降初始形式
梯度下降化简
注意:h的不同,(j=0,1,,,,,n)
假设函数


逻辑回归中梯度下降的向量化表示:
梯度下降向量化表示
注意g内向量乘积的结果对应上面1-m间求和结果


其他优化算法

究其梯度下降的目的就是计算J-theta和J-theta求偏导,也有一些其他优化算法能达到此目的,这里介绍共轭梯度(Conjugate gradient)、 变尺度法(BFGS)、L-BFGS。并与梯度下降做对比。
各种算法对比
Andrew Ng用了fminunc和optimset函数来说明,对着俩个函数的解释见此博客。
fminunc函数和optimset函数的说明
http://blog.csdn.net/shiyongraow/article/details/76615729


多分类

多分类:分类问题中不只有二分类,还有多分类。对多分类的思想跟二分类是一样的,具体来说,就是把数据分为具体某一类和除去这类数据剩下的数据归为一类。依次按此思想进行分类,具体要分几类就要建立几个分类模型。以一个三分类为例说明一目了然。
这里写图片描述
从图中可以看出,进行三分类建立了三个分类模型,分别把具体某一类分开。

阅读全文
0 0
原创粉丝点击