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 相等。

  

  

时间: 2024-10-04 03:53:49

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

Coursera Machine Learning : Regression 多元回归

多元回归 回顾一下简单线性回归:一个特征,两个相关系数 实际的应用要比这种情况复杂的多,比如 1.房价和房屋面积并不只是简单的线性关系. 2.影响房价的因素有很多,不仅仅是房屋面积,还包括很多其他因素. 现在描述第一种情况,房价和房屋面积不只是简单的线性关系,可能是二次或者多项式: 二次函数: 多项式函数: 多项式回归: 这里的特征都是通过房屋面积这个自变量得到的. 第二种情况,影响房屋价格的因素不仅仅是房屋面积,这里增加了卧室的数量.这种就是多元线性回归. 通用表达式: 多元线性回归中,理解相

Coursera Machine Learning 学习笔记(一)

之前就对Machine Learning很感兴趣,假期得闲看了Coursera Machine Learning 的全部课程,整理了笔记以便反复体会. I. Introduction (Week 1) - What is machine learning 对于机器学习的定义,并没有一个被一致认同的答案. Arthur Samuel (1959) 给出对机器学习的定义: 机器学习所研究的是赋予计算机在没有明确编程的情况下仍能学习的能力. Samuel设计了一个西洋棋游戏,他让程序自己跟自己下棋,并

Coursera - Machine Learning, Stanford: Week 1

Welcome and introduction Overview Reading Log 9/9 videos and quiz completed; 10/29 Review; Note 1.1 Welcome 1) What is machine learning? Machine learning is the science of getting compters to learn, without being explicitly programmed. 1.2 Introducti

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

必做: [*] warmUpExercise.m - Simple example function in Octave/MATLAB[*] plotData.m - Function to display the dataset[*] computeCost.m - Function to compute the cost of linear regression[*] gradientDescent.m - Function to run gradient descent 1.warmUpE

【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/university, given how well they did in their first year. Specifically, let x be equal to the number of "A" grades (including A-. A and A+ grades)

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

在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯数字.作业主要目的是感受如何在NN中求代价函数(COST FUNCTION)和其假设函数中各个参量(THETA)的求导值(GRADIENT DERIVATIVE)(利用BACKPROPAGGATION). 难度不高,但问题是你要习惯使用MALAB的矩阵QAQ,作为一名蒟蒻,我已经狗带了.以下代核心部

Coursera Machine Learning 学习笔记(十三)

VI. Logistic Regression (Week 3) - Classification 在分类问题中,我们所尝试预测的是结果是否属于某一类(例如正确或错误).分类问题的例子有:判断一封电子邮件是否是垃圾邮件:判断一封电子邮件是否是垃圾邮件:判断一次金融交易是否是欺诈等等. 我们从二元的分类问题开始讨论. 我们将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量 - Hypoth

Coursera Machine Learning 学习笔记(四)

 II. Linear Regression with One Variable (Week 1) - Model representation 以之前预测房价的问题为例,假设我们回归问题的训练集(Training Set)如下所示: 我们用如下符号来描述回归问题中的量: - m 代表训练集中实例的数量 - x 代表特征/输入变量 - y 代表目标变量/输出变量 - (x,y) 代表训练集中的实例 -  代表第i个观察实例 - h 代表学习算法的解决方案或函数,也称为假设(hypothesi

Coursera machine learning 第二周 quiz 答案 Octave/Matlab Tutorial

https://www.coursera.org/learn/machine-learning/exam/dbM1J/octave-matlab-tutorial Octave Tutorial 5 试题 1. Suppose I first execute the following Octave commands: A = [1 2; 3 4; 5 6]; B = [1 2 3; 4 5 6]; Which of the following are then valid Octave com