吴恩达机器学习系列课程笔记——代价函数

该系列笔记内容是楼主在观看课程时记录的,其中图片是视频中ppt的截图,内容仅供参考,有问题欢迎大家指出。

目录

  • 1. 平方误差代价函数(Square Error Cost Function)
  • 2. 逻辑回归代价函数(Logistic Regression Cost Function)
  • 3. 神经网络代价函数(Neural Network Cost Function)
  • 4. 支持向量机代价函数(SVM Cost Function)
    • 4.1 偏差方差折中(Bias Variance Trade-off)

常见的代价函数

  • 代价函数(cost fuction,也称损失函数或优化目标)是出现在监督学习模型中,在已知的标签y的情况下,根据h(x)得到的预测值计算学习算法要到达真实情况所需要付出的代价
    P. S. 不熟悉常见监督学习模型可以看吴恩达机器学习系列课程笔记——监督学习常见模型
  • 通过最小化代价函数可以得到算法的最优解,从而训练更有效的模型
  • 其中代价函数被期望得到的是凸函数(convex function,也称单弓形函数),而不是非凸函数(non-convex),因为后者拥有众多局部最低点,导致算法可能无法获得全局最优解

吴恩达机器学习系列课程笔记——代价函数_第1张图片

非凸函数和凸函数

1. 平方误差代价函数(Square Error Cost Function)

该代价函数常在回归问题中使用

  • 对于线性回归模型来说,为使得预测值与实际值更好的拟合,最简单的办法即求得预测与实际之间的垂直距离,并使其逐渐减小到合适的距离
  • 因此使用平方误差函数作为代价函数的核心,下面是只考虑特征θ0(偏差)和θ1的单变量线性回归代价函数公式 J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0, \theta_1)=\frac{1}{2m}\sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1i=1m(hθ(x(i))y(i))2
  • 其中m为样本数,平方差公式乘以系数 1 m \frac{1}{m} m1是为了使代价函数不依赖训练集中元素的数量,而乘以常量 1 2 \frac{1}{2} 21是为了方便后续最小化代价函数的求导
  • 根据上面的公式对参数进行简化,将偏差θ0设为0,则单变量线性回归模型拟合的曲线为经过原点且斜率为θ1的直线,其代价函数则是一元二次曲线

吴恩达机器学习系列课程笔记——代价函数_第2张图片

简化参数后的假设函数与代价函数示例图
  • 多元线性回归模型的代价函数即为单变量的拓展,对于特征θ公式为 J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{2m}\sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2感兴趣的同学可以看多元线性回归的代价函数推导
  • 二元变量的线性回归模型的代价函数如下图所示,同样也是凸函数

吴恩达机器学习系列课程笔记——代价函数_第3张图片

二维代价函数立体图
  • 为方便理解,可以通过绘制等高线图观察平方差代价函数,如下图所示

吴恩达机器学习系列课程笔记——代价函数_第4张图片

等高线示意图

2. 逻辑回归代价函数(Logistic Regression Cost Function)

该代价函数常用于逻辑回归模型

  • 其函数本质是统计学中的极大似然法,公式为 J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ h θ ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log (1-h_\theta(x^{(i)}))] J(θ)=m1i=1m[y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]P. S. 对其中原理感兴趣的同学可以看逻辑回归代价函数的详细推导

3. 神经网络代价函数(Neural Network Cost Function)

该代价函数常用于神经网络模型

  • 该代价函数与逻辑回归代价函数相似,唯一有区别的是神经网络代价函数还要求K个输出单元的和,即计算每个类别的逻辑回归代价,其方程如下图所示

吴恩达机器学习系列课程笔记——代价函数_第5张图片

逻辑回归代价函数和神经网络代价函数的区别
  • 值得注意的是,神经网络代价函数是非凸函数,即最优化算法可能会得到局部最小值而非全局的最优解

4. 支持向量机代价函数(SVM Cost Function)

该代价函数常用于支持向量机(SVM)模型

  • 其代价函数与逻辑回归代价函数相似,但是由于支持向量机模型的假设函数并非概率而是类别,因此公式中两项不共存,导致曲线没有弧度,如下图粉线所示

吴恩达机器学习系列课程笔记——代价函数_第6张图片

SVM代价函数与逻辑回归代价函数
  • 通过修改逻辑回归代价函数,用常量C替换了原来第一项的系数 1 m \frac{1}{m} m1,并去掉了正则化系数的 λ m \frac{\lambda}{m} mλ,得到了SVM代价函数

吴恩达机器学习系列课程笔记——代价函数_第7张图片

SVM代价函数的演化
  • 与考虑正则化的逻辑回归代价函数不同的是,SVM代价函数更关前一项的比重,后者的系数为定值 1 2 \frac{1}{2} 21

小插曲:为什么称SVM为大间距分类器?

  • 假设代价函数中常量C很大,θ0=0(即决策边界穿过原点),总共两个特征θ1θ2;下图为优化目标和投影的解释,其中p(i)是指x(i)在||θ||上的投影

吴恩达机器学习系列课程笔记——代价函数_第8张图片

优化目标和投影解释图
  • 根据条件可以知道,优化目标是使得θj2最小,因此||θ||要足够小,从而导致p(i)的绝对值要足够大才能满足两者的绝对值乘积大于1,这就使得决策边界与样本间距离最远

吴恩达机器学习系列课程笔记——代价函数_第9张图片

决策边界到样本间距离最远

  • 在实际情况下,SVM代价函数公式中第二项可以简化为ΘT,这样对大数据处理更有效

吴恩达机器学习系列课程笔记——代价函数_第10张图片

化简SVM代价函数

4.1 偏差方差折中(Bias Variance Trade-off)

  • 代价函数中常量C过大会导致低偏差高方差,而太小会导致低方差高偏差
  • 高斯核函数中的σ2偏大时新特征表现出更平滑的曲线,导致低偏差高方差;其值偏小时新特征表现出更陡峭的曲线,导致低方差高偏差

吴恩达机器学习系列课程笔记——代价函数_第11张图片

SVM参数的影响

你可能感兴趣的:(#,吴恩达机器学习)