本章重点:  简单的论证了即使有Noise,机器依然可以学习,VC Dimension对泛化依然起作用:介绍了一些评价Model效果的Error Measurement方法. 一论证即使有Noisy,VC Dimension依然有效: 下图展示了主要思想,以前的数据集是确定的(Deterministic),现在加了Noisy变成了分布函数了,即对每个一x,y出现的概率是P(y|x).可以这么理解,概率表示的是对事件确定的程度,以前确定性的数据集是 P(y|x) = 1, for y = f(x)…
本章的思路在于揭示VC Dimension的意义,简单来说就是假设的自由度,或者假设包含的feature vector的个数(一般情况下),同时进一步说明了Dvc和,Eout,Ein以及Model Complexity Penalty的关系. 一回顾 由函数B(N,k)的定义,可以得到比较松的不等式mh(N)小于等于N^(k-1)(取第一项). 这样就可以把不等式转化为仅仅只和VC Dimension和N相关了,从而得出如下结论: 1 mh(N)有break point k,那么其就是多项式级别…
 这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题:    为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才能比较确认我们得到坏的数据集的概率比较低,也就是说算法得出的假设和最佳假设在全局表现相同(错误率相等),可是PLA的假设是平面上的直线,不是无数个么?为什么可以正常泛化?   为解释这个问题,有了这节以及下面几节的课程  可以看到这个问题其实很重要,因为这是我们理解机器为啥能学习的关键一步,因为很多…
提纲: 机器学习为什么可能? 引入计算橙球概率问题 通过用Hoeffding's inequality解决上面的问题,并得出PAC的概念,证明采样数据学习到的h的错误率可以和全局一致是PAC的 将得到的理论应用到机器学习,证明实际机器是可以学习 机器学习的大多数情况下是让机器通过现有的训练集(D)的学习以获得预测未知数据的能力,即选择一个最佳的h做为学习结果,那么这种预测是可能的么?为什么在采样数据上得到的h可以认为适用于全局,也就是说其泛化性的本质是什么? 课程首先引入一个情景: 如果有一个装…
这节课是最后一节,讲的是做机器学习的三个原则. 第一个是Occan's razor,即越简单越好.接着解释了什么是简单的hypothesis,什么是简单的model.关于为什么越简单越好,林老师从大致思想 上进行了解释:如果一个简单的模型能对数据分得很好,那说明输入的资料是有规律的资料(这被称为资料具有显著性significant):对于复杂的模型来说,不是资料怎么样,都可以分的较好,这样 的资料不具备显著性.那做机器学习的方向就是,先做简单的线性模型,不行再做其他的. 第二个是sampling…
本章思路: 根据之前的总结,如果M很大,那么无论假设泛化能力差的概率多小,都无法忽略,所以问题转化为证明M不大,然后上章将其转化为证明成长函数:mh(N)为多项式级别.直接证明似乎很困难,本章继续利用转化的思想,首先想想和mh(N)相关的因素可能有哪些?不难想到目前来看只有两个: 假设的抽样数据集大小N: break point k(这个变量确定了假设的类型): 那么,由此可以得到一个函数B,给定N和k可以确定该系列假设能够得到的最大的mh(N),那么新的目标便是证明B(N,k) <= Poly…
这节课是接着上节的正则化课程的,目的也是为了防止overfitting. 第一小节讲了模型的选择,前面讲了很多模型,那么如何做出正确的选择呢?我们的目标是选择最小的Eout目标函数.首先应避免视觉化选择,因为高维. 假如选Ein最小的化,则会出现过拟合.虽然能用test数据选择最好的,但通常test数据是不可得的.然后提出了一个办法,在训练数据中留出一部分,作为test,称为validation data 第二节中,要想让Eval与Eout产生连接,就在数据集中随即抽样K个样本.这样在N-K个样…
之前一直在讲机器为什么能够学习,从这节课开始讲一些基本的机器学习算法,也就是机器如何学习. 这节课讲的是线性回归,从使Ein最小化出发来,介绍了 Hat Matrix,要理解其中的几何意义.最后对比了linear regression 和 binary classification,并说明了linear regression 为什么可以用来做 binary classification .整节课的内容可以用下面的图来表示: 与其他课程的线性回归相比,这门课要更加理论,看完后对这门课有了更深的理解…
这一节讲的是正则化,在优化中一直会用到正则化项,上课的时候老师一句话代过,没有作过多的解释.听完这节课后, 才明白好大学和野鸡大学的区别有多大.总之,这是很有收获的一节课. 首先介绍了为什么要正则化,简单说就是将复杂的模型用简单的模型进行表示,至于如何表示,这中间有一系列推导假设,很有创意. 第二小节深入的解释了优化中拉格朗日乘子,提出了argument error的概念.关于乘子和正则化项的关系:乘子大,正则化项小,即C小,则模型越简单. 虽然有图,但听起来仍然十分的抽象. 第三小节是关于正则…
这一节讲的是如何将线性不可分的情况转为非线性可分以及转换的代价.特征转换是机器学习的重点. 最后得出重要的结论是,在做转换时,先从简单模型,再到复杂模型. 参考:http://www.cnblogs.com/ymingjingr/p/4340977.html…
如果只想得到某种概率,而不是简单的分类,那么该如何做呢?在误差衡量问题上,如何选取误差函数这段很有意思. 接下来是如何最小化Ein,由于Ein是可凸优化的,所以采用的是梯度下降法:只要达到谷底,就找到了最优解.与PLA对比发现, logistic regression的梯度下降其实也是调整错分的w(错分有较大权重). 当采用梯度下降法时,发现Ein是非线性,所以不能像linear regression那样,直接得到闭式解,于是采用了小技巧将其转为线性.于是可以得到最优的方向. 关于步长的选择,过…
第三讲比较简单,参考:http://www.cnblogs.com/HappyAngel/p/3466527.html 第四讲很抽象,尤其是第四个视频,目的仍然是为了证明机器学习是可能的,不过这个博主解释的还算清楚:http://www.cnblogs.com/HappyAngel/p/3495804.html…
这一节讲线性模型,先将几种线性模型进行了对比,通过转换误差函数来将linear regression 和logistic regression 用于分类. 比较重要的是这种图,它解释了为何可以用Linear Regression或Logistic Regression来替代Linear Classification 然后介绍了随机梯度下降法,主要是对梯度下降法的一个改进,大大提高了效率. 最后讲了多类别分类,主要有两种策略:OVA和OVO OVA思想很简单,但如果类别很多并且每个类别的数目都差不…
最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一机器学习是什么? 感觉和 Tom M. Mitchell的定义几乎一致, A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by…
总体思路: 各种类型的机器学习分类 按照输出空间类型分Y 按照数据标记类型分yn 按照不同目标函数类型分f 按照不同的输入空间类型分X 按照输出空间类型Y,可以分为二元分类,多元分类,回归分析以及结构化学习等,这个好理解,离散的是分类,连续的是回归,到是结构化的学习接触的相对较少,以后有空可以关注下. 按照数据标记分可以分为: 监督: 非监督: 半监督: 增强学习: 下面这张ppt很好的总结了这点: 这是围绕标记yn的类型进行分类的, 监督和非监督很好理解,半监督和增强其实应用更加普遍,数据的标…
Coursera台大机器学习基础课程学习笔记 -- 1 最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一 机器学习是什么? 感觉和 Tom M. Mitchell的定义几乎一致, A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance a…
极其淡腾的一学期终于过去了,暑假打算学下台大的这门机器学习技法. 第一课是对SVM的介绍,虽然之前也学过,但听了一次感觉还是很有收获的.这位博主总结了个大概,具体细节还是 要听课:http://www.cnblogs.com/bourneli/p/4198839.html 这位博主总结的很详细:http://www.cnblogs.com/xbf9xbf/p/4617120.html 这节课提出了一个重要的概念--maxmum margin(它和hinge loss是线性SVM最重要的两个部分)…
将Radial Basis Function与Network相结合.实际上衡量两个点的相似性:距离越近,值越大. 将神经元换为与距离有关的函数,就是RBF Network: 可以用kernel和RBF来衡量相似性: 那么如何选中心点呢,一种方法是把所有看过的资料都当做中心点,这就是 FULL NETWORK: 用所有的点作中心太麻烦,可以选择某几个点来投票,这就是KNN(具体可参考机器学习实战): 之前投票的y就是资料的标签,如果每笔资料都不同的话,可以得到一个简洁的贝塔: 减少中心点(相当于选…
这一节讲的是核化的SVM,Andrew Ng的那篇讲义也讲过,讲的也不错. 首先讲的是kernel trick,为了简化将低维特征映射高维特征后的计算,使用了核技巧.讲义中还讲了核函数的判定,即什么样的函数K能使用kernel trick. 此外,核函数还可以衡量两个特征的相似度,值越大,越相似(可用于跟踪哦 ). 接着讲的是Polynomial Kernel,需要注意的是核函数的系数和常量,这会影响到最终的margin. 再接着讲了高斯Kernel,它能将原始数据映射到无限维!但是如果参数选的…
深度学习面临的问题和现在解决的办法: 简要来说,分两步使用DL:初始化时一层一层的选择权重,而后再进行训练: 那么怎么做pre-training,即怎么选择权重呢?好的权重能够不改变原有资料的信息,即编码过后信息够解码过后仍能保持 用类神经网络做如下: 这样做的原因就是,能找到一个好的特征转换:找到隐藏的资料结构,学到数据典型的表现形式 在层与层的autoencoder过程中,不需要标签信息: 下面介绍了一个regularization方法:在资料中加入artifical noise(很疯狂的想…
将Adaboost和decision tree相结合,需要注意的地主是,训练时adaboost需要改变资料的权重,如何将有权重的资 料和decision tree相结合呢?方法很类似于前面讲过的bagging,通过采样资料来使资料获得不同的权重. 一棵完全的树的权值会无限大,可能出现过拟合.因此需要得到一棵弱分类的树,方法如下: 接下来比较深入的分析adaboost.经过代换,出现了如下惊人的结果: 某个资料的权重正比于投票分数 联系到之前学习的SVM,发现了一个秘密:投票的分数就是某个点到分隔…
随机森林就是要将这我们之前学的两个算法进行结合:bagging能减少variance(通过g们投票),而decision tree的variance很大,资料不同,生成的树也不同. 为了得到不同的g,除了用bootstrap用不同的资料得到不同的g外,还可以采用随即选择特征的方式: 为了增加特征的随机性,将特征投影到任意方向上: bagging中,没有被选中的资料被称为OOB: 在N次选择中都没有被选中的概率是: 可以用OOB来做validation,不同的是,不需要对每个g来做,可以用G-来做…
将分类器组合的过程中,将重点逐渐聚焦于那些被错分的样本点,这种做法背后的数学原因,就是这讲的内容. 在用bootstraping生成g的过程中,由于抽样对不同的g就生成了不同的u,接下来就是不断的调整u,使得Ein最小. g越不同,通过aggregation,越能得到更好的结果.通过调整u来得到不同的g.如果某个gt,在ut+1时表现的不好,那么gt或与gt很像的hypothesis就 可能不会被选到.因此,可通过调整ut+1来使g不同.那么如何定义g的表现不好呢?如果错误率与丢硬币没什么两样(…
之前的SVM非常的hard,要求每个点都要被正确的划分,这就有可能overfit,为此引入了Soft SVM,即允许存在被错分的点,将犯的错放在目 标函数中进行优化,非常类似于正则化. 将Soft SVM进行对偶转化后,发现与之前的hard SVM非常的像,只是其中一个系数多了个上界. 通过对阿尔法值的范围的讨论,将SVs分成三类:边界外的.free vector.bounded vector 最后讲的是模型的选择.需要注意的是,我们可以根据support vector的数量来确定cross v…
这节课讲的是SVM的对偶问题,比较精彩的部分:为何要使用拉格朗日乘子以及如何进行对偶变换. 参考:http://www.cnblogs.com/bourneli/p/4199990.html http://www.cnblogs.com/xbf9xbf/p/4619866.html…
这一节讲如何将得到的feature或hypothesis组合起来用于预测. 1. 林老师给出了几种方法 在选择g时,需要选择一个很强的g来确保Eval最小,但如果每个g都很弱该怎么办呢 这个时候可以选择Aggregation的方式将这些若g组合起来,组合起来的G,既能feature transform又能regularization这一对矛盾的性质. 2.接着讲了用uniform blending的方式来classification或regression,并推导了使用uniform blendi…
这一节主要讲的是如何将Kernel trick 用到 logistic regression上. 从另一个角度来看soft-margin SVM,将其与 logistic regression进行对比,发现可将 SVM看作一个正则化模型: 将SVM看作一个regularize model,是为了更好的延伸到其他模型上. 下面从erro measure的角度来分析二者相似性: 再从binary classfication的角度来比对:做了一个LogReg就相当于做了SVM,那SVM的结果能否用到L…
由perceptron线性组成的一个神经网络: 通过赋予g不同的权值,来实现不同的切分功能: 但有的切分只通过一次特征转换是不够的,需要多次转换,如下: Neural Network Hypothesis:为了便于优化,将sign(离散)变成tanh,这个函数相当于regression的拉伸与平移: 然后给了一个物理解释:衡量x与权值向量在模式上的的相似程度 那么怎么得到权值w呢:可以在最后的错误上对各个权值求偏微分,得到权值变化的方向: 直接求微分不好求,可先求最后一个: 给了一个算法: 这样…
这是我们已经学到的(除Decision Tree外) 下面是一个典型的decision tree算法,有四个地方需要我们选择: 接着介绍了一个CART算法:通过decision stump分成两类,衡量子树的标准是,将数据分成两类后,这两类数据的纯度(purifying). 下面是不纯度的衡量: 最后是什么时候停下来: decision tree可能overfitting,需减小Ein和叶子的数目(表示树的复杂度) 如果缺少某一特征的话,可找一替代特征: 将CART和Adaboost进行对比:A…
很多ML模型用的都是数值特征,那么对于分类特征,该怎么做呢? 以linear network为例:先对特征进行转换,转换成有意义的特征后,再对其进行线性组合 进一步,模型可表示为:使Ein最小,我们就能知道如何转换特征,如何组合线性模型. 以给电影打分为例,我们实际上要做的,就是从已有评分中,学习到特征V(观影人的喜好)和W(电影的类型) 对Ein的优化,可以通过先固定一个变量进行: 将矩阵分解和linear autocoder进行对比:一个可以降维,一个可以提取出隐藏特征. 用SGD来做矩阵分…