斯坦福机器学习视频笔记week6关于机器学习的建议adviceforapplyingmachinelearning

yangmang yangmang     2022-08-24     514

关键词:

我们将学习如何系统地提升机器学习算法,告诉你学习算法何时做得不好,并描述如何'调试'你的学习算法和提高其性能的“最佳实践”。要优化机器学习算法,需要先了解可以在哪里做最大的改进。 我们将讨论如何理解具有多个部分的机器学习系统的性能,以及如何处理偏斜数据。

Evaluating a Hypothesis

设想当你训练的模型对预测数据有很大偏差的时候,接下来你会选择怎么做?

这个需要花时间去实现,但是对你的帮助也会很大,使你不盲目的做一些决定来提升算法,而是直观地看出哪些是对提升算法是有效的。

我们将数据分为两个集合,Training Set(70%),Test set(30%)

算法评估过程如下:

1.从Training Set学习参数(通过最小化误差J(theta)实现);

2.计算测试误差J(test).

下面是线性回归和分类问题的误差计算方式:

Model Selection and Train/Validation/Test Sets

 从多个假设中选择一个训练误差最小的,只能说明它对Training Set有很好的拟合效果,它也可能是Overfit,然后导致Prediction很差。

所以我们下面将数据集分为3个:

 

这里以之前的房价预测作为例子。

每种误差类型的计算方法如下:

 模型选择方法:

1.使用Training Set 最小化 Jtrain(theta)学习得到参数theta;

2.使用训练得到的参数,在Cross Validation Set上计算误差,找到使Jcv(theta)最小的模型,作为训练的最终模型;

3.在训练出的模型上使用test Set计算泛化误差,评价算法好坏。

Diagnosing Bias vs. Variance

 

在这之前我们都已经讨论过关于underfit和overfit了。那么当你的模型结果不理想时,怎么判断到底是出现了哪种情况呢。

High Bias(underfit):训练误差Jtrain和交叉验证Jcv都很高,Jcv~Jtrain

High Variance(overfit):Jtain很小,Jcv很大且>>Jtrain.

 Regularization and Bias/Variance

下面讲解如何选择regularization parameter避免underfit和overfit。

这里除了我们的objective function使用lambda参数外,其他的Jtrain、Jcv和Jtest都不使用lambda进行计算,计算公式如上面。

选择过程:

1.列出所有可能的lambda取值,老师建议每次增加2倍的取值。

2.建立假设模型,h(theta)。

3.遍历所有的lambda,通过minJ(theta)学习参数。

4.在cv集合使用训练的参数theta计算误差Jcv,选择使Jcv最小的theta;

5.用学习到的theta参数,在test set上测试泛化误差。

下面是Jcv和Jtrain关于lambda的函数图象。注意:我们只是在objective funtion J(theta)中使用了lambda,而非Jtrain和Jcv。

可以看出:随着lambda增大,Jtrain是单调增大的;而Jcv先是减小到一个拐点,然后增大。

而我们需要算法有一个小的Jcv,这里就有一个“just right”,也就是那个Jcv的最小值点,就是我们需要选择的lambda。

Learning Curves

以error和training set size作函数图象,作为learning cruvers。

下面是算法处于高偏差(underfit)的情况。

 

判断模型处于High Bias:

样本少:Jtrain低,Jcv高;

样本多:Jtrain、Jcv都高,且Jtrain ~Jcv

若算法处于High bias,增加更多的训练样本对模型提高不会有太大帮助。

下面是算法处于High variance(overfit)的情况

算法处于High variance:

样本少:Jtrain 低,Jcv高;

样本多:Jtrain升高且会一直升高,Jcv降低且一直降低,Jtrain < Jcv且大小明显。

若算法处于high variance,增加训练样本会有帮助。

Deciding What to Do Next Revisited

回顾一下本课开头提出的问题,如何提高你的算法?经过上面的讨论,我们可以得到以下结论:

关于神经网络的underfit和overfit及其解决。

以上所谈对建立一个好的机器学习算法至关重要,而且可以节约不少时间,少走弯路。

  

斯坦福大学andrewng-机器学习笔记--机器学习算法的选择与评估

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

斯坦福机器学习视频笔记week9异常检测和高斯混合模型anomalydetection

异常检测,广泛用于欺诈检测(例如“此信用卡被盗?”)。给定大量的数据点,我们有时可能想要找出哪些与平均值有显着差异。例如,在制造中,我们可能想要检测缺陷或异常。我们展示了如何使用高斯分布来建模数据集,... 查看详情

斯坦福大学andrewng-机器学习笔记--异常检测

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

斯坦福大学andrewng-机器学习笔记--神经网络模型

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

斯坦福大学andrewng-机器学习笔记--聚类&降维

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

斯坦福机器学习视频笔记week3logisticregressionandregularization

我们将讨论逻辑回归。逻辑回归是一种将数据分类为离散结果的方法。例如,我们可以使用逻辑回归将电子邮件分类为垃圾邮件或非垃圾邮件。在本模块中,我们介绍分类的概念,逻辑回归的损失函数(costfuncton),以及逻辑回... 查看详情

斯坦福2014机器学习笔记一----基本概念

  一、纲要    机器学习的定义    监督学习(supervisedlearning)和无监督学习(unsupervisedlearning)    回归问题(regressionproblem)与分类问题(classificationproblem)    鸡尾酒宴问题    单变量线性回归问题   二... 查看详情

斯坦福大学andrewng-机器学习笔记--支持向量机(svm)

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

斯坦福大学andrewng-机器学习笔记--推荐系统&大规模机器学习&图片文字识别

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

斯坦福大学andrewng-机器学习笔记--逻辑回归&正则化

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

斯坦福机器学习视频笔记week2linearregressionwithmultiplevariables

相比于week1中讨论的单变量的线性回归,多元线性回归更具有一般性,应用范围也更大,更贴近实际。MultipleFeatures上面就是接上次的例子,将房价预测问题进行扩充,添加多个特征(features),使问题变成多元线性回归问题。多... 查看详情

吴恩达-coursera-机器学习-week6

十、应用机器学习的建议(AdviceforApplyingMachineLearning)10.1决定下一步做什么10.2评估一个假设10.3模型选择和交叉验证集10.4诊断偏差和方差10.5正则化和偏差/方差10.6学习曲线10.7决定下一步做什么十一、机器学习系统的设计(MachineLearnin... 查看详情

斯坦福大学andrewng-机器学习笔记--单变量&多变量线性回归

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

斯坦福机器学习课程笔记

模型(如何模拟)---策略(风险函数)--算法(最优化方法)第一节:机器学习的基本概念和分类第二节:线性回归,最小二乘批梯度下降(bgd)和随机梯度下降(sgd)第三节:过拟合,欠拟合非参数学习算法:局部加权回归概率角度解... 查看详情

(笔记)斯坦福机器学习第五讲--生成学习算法

 本讲内容1.Generativelearningalgorithms(生成学习算法)2.GDA(高斯判别分析)3.NaiveBayes(朴素贝叶斯)4.LaplaceSmoothing(拉普拉斯平滑)  1.生成学习算法与判别学习算法判别学习算法:直接学习  或者学习一个假设&n... 查看详情

coursera公开课笔记:斯坦福大学机器学习第七课“正则化”

Coursera公开课笔记:斯坦福大学机器学习第七课“正则化”NLPJob斯坦福大学机器学习第七课”正则化“学习笔记,本次课程主要包括4部分:1)TheProblemofOverfitting(过拟合问题)2)CostFunction(成本函数)3)RegularizedLinearRegression(线性回归的正... 查看详情

斯坦福2014机器学习笔记九----支持向量机

一、纲要  支持向量机基础及优化目标  支持向量机的直观理解  核函数二、内容详述  1、支持向量机基础以及优化目标  支持向量机(SupportVectorMachine)与逻辑回归和神经网络相比,在学习复杂的非线性方程时提供了... 查看详情

(笔记)斯坦福机器学习第六讲--朴素贝叶斯

本讲内容1.NaiveBayes(朴素贝叶斯)2.Eventmodels(朴素贝叶斯的事件模型)3.Neuralnetwork(神经网络)4.Supportvectormachines(支持向量机) 1.朴素贝叶斯上讲中的垃圾邮件问题有几个需要注意的地方:(1)  一个单词只有出现... 查看详情