Standford 机器学习应用的建议及机器学习系统的设计

Standford机器学习 逻辑回归(Logistic Regission)以及过拟合问题解决(Regularization) 1.分类问题 判断一封邮件是否为垃圾邮件,判断肿瘤是良性的还是恶性的,这些都是分类问题。在分类问题中,通常输出值只有两个(一般是两类的问题,多类问题其实是两类问题的推广)(0叫做负类,1叫做正类)。给定一组数据,标记有特征和类别,数据如(x(i),y(i)),由于输出只有两个值,如果用回归来解决会取得非常不好的效果。   在良性肿瘤和恶性肿瘤的预测中,样本数据如下   上图是用线 阅读详情

        前几讲学习了很多机器学习的算法,但是在实际的应用中会遇到很多过拟合和欠拟合的问题,这些问题都会导致测试结果不理想。用什么方法解决这些问题,是本讲研究的主题。

举一个房价预测的例子,如果学习了一个模型,发现测试结果非常不理想(有非常大的误差),那么接下去该怎么办?下面有几种解决方法:

1、 获取更多的样本,来训练模型       

2、 试着用更少的特征来构建特征向量

3、 特征向量中添加其他的特征           

4、 特征向量中添加已有特征的多次项

5、 增加regularization中的lambda          

6、 减少regularization中的lambda           

        但是我们不能盲目地去选取里面的某个方法,这样会浪费不必要的时间,比如用更多的样本,数据的获得往往是非常艰难的,会花上很多时间去收集数据,也许会发现,用更多的数据没有得到更好的结果。所以出现问题后,我们要首先去诊断,到底是什么导致了很大的误差,再针对问题去采取相应的措施。

 

一、评估模型

        把数据集分成两部分(训练数据和测试数据),往往在已有的数据集中训练数据分70%,测试数据分30%,学习的过程就是最小化训练误差,但是训练误差小,不一定测试误差就小,这就是泛化能力。我们要追求的就是使模型具有很强的泛化能力。

在逻辑回归的例子中可以这样定义测试误差:

 

 

二、模型的选择

        在线性回归的例子中,我们可以选取下面的多种模型中的一个作为模型拟合出不同的曲线,定义d=degreeof polynomial,即模型的最高项多项式的系数,

 

 

        对每一个模型训练之后会学习得到10个theta向量,对每一个向量用测试集进行验证,当然也会得到不同的测试结果如下图:

 

        比如说d=5的时候测试误差是最小的,那么我们就认为d=5这个模型具有最强的泛化能力,为了测试这个模型预测准确率如何,就必须用新的样本(不能再用这个测试样本),因为这个模型本来就是根据这个测试样本的误差最小得到的,再用这个样本测试定会得到很小的误差,但是对其他数据性能如何我们不得而知。

        因此需要将数据分成三部分:训练数据,交叉验证数据,测试数据。训练数据用来学习模型,交叉验证数据来验证不同的模型的交叉验证误差,选择交叉验证误差最小的那个模型。然后用测试数据来验证模型预测的准确率(这里的测试数据不要和上面的测试数据搞混了,上面的测试数据其实就是交叉验证数据)。这三部分数据划分如下:分别占60%,20%,20%。

 

线性回归中,他们的误差定义如下:

 

 

 

三、诊断bias和variance

        模型欠拟合就是会有很高的bias,如果过拟合就有很高的variance,如下图:

 

        随着d的增加,训练误差会越来越小,因为多次项次数越高,拟合的越精确,训练数据上的误差当然越小。对于测试误差,d小的时候是欠拟合,误差当然大,中间慢慢减小,超过一定程度后就变成了过拟合,误差当然也就增大。误差变化如下:

 

        解决过拟合的方法就是regularization,regularization有没有好的效果关键是lambda的选取,lambda过小会过拟合,lambda过大会欠拟合。

 

 

 

        那么应该怎么样选取这个lambda值呢?当然是选测试误差最小时候的lambda!如下图所示,根据不同的lambda学习出来的模型,在交叉验证数据集上得到了相应的误差,选取交叉验证误差最小的那个lambda就行了。

 

        那么随着lambda增大,训练误差和测试误差又是怎么样变化的呢?对于训练误差,lambda很小的时候,是过拟合,当然训练误差很小,随着lambda的增大,越来越不能精确的拟合训练数据,所以训练误差不断增加,直到欠拟合。对于测试误差,lambda小的时候是过拟合,测试误差很大,lambda到中间某个值的时候误差到最小,lambda很大的时候是欠拟合,测试误差又变大。但往往测试误差比训练误差要大,因为模型是根据训练数据学习出来的。变化关系如下图。

 

 

 

四、学习曲线

        这条曲线是关于测试误差和训练样本个数关系的。如果训练样本很少,如下图右边上面的例子,模型会很容易的拟合所有样本,训练误差小,随着样本个数增多,模型越难越拟合所有的样本,因此训练误差逐渐升高。对于测试误差,样本个数少训练出来的模型当然不具有代表性,测试误差小,样本数增多测试误差会逐渐减小。最后无论是测试误差还是训练误差都会收敛到一个阈值。

 

        看下面这个例子,样本数很多的时候,训练误差和测试误差都很大,这个模型是欠拟合,于是增加样本不能对测试误差有一个很好的改进,

 

        如果模型是过拟合的,增多样本会降低过拟合的程度,试想,如果样本无限多,这样拟合出来的模型是否就是一个精确的模型呢?所以highvariance的时候,增加样本的数量是有帮助的。样本越多可以得到越精确的模型。微博上看到google翻译之所以比别的翻译做的好,是因为它有海量数据的支撑,这些数据使得它比其他公司准确率搞了5个百分点,而提高一个百分点,需要1年的研究。Google的数据帮助google赢得了5年的时间。

 

回到刚才的例子,对应的方法可以解决什么样的问题呢?

 

        用复杂的模型,比如有很高次项数的模型或者神经网络,往往会趋向于过拟合,但是可以用regularization来防止过拟合,增加训练样本的方法也可以得出非常令人满意的模型。

 

五、误差的度量

        在肿瘤预测的例子中,假设只有0.5%的人得了肿瘤,那么我的模型一直预测y=1的话,也测得所有肿瘤的样本,这样明显不太合理。

        现在让y=1定义为我们想要检测的rare class(这个非常重要)。

定义precison=预测为正类的正类样本数/(预测为正类的样本数)

Recall = 预测为正类的正类样本数/实际为正类的样本数

如下图:

 

        根据上面这个例子,设得没得肿瘤为正类,那么precision=0.5%  recall=100%,用precision和recall两个量可以衡量模型的好坏,precision和recall都很高才是好的模型。

 

        有上面三个模型的准确率和召回值,如何选择哪个模型最好呢?明显用平均值的方法会选到第三个,然而第三个模型是不理想的。常用的定义方法是F1score,F1score定义为2PR/(P+R),所以根据这个值,上面算法1是最理想的模型。

 

总结:在应用当中,遇到测试误差很大的时候,要学会去分析,通过话LearningCurve可以看出是过拟合的问题还是欠拟合的问题,然后在对症下药,该增加样本增加样本,该调整lambda调整lambda,该改变feature改变feature。

 

Stanford机器学习---第七讲. 机器学习系统设计 本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学习系统设计、SVM(Support Vector Machines 支持向量机)、聚类、降维、异常检测、大规模机器学习等章节。所有内容均来自Standford公开课machine learning 阅读详情

相关推荐

Standford 机器学习—第三讲 Logistic Regression 逻辑回归

本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学习系统设计、SVM(Support Vector Machines 支持向量机)、聚类、降维、异常检测、大规模机器学习等章节。所有内容均来自Standford公开课machine learning中An

爱折腾的90后 464

Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第二周(1.多元线性回归及多元线性回归的梯度下降)

本博客内容来自Coursera上Andrew Ng老师的机器学习课程的。其实一开始在上课的时候我就在本子上做过一遍笔记,这次在博客上再做一遍是对课程的复习巩固,加深印象。--这篇博客的主要内容是介绍了多元线性回归以及多元线性回归的梯度下降。

MLjoy的博客 2803

VisionMaster SDK C#二次开发核心技术指南

以下是基于**VisionMaster SDK C#二次开发核心技术指南**,结合实战案例与关键代码解析,帮助开发者快速掌握工业视觉应用集成。

东城十三 3057

Stanford机器学习-应用机器学习的建议

1. Deciding what to try next 前面我们以及学习了线性回归、Logistic回归和神经网络等不同的机器学习算法,那么在实际应用中,如果我们需要设计一个机器学习系统 或是想要改进现存的某个系统的性能时,选择一条合适的道路,也就是选择一些适合与实际问题的方法,将达到事半功倍的效果。 那么我们以前面学习的预测房价的例子来看如何选择。假设我们已经完成了正则化的线性回归,对应的...

Forlogenの解忧杂货铺 683

FDTD Solutions-入射波长模式

经常在文献中看到仿真光源使用TM/TE模式,这个确定是十分必要的,决定了仿真结果。 但是也不能局限于选择TM/TE,因为不同领域、不同软件之间的使用习惯和命名可能不同。并且在现代光波导器件中,几乎全部 都是混合模式,或者称之为quasi-TE(准TE模式)和quasi-TM(准TM模式),多数情况下都简称为TE模式和TM模式。要知道 到底是TE模式还是TM模式,需要查看其电场的主分量(即振幅...

HECHUANWANG的博客 1万+

FPGA实现PI控制

FPGA实现PI控制

m0_57319166的博客 3897

Stanford机器学习-Regularization

The problem of overfitting 在前面的Linear Regression和Logistic Regression中,给定一个数据集,我们都希望找到一条线去拟合数据或是对数据进行合理有效的分类。 在线性回归预测房价的例子中,第一次我们用一条直线来拟合数据,但处于一直上升的趋势,实际中房价应该会逐步趋于平稳,显然不符合实际,我们说这个拟合模型是“欠拟合的”或是“高偏差的...

Forlogenの解忧杂货铺 973

程序设计二(面向对象)_实训10_复杂类的实现_ArrayList类的实现

第1关:构造函数与析构函数的实现

2401_83406306的博客 822

【01】 机器学习(Standford)笔记01

【01】 机器学习的动机与应用 机器学习的应用目标起源结构 1 机器学习的广泛应用 Google 搜索及web网页评分喜用Facebook 和Apple的照片标记系统Spam email filter手写识别,人脸识别偏好问题(例如豆瓣的推荐,淘宝的推荐等) 2 起源-What Authur Samuel(1959)的定义:Field of study that

日日新-日日进 410

【Arduino 动手做】构建一个迷你 Las Vegas RGB LED 球体

《Arduino迷你拉斯维加斯球体项目:15岁少年的创意挑战》 15岁的Ben通过本项目展示了如何利用Arduino平台制作一个经济实惠的迷你拉斯维加斯球体夜灯。该项目涉及LED选择(采用WS2812B可编程灯带)、电子元件配置(含Arduino Nano微控制器和红外遥控)以及3D建模设计(100毫米直径球体)。项目难点包括LED布局优化、供电方案设计和3D打印外壳制作。Ben详细记录了从背景研究、电路设计到最终实现的完整过程,特别强调了分辨率与成本的平衡,以及如何通过白色扩散器改善视觉效果。这个项目不仅

雕爷学编程 1024

【行为决策模块项目实战】解耦控制--多控制器管理与切换的方法(附C++代码)

[请添加图片描述](https://img-blog.csdnimg.cn/c11300d9e4fe421e9070f474a468d1db.jpeg)本文先对多控制器管理与切换的方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容VERTICAL_VEL, //垂直速度PID控制器VERTICAL_POS, //垂直位置PID控制器HORIZONTAL, //水平速度PID控制器YAW, //航向角yaw位置逻辑控制器。

qq_35635374的博客 1211

Stanford ML - 机器学习应用

这周的课程主要讲一些实际应用机器学习的fang

YMHH的专栏 984

第78篇:AI辅助创意与设计工作流——Logo、海报、UI的自动化生成与迭代(操作教程)

在广告公司和设计团队摸爬滚打几年,我见过太多设计师为一个Logo的配色、一张海报的版式反复修改到深夜。自从AI绘画工具爆发,我就一直在琢磨,怎么把这些“黑科技”真正塞进设计师的日常流水线里,而不是让它们仅仅是个玩具。今天要聊的,就是一套我实践下来,能真正提升效率的AI辅助创意与设计工作流。我们不谈颠覆,只谈增效——如何用AI快速完成Logo、海报、UI的灵感生成、批量出图与智能迭代,把设计师从重复劳动中解放出来,聚焦在真正的创意决策上。

weixin_37464284的博客 539

机器学习_standford_Andrew Ng

公开课网址http://v.163.com/special/opencourse/machinelearning.html

一个IT菜鸟的自白 828

把数字化转型真正落到组织里:读懂 SAP 的 OCM 六维框架

摘要: SAP的变革管理框架(OCM)强调数字化转型不仅是技术任务,更需关注组织与人的适应性。OCM包含六大维度:变革战略(明确方向与风险)、变革领导力(统一关键管理者行动)、变革沟通(分层传递信息)、变革实现(细化岗位级影响)、变革赋能(按角色设计培训)和变革有效性(持续评估)。该框架贯穿项目全周期,尤其在云项目中,需从早期规划变革策略,避免后期高代价调整。OCM的核心是将系统设计转化为组织语言,确保业务真正采纳新方式运作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1433

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Standford 关于机器学习相关课程的网址

http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=MachineLearning http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial http://openclassroom.stanford.edu/MainFolder/C...

weixin_30951743的博客 80

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

部分MIT及Standford课程链接

部分MIT及Standford课程链接

qq_51895903的博客 432

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Standford 机器学习—第一讲 Linear Regression with one variable(单变量线性回归)

Linear Regression with one variable(单变量线性回归)Linear Regression with one variable单变量线性回归 什么是线性回归 代价函数 cost function 公式 作用 Gradient Descent 梯度下降算法 Batch gradient descent 批量梯度下降 公式 学习率alpha的大小 对代价函数求导本栏目(M

爱折腾的90后 517

Standford 机器学习学习笔记 线性回归(Linear Regission)

本节内容主要包含单变量(One Variable)和求解costfunction的最优值的学习算法—梯度下降法(Gradientdescent)以及多变量(multipleVariable)的线性回归。 1.      单变量的线性回归(Linear Regission with onevariable)         监督学习的样本中都含有对于每个输入变量的输出值,通过建立模型并且学习得到

Jackie_Zhu的专栏 3410

Standford 机器学习—第四讲 神经网络的表示

神经网络的表示神经网络的表示 一 神经网络的引入Nonlinear hypothesis 二 神经元与大脑Neurons and Brain 三 神经网络的表示形式 四 怎样用神经网络实现逻辑表达式 五 分类问题 Classification 一、 神经网络的引入—Nonlinear hypothesis我们之前学的,无论是线性回归还是逻辑回归都有这样一个缺点,即: 当特征太多时,计算的负荷会非常

爱折腾的90后 621

standford 机器学习课阅读笔记——线性回归

一.机器学习算法的分类: 最主要包括两类:监督性学习和非监督性学习。 其它应用包括:增强性学习,推荐系统等 其运用的的领域非常广泛: 数据挖掘领域,自然语言处理,计算机视觉,电子商务的推荐等。。 二.关于监督性学习主要分为回归分析(regression)和分类(classification) supervised learning最主要特点就是有training examples,通过traini...

iteye_18665的博客 136

【02】 机器学习(Standford)笔记 L02

【02】监督学习-线性回归 监督学习线性回归Gradient Descent(梯度下降)两种求解 1、LMS algorithm (Least Mean Squares) 2、the normal equaltion(正规方程法-矩阵的形式-主要是进行证明) 对于LMS方法:可以用batch GD 和 stochastic Gradient descent 监督学习 流程:

日日新-日日进 421

Standford机器学习 神经网络的学习(Neural Network Learning)

上一讲讲了神经网络的表示,神经网络中,从前一层映射到后一层的需要有个一个权重矩阵Theta和激活函数,映射后可以得到该层神经元的activation。如何来学习Theta是本讲要解决的内容。 首先,对于一个分类问题,如果是两类问题,输出层只需要有一个神经元,输出1为正类,输出0为负类。而对于多类的问题,需要有多个神经元。定义一个神经网络,如下:   它的输出是一个向量,如图,假设

Jackie_Zhu的专栏 3095
上一篇: 动态规划 HDU 2546 饭卡
下一篇: 位运算技巧总结
Jackie_Zhu
博客等级 码龄18年 343粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值