该系列笔记内容是楼主在观看课程时记录的,其中图片是视频中ppt的截图,内容仅供参考,有问题欢迎大家指出。
常见的代价函数
-
代价函数(cost fuction,也称损失函数或优化目标)是出现在监督学习模型中,在已知的标签y的情况下,根据h(x)得到的预测值计算学习算法要到达真实情况所需要付出的代价
P. S. 不熟悉常见监督学习模型可以看吴恩达机器学习系列课程笔记——监督学习常见模型 - 通过最小化代价函数可以得到算法的最优解,从而训练更有效的模型
- 其中代价函数被期望得到的是凸函数(convex function,也称单弓形函数),而不是非凸函数(non-convex),因为后者拥有众多局部最低点,导致算法可能无法获得全局最优解
1. 平方误差代价函数(Square Error Cost Function)
该代价函数常在回归问题中使用
- 对于单变量线性回归模型来说,代价函数只考虑特征θ0(偏差)和θ1,则其公式为
- 其中m为样本数,平方差公式乘以系数是为了使代价函数不依赖训练集中元素的数量,而乘以常量是为了方便后续最小化代价函数的求导
- 简化参数,将偏差θ0设为0,则单变量线性回归模型拟合的曲线为经过原点且斜率为θ1的直线,其代价函数则是一元二次曲线
- 二元变量的线性回归模型的代价函数如下图所示,同样也是凸函数
- 为方便理解可以通过绘制等高线图观察平方差代价函数,如下图所示
2. 逻辑回归代价函数(Logistic Regression Cost Function)
该代价函数常用于逻辑回归模型
- 其函数本质是统计学中的极大似然法,公式为
感兴趣的同学可以看逻辑回归代价函数的详细推导
3. 神经网络代价函数(Neural Network Cost Function)
该代价函数常用于神经网络模型
- 该代价函数与逻辑回归代价函数相似,唯一有区别的是神经网络代价函数还要求K个输出单元的和,即计算每个类别的逻辑回归代价,其方程如下图所示
- 值得注意的是,神经网络代价函数是非凸函数,即最优化算法可能会得到局部最小值而非全局的最优解
4. 支持向量机代价函数(SVM Cost Function)
该代价函数常用于支持向量机(SVM)模型
- 其代价函数与逻辑回归代价函数相似,但是由于支持向量机模型的假设函数并非概率而是类别,因此公式中两项不共存,导致曲线没有弧度,如下图粉线所示
- 通过修改逻辑回归代价函数,用常量C替换了原来第一项的系数,并去掉了正则化系数的,得到了SVM代价函数
- 与考虑正则化的逻辑回归代价函数不同的是,SVM代价函数更关前一项的比重,后者的系数为定值
小插曲:为什么称SVM为大间距分类器?
- 假设代价函数中常量C很大,θ0=0(即决策边界穿过原点),总共两个特征θ1和θ2;下图为优化目标和投影的解释,其中p(i)是指x(i)在||θ||上的投影。
- 优化目标是使得θj2最小,因此||θ||要足够小,从而导致p(i)的绝对值要足够大才能满足两者的绝对值乘积大于1,这就使得决策边界与样本间距离最远
- 在实际情况下,SVM代价函数公式中第二项可以简化为ΘTMΘ,这样对大数据处理更有效
4.1 偏差方差折中(Bias Variance Trade-off)
- 代价函数中常量C过大会导致低偏差高方差,而太小会导致低方差高偏差
- 高斯核函数中的σ2偏大时新特征表现出更平滑的曲线,导致低偏差高方差;其值偏小时新特征表现出更陡峭的曲线,导致低方差高偏差