Coursera Machine Learning : Regression 评估性能
评估性能
评估损失
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 评估性能的更多相关文章
- Coursera Machine Learning : Regression 多元回归
多元回归 回顾一下简单线性回归:一个特征,两个相关系数 实际的应用要比这种情况复杂的多,比如 1.房价和房屋面积并不只是简单的线性关系. 2.影响房价的因素有很多,不仅仅是房屋面积,还包括很多其他因素 ...
- Coursera Machine Learning : Regression 简单回归
简单回归 这里以房价预测作为例子来说明:这里有一批关于房屋销售记录的历史数据,知道房价和房子的大小.接下来就根据房子的大小来预测下房价. 简单线性回归,如下图所示,找到一条线,大体描述了历史数据的走势 ...
- Coursera Machine Learning: Regression 证书
- Coursera machine learning 第二周 quiz 答案 Linear Regression with Multiple Variables
https://www.coursera.org/learn/machine-learning/exam/7pytE/linear-regression-with-multiple-variables ...
- 【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/ ...
- Coursera machine learning 第二周 编程作业 Linear Regression
必做: [*] warmUpExercise.m - Simple example function in Octave/MATLAB[*] plotData.m - Function to disp ...
- Coursera, Machine Learning, notes
Basic theory (i) Supervised learning (parametric/non-parametric algorithms, support vector machine ...
- 神经网络作业: NN LEARNING Coursera Machine Learning(Andrew Ng) WEEK 5
在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯 ...
- Coursera, Machine Learning, Anomoly Detection & Recommender system
Algorithm: When to select Anonaly detection or Supervised learning? 总的来说guideline是如果positive e ...
随机推荐
- Hyperledge 开发环境配置常见问题
一,安装工具 VBOX vagrant vagrant proxy golang 二,下载源代码 hyperledge gotools 三. 1. ==> default: package g ...
- 如何在IDEA上 添加GIT和maven、mybatis插件
IDEA工具上,添加GIT和maven.mybatis插件,相对比较简单: 首先下载GIT.maven.mybatis. 先添加GIT插件: 首先在IDEA找到file中找到setting,然后搜索g ...
- android 非activity如何得到布局文件 (java文件中获取布局文件)
Android中得到布局文件对象有两种方式第一种,在Activity所在类中this.getLayoutInflater().inflater(R.layout.布局文件名,null);第二种,在非A ...
- Socket原理与编程基础
一.Socket简介 Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换. 几个定义: (1)IP地址:即依照TCP/IP协议分配给本地主机的 ...
- CoreData总结
Core Data,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数据操作期间,我们不需要编写任何 ...
- mxnet实战系列(一)入门与跑mnist数据集
最近在摸mxnet和tensorflow.两个我都搭起来了.tensorflow跑了不少代码,总的来说用得比较顺畅,文档很丰富,api熟悉熟悉写代码没什么问题. 今天把两个平台做了一下对比.同是跑mn ...
- wamp 配置遇到的问题
/* 最近开发部署更换到国内的服务器,想来想去还是更换为wamp套件. 但是由于下的版本的都不太适合. 外网一直显示拒绝.排查问题之后 写个笔记做个记录 */ wamp You don't have ...
- dock停靠管理器
DockManager停靠管理器可以对它所拥有的 停靠面板 的行为和外观设置进行集中控制.DockPanel停靠面板是停靠应用程序的主要构成部件. 常规面板 DockPanel.ParentPanel ...
- python3.5------用户的三次验证
笔者QQ: 360212316 逻辑图 代码 #/usr/bin/python # -*- coding: utf-8 -*- lock = open("black_user_list.tx ...
- 转载:NetBeans中如何运行GUI
这篇入门教程将教会您怎样创建一个简单的人机交互界面以及向其中添加简单 的后台功能. 特别地,我们将向您展示如何按 Swing 规范编写控制按钮和域代 码. 我们将会使用到布局管理.设计简单 GUI 界 ...