评估性能

  评估损失

  1、Training Error

  首先要通过数据来训练模型,选取数据中的一部分作为训练数据.

  

  损失函数可以使用绝对值误差或者平方误差等方法来计算,这里使用平方误差的方法,即: (y-f(x))2

  使用此方法计算误差,然后计算所有数据点,并求平均数。

  

  Training Error 越小,模型越好?答案是否定的,下面看看Training Error 和模型复杂度的关系。

  

  

  

  

  

  从上的的图可以看出,要想使training error越小,模型就会变得越复杂,然后出现了过拟合的现象

  很有可能训练数据中有个别异常数据点,如果过度拟合所有的数据点,就会导致模型过拟合,并不能很好的对房价进行预测;

  training error 小,并不能说明是个很好的预测。

  

  

  2、Generalization (true) error 真实误差

  首先说明的一点是这个值是不能计算出来的;

  计算真实误差,首先需要知道真实值,训练数据中的数据不一定就代表真实值,不过可以通过训练数据中的平均值来估算出来。

  比如,计算房子A的房价,找出所有与A类似的房子求出房价,计算平均值。来估算房价。

  

  下面来看看真实误差和模型复杂度的关系:

  图像中的真实值,参考图像中颜色变浅的中间位置

  

  

  

  

  

  

  通过上图可以看出,模型简单和模型过度复杂,都不能很好的对数据进行预测

  

  3、Test Error

  Test Error 和 True Error 接近,Test Error的测试数据来自测试数据集。

  

  

  对测试数据集进行计算误差,计算方法和Training Error类似。

  

  

  Training, true, & test error 和 模型复杂度的比较:

  test error 在 true error的周边波动,接近true error的值。

  

  从上图中可以看出,总结出过拟合的判断:

  模型中存在估计参数w'

    1. training error(w) < training error(w')

    2. true error(w) > true error (w')

   说明w过拟合

  误差的3个来源

   Noise, Bias, Variance

  1、Noise 噪声

    固有的,不可约减的

  

 

  2、Bias 偏差

  

  

  

  模型越简单,偏差越大

  

  模型越复杂,偏差越小

  3、Variance 方差

  

  

  模型简单,方差小

  

  模型复杂,方差大

  

  偏差和方差权衡,偏差和方差不能计算

  

  

  training error和测试数据量的关系,固定的模型复杂度,少量数据拟合更好,误差会更小;随着数据量的增大,误差也随之增大,会达到一个临界点与true error 相等。

  true error 和测试数据量的关系,固定的模型复杂度,少量的数据的true error会更大;随着数据量的增大,误差也随之减小,会到达一个临界点与training error 相等。

  

  

Coursera Machine Learning : Regression 评估性能的更多相关文章

  1. Coursera Machine Learning : Regression 多元回归

    多元回归 回顾一下简单线性回归:一个特征,两个相关系数 实际的应用要比这种情况复杂的多,比如 1.房价和房屋面积并不只是简单的线性关系. 2.影响房价的因素有很多,不仅仅是房屋面积,还包括很多其他因素 ...

  2. Coursera Machine Learning : Regression 简单回归

    简单回归 这里以房价预测作为例子来说明:这里有一批关于房屋销售记录的历史数据,知道房价和房子的大小.接下来就根据房子的大小来预测下房价. 简单线性回归,如下图所示,找到一条线,大体描述了历史数据的走势 ...

  3. Coursera Machine Learning: Regression 证书

  4. Coursera machine learning 第二周 quiz 答案 Linear Regression with Multiple Variables

    https://www.coursera.org/learn/machine-learning/exam/7pytE/linear-regression-with-multiple-variables ...

  5. 【Coursera - machine learning】 Linear regression with one variable-quiz

    Question 1 Consider the problem of predicting how well a student does in her second year of college/ ...

  6. Coursera machine learning 第二周 编程作业 Linear Regression

    必做: [*] warmUpExercise.m - Simple example function in Octave/MATLAB[*] plotData.m - Function to disp ...

  7. Coursera, Machine Learning, notes

      Basic theory (i) Supervised learning (parametric/non-parametric algorithms, support vector machine ...

  8. 神经网络作业: NN LEARNING Coursera Machine Learning(Andrew Ng) WEEK 5

    在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯 ...

  9. Coursera, Machine Learning, Anomoly Detection & Recommender system

      Algorithm:     When to select Anonaly detection or Supervised learning? 总的来说guideline是如果positive e ...

随机推荐

  1. Extjs 百度地图扩展

    var bmapps; Bsprint.EditMapInfoWindow = Ext.extend(Ext.Window, { form: null, constructor: function ( ...

  2. NOIP2008 传纸条

    题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是 ...

  3. HTML解析原理

    Web页面运行在各种各样的浏览器当中,浏览器载入.渲染页面的速度直接影响着用户体验 简单地说,页面渲染就是浏览器将html代码根据CSS定义的规则显示在浏览器窗口中的这个过程.先来大致了解一下浏览器都 ...

  4. 【AppCan 开发者】北京开发者交流会之行

    不久前AppCan官方组织了开发者交流会活动,我有幸参加了这次活动,官方报销全部费用,还有妹子相伴,哇哇,这是光明正大打FB的节奏啊~ (呃,说实话,这是俺第一次去帝都~心里挺激动的~) 10.25帝 ...

  5. CSS3中-webkit-overflow-scrolling: touch 的使用方法详解

    -webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果. auto 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止. touch 使用具有回弹效果的滚 ...

  6. JAVA获取客户端IP地址

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...

  7. bonext.js学习笔记

    bonext.js是个什么鬼? 首先这是一个前端开发框架,建立在Backbone.js的基础上,使用Jquery操作Dom,Bootstrap负责布局,Art-Template渲染模板,再加上自定义一 ...

  8. win 7,win2008 无法给新建用户完全权限

    明明把这个用户添加到管理员组了啊,为什么在运行一些程序时老是提示没有权限,实在是郁闷.在网上Google 了半天也没找到个所以然来. 后来发现是系统用户帐户控制搞的鬼,到 控制面板/用户帐户和家庭安全 ...

  9. 学习 Linux,101: Linux 命令行

    概述 本教程将简要介绍 bash shell 的一些主要特性,涵盖以下主题: 使用命令行与 shell 和命令交互 使用有效的命令和命令序列 定义.修改.引用和导出环境变量 访问命令历史和编辑工具 调 ...

  10. 后台js弹提示

    StringBuffer sb=new StringBuffer(); try{ sb.append("<script> location.href=\"member_ ...