Machine Learning Algorithms Study Notes(3)--Learning Theory
Machine Learning Algorithms Study Notes
高雪松
@雪松Cedro
Microsoft MVP
本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 229 的学习笔记。
Machine Learning Algorithms Study Notes 系列文章介绍
3 Learning Theory
3.1 Regularization and model selection
模型选择问题:对于一个学习问题,可以有多种模型选择。比如要拟合一组样本点,可以使用线性回归,也可以用多项式回归。那么使用哪种模型好呢(能够在偏差和方差之间达到平衡最优)?
还有一类参数选择问题:如果我们想使用带权值的回归模型,那么怎么选择权重w公式里的参数?
形式化定义:假设可选的模型集合是,比如我们想分类,那么SVM、logistic回归、神经网络等模型都包含在M中。
3.1.1 Cross validation
我们的第一个任务就是要从M中选择最好的模型。
假设训练集使用S来表示,如果我们想使用经验风险最小化来度量模型的好坏,那么我们可以这样来选择模型:
|
遗憾的是这个算法不可行,比如我们需要拟合一些样本点,使用高阶的多项式回归肯定比线性回归错误率要小,偏差小,但是方差却很大,会过度拟合。因此,我们改进算法如下:
|
这种方法称为hold-out cross validation或者称为简单交叉验证。
由于测试集是和训练集中是两个世界的,因此我们可以认为这里的经验错误接近于泛化错误(generalization error)。这里测试集的比例一般占全部数据的1/4-1/3。30%是典型值。
还可以对模型作改进,当选出最佳的模型后,再在全部数据S上做一次训练,显然训练数据越多,模型参数越准确。
简单交叉验证方法的弱点在于得到的最佳模型是在70%的训练数据上选出来的,不代表在全部训练数据上是最佳的。还有当训练数据本来就很少时,再分出测试集后,训练数据就太少了。
我们对简单交叉验证方法再做一次改进,如下:
|
这个方法称为k-fold cross validation(k-折叠交叉验证)。说白了,这个方法就是将简单交叉验证的测试集改为1/k,每个模型训练k次,测试k次,错误率为k次的平均。一般讲k取值为10。这样数据稀疏时基本上也能进行。显然,缺点就是训练和测试次数过多。
极端情况下,k可以取值为m,意味着每次留一个样例做测试,这个称为leave-one-out cross validation。
如果我们发明了一种新的学习模型或者算法,那么可以使用交叉验证来对模型进行评价。比如在NLP中,我们将训练集中分出一部分训练,一部分做测试。
参考文献
[1] Machine Learning Open Class by Andrew Ng in Stanford http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=MachineLearning
[2] Yu Zheng, Licia Capra, Ouri Wolfson, Hai Yang. Urban Computing: concepts, methodologies, and applications. ACM Transaction on Intelligent Systems and Technology. 5(3), 2014
[3] Jerry Lead http://www.cnblogs.com/jerrylead/
[4]《大数据-互联网大规模数据挖掘与分布式处理》 Anand Rajaraman,Jeffrey David Ullman著,王斌译
[5] UFLDL Tutorial http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial
[6] Spark MLlib之朴素贝叶斯分类算法 http://selfup.cn/683.html
[7] MLlib - Dimensionality Reduction http://spark.apache.org/docs/latest/mllib-dimensionality-reduction.html
[8] 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用 http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html
[9] 浅谈 mllib 中线性回归的算法实现 http://www.cnblogs.com/hseagle/p/3664933.html
[10] 最大似然估计 http://zh.wikipedia.org/zh-cn/%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1
[11] Deep Learning Tutorial http://deeplearning.net/tutorial/
Machine Learning Algorithms Study Notes(3)--Learning Theory的更多相关文章
- Machine Learning Algorithms Study Notes(1)--Introduction
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1 Introduction 1 1.1 ...
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- Machine Learning Algorithms Study Notes(6)—遗忘的数学知识
机器学习中遗忘的数学知识 最大似然估计( Maximum likelihood ) 最大似然估计,也称为最大概似估计,是一种统计方法,它用来求一个样本集的相关概率密度函数的参数.这个方法最早是遗传学家 ...
- Machine Learning Algorithms Study Notes(4)—无监督学习(unsupervised learning)
1 Unsupervised Learning 1.1 k-means clustering algorithm 1.1.1 算法思想 1.1.2 k-means的不足之处 1 ...
- Machine Learning Algorithms Study Notes(5)—Reinforcement Learning
Reinforcement Learning 对于控制决策问题的解决思路:设计一个回报函数(reward function),如果learning agent(如上面的四足机器人.象棋AI程序)在决定 ...
- 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
- 5 Techniques To Understand Machine Learning Algorithms Without the Background in Mathematics
5 Techniques To Understand Machine Learning Algorithms Without the Background in Mathematics Where d ...
- 机器学习算法之旅A Tour of Machine Learning Algorithms
In this post we take a tour of the most popular machine learning algorithms. It is useful to tour th ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...
随机推荐
- jQuery jquery.windy 快速浏览内容
在线实例 效果一 效果二 效果三 使用方法 <div class="container"> <section class="main" ...
- windows10 网络热点
(1)快捷键 :win + x (2)判断自己的电脑是否支持无线接口,输入以下命令,会出现提示是否支持无线接口,如果不支持,请不要往下看了.. netsh wlan show drivers (3)若 ...
- 3D打印公司网站dedecms大气模板
模板描述:1. 用FTP将安装包上传到服务器解压(或者解压在上传): 2. http://您的域名/install/ 进入到安装界面, 按照正常步骤安装即可:不要修改数据库表前缀,否则会造成原先数据无 ...
- 为 MDS 修改 SharePoint 2013组件
了解如何修改 SharePoint 项目中的组件以在 SharePoint 2013 中利用最少下载策略(MDS). 本文内容 为何修改 SharePoint 组件? 母版页 ASP.NET 页面 ...
- Android 手机卫士--xutils说明与下载方法使用
xUtils简介 xUtils 包含了很多实用的android工具. xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词) ...
- UITableView代理方知多少+执行顺序
一.前言 iOS中UITableView是最常用的一个控件.看了一下UITableView的代理:UITableViewDelegate 和 UITableViewDataSource.其中UITab ...
- 【代码笔记】iOS-显示图片的各种方式
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UI ...
- ArrayList Vector LinkedList 区别与用法
转载自: http://www.cnblogs.com/mgod/archive/2007/08/05/844011.html 最近用到了,所以依然是转载 ArrayList 和Vector是采用数组 ...
- 谈谈vertical-align的text-bottom和text-top - 韦奕
学习资料 : http://www.tuicool.com/articles/uuYvMv 友情链接 行高 替换元素,非替换元素,内联元素,块元素
- WPF学习之路(五) 实例:写字板(续)
WordPad 2.0 上一期实现了一虽然建议但是功能比较全面的Wordpad程序,但是程序代码略显繁琐,这一期更新改进版. MainWindows.xaml 添加 <Window.Comman ...