你真的理解机器学习中误差 - 方差之间的权衡吗?

做者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai
简书地址:http://www.jianshu.com/p/f143...算法


我认为对误差 - 方差之间的权衡判读对学习机器学习是很是重要的。那么为何这么说呢?由于这个现象的背后是全部参数,性能和几乎全部机器学习模型的深层缘由。若是你能很深入的理解这个,我保证你能很好的理解机器学习的每个模型。微信

图片描述

因此,咱们就不浪费时间在无聊的介绍中,直接深刻挖掘吧。理论讲解可能有一点枯燥,但我但愿你能耐心看完本文。机器学习

机器学习中的误差 - 方差之间的权衡

机器学习所有是关于给定输入数据(X)和给定输出数据(Y),而后去寻找一个最佳映射函数(F),这个映射函数一般也被叫作目标函数。函数

任何机器学习算法的预测偏差能够分解为三部分,即:误差偏差+方差偏差+不可约的偏差(对于给定的模型,咱们不能进一步减小的偏差)。在这个文章中,咱们将重点来讨论机器学习中的前两个偏差。咱们按照以下目录来进行讲解:性能

1)误差偏差;学习

2)方差偏差;优化

3)误差 - 方差之间的权衡;人工智能

4)一些想法的总结;spa

1. 误差偏差

用简单的话来讲,这个偏差是因为简单的假设所形成的,由于咱们的假设越简单,那么咱们的模型更加容易去训练。设计

通常而言,参数化算法具备较高的误差,使得学习速度很是快,并且很是容易去理解,可是一般不太灵活。

注意:对于参数化算法和非参数化算法之间的区别,简单来讲,参数化算法对数据进行参数化,造成不少的特征,这种方法训练速度很是快,并且也不须要不少的数据,可是他不是很灵活。非参数化算法对目标函数作出不多或者根本不作任何假设,可是它须要更多的数据,训练速度很是慢,模型复杂度很是高,可是模型很是强大。

低误差:对目标函数提出更少的假设;

高误差:对目标函数提出更多的假设;

低误差模型例子:KNN 和 SVM;

高误差模型例子:线性回归和逻辑斯特回归;

2. 方差偏差

1)若是咱们使用不一样的数据去训练同一个模型,那么最后咱们获得的目标函数估计也是会改变的。

2)目标函数是由机器学习的训练数据所估计获得的,因此咱们指望训练数据拥有必定的方差。理想状况下,咱们不但愿目标函数从一个训练数据集到另外一个训练数据集有太大的变化,也就是说咱们的算法须要很好的从训练数据中找到一些映射的特征关系,这样能够保证不一样训练集都有一个差很少的目标函数。

低方差:随着训练数据集的变化,对目标函数估计值的变化很是小;

高方差:随着训练数据集的变化,对目标函数估计值的变化很是大;

通常而言,具备很大灵活性的非参数学习算法都具备很高的方差。

高方差例子:KNN 和 SVM。

3. 误差 - 方差之间的权衡

在上面的例子中咱们能够看到一个趋势:参数或者线性的机器学习算法通常都会有一个很高的误差和一个很低的方差。可是,非参数或者非线性的机器学习算法通常都有一个很低的误差和一个很高的方差。全部,咱们须要在这二者之间找到一个平衡点,来优化咱们的算法。

好比,KNN 算法有很低的误差和很高的方差,可是咱们能够经过调整 k 的值来改变误差和方差之间的权衡关系,从而达到一个比较平衡的状态。

所以,咱们增长误差会致使方差的减小,同理,咱们增长方差会致使误差的减小。但在实践中,咱们没法去计算真正的误差和方差值,由于咱们不知道实际的目标函数。可是,做为一种方法,误差和方差为咱们提供了一种去判断机器学习算法性能的方法。


图片描述

4. 一些想法的总结

1)机器学习是去找到一个映射函数(F),这个函数也常常被称之为目标函数;

2)误差是模型所作的简化假设,使得目标函数更加容易求解;

3)方差是在给定不一样训练数据集的状况下,目标函数估计值所改变的量;

4)权衡是去调整一些参数使得误差和方差之间相对平衡;


做者:chen_h
微信号 & QQ:862251340
简书地址:http://www.jianshu.com/p/f143...

CoderPai 是一个专一于算法实战的平台,从基础的算法到人工智能算法都有设计。若是你对算法实战感兴趣,请快快关注咱们吧。加入AI实战微信群,AI实战QQ群,ACM算法微信群,ACM算法QQ群。长按或者扫描以下二维码,关注 “CoderPai” 微信号(coderpai)
图片描述


图片描述

相关文章
相关标签/搜索