All Machine Learning

Machine Learning Techniques Lecture 9: Decision Tree

    内容: 介绍了Decision Tree模型,他的hypothesis就是对于不同的条件,不同的路径上面有不同的小g;他的算法就是把这种树形结构通过对资料越切越纯直到不能再切为止,递归的建立起来。一种实例算法C&RT则是对Decision Tree进一步做了四个决定:怎么做regression,怎么砍树,怎么处理类别输入,怎么处理特征丢失。最后可视化的举例看这个演算法的演进过程。         上一讲: Adaptive Boosting 演算法,透过调整每一笔资料的权重的方式来得到不一样的hypothesis,同时在计算过程中决定每一个hypothesis的权重,然后用linear 的方式合起来,这样的方式被证明可以让分类结果变得比较好。     这一讲: Decision Tree     …

All Machine Learning

Machine Learning Techniques Lecture 8: Adaptive Boosting

    内容: 介绍了 Adaboost 演算法,一开始先给大家一个小学生课堂的例子来告诉大家这个演算法想像上是长什么样子的。这算法的关键是每一轮的时候透过重新的给每一个example不一样的权重,提高错误的权重,降低正确的权重来得到不一样的g,最后再把g整合成G。最后给了一个adaboost配合decision stump以后的实例,可以工作的很好。         上一讲:开始讲aggregation model,就是想办法把很多的小g合起来变成一个更符合你需求的大G。然后讲到blending,就是如果你已经有很多小g在手上的时候,你可以让他们求平均或者加权投票或者更复杂的非线性组合它们。那如果手上只有一堆已有的资料,那么可以通过bootstrap的方式得到一堆资料集,然后得到一堆小g求大G,这样的演算法叫做bagging。     今天从这系概念出发,讲一个有趣的演算法。         举例:老师交学生辨识图中有没有苹果做法   …

All Machine Learning

Machine Learning Techniques Lecture 7: Blending and Bagging

    内容: 介绍了Blending和Bagging的方法,两者都属于Aggregation这个大家族,Aggregation要做的事情就是把一堆的小g合起来变成一个更符合需求的大G。最基本的方法就是求平均,算术平均,更进阶的方式是如果你今天想做linear/non-linear的化其实只要做一个two-level learning就可以做到了。最后我们介绍了如何通过 bootstraping 从已有的固定资料得到不一样的hypothesis,然后再合起来的方法。         我们之前讲到的是Kernel Model,做的事情是把很多很多的feature包在kernel里面,然后用不同的机制去求解。我们把kernel model延伸到可以做regression,你可以把原来知道的ridge regression利用representer theorem来得到他的kernel的形式,你也可以参考SVM设计一个新的formulation来得到sparse solution 的Kernel 形式。     今天开启一个新的主题,如果我们得到了一些hypothesis,这些hypothesis可以帮助我们做预测,我们怎么把这些有预测性的hypothesis合起来让他们变得更好,这样的模型叫做Aggregation …

All Machine Learning

Machine Learning Techniques Lecture 6: Support Vector Regression

    内容: 和大家讲了support vector regression,一开始的切入点就是把我们原来会的ridge regression变成kernel的形式,我们可以通过representer theorem来做到这件事情。不过呢这时候的beta是dence的,计算量太大,因此我们从一个 regularized tube error来做推导导出了对偶问题,根据KKT条件求解二次规划,得到sparse的beta的结果。 最后总结了一下kernel model以及使用情况,这里要特别提醒的是这里提供了无限强大的工具,但是你要仔细的去对症使用。         上一次:kernel logistic regression 如果我们想要把SVM这样的方法用在soft classification上面的话,我们可以用two-level …

All Machine Learning

Machine Learning Techniques Lecture 5: Kernel Logistic Regression

    内容:kernel logistic regression 一开始先把soft-margin SVM解释成一个和logistic regression有关的模型,他所在做的就是L2 regularization,对应到一个特别的hinge error measure。然后把SVM和logistic regression连上关系,SVM几乎就是L2-regularized logistic regression。如果是这样的话,有一个SVM的解,可以透过第二个阶段的训练的方式把它变成一个适用于soft binary classification的。如果硬要在z空间里面真的求解一个logistic regression的问题,也可以透过representer theorem做到,付出的代价是求解用的beta很多都不是0,计算量很大。         …

All Machine Learning

Machine Learning Techniques Lecture 4: Soft-Margin Support Vector Machine

    内容:soft-margin SVM 首先列出soft-margin SVM的形式表达,出发点是不坚持所有的已知数据点不一定全部要分对,所以增加了一个参数用来控制设定违反分类结果的程度。推倒的时候也是一个QP问题,所以同样通过对偶问题来化简求解。soft-margin SVM可以告诉我们的是可以把数据通过alpha的值分为三类,边界上的,边界内的,边界外的,对于我们做资料分析很有用。另外我们还提到可以使用cross validation来选择模型参数。         上一讲:Kernel SVM 目的是通过把Dual SVM的转换和算内积步骤合起来成为Kernel消除空间维度对计算量的影响,这样以后对于任意维度的SVM都能做到。     Soft-margin support vector machine: …

All Machine Learning

Machine Learning Techniques Lecture 3: Kernel Support Vector Machine

    内容: kernel SVM 首先讲了把原来的dual SVM的转换和内积的两步合并为Kernel,通过这样回避了原来SVM计算涉及到的对空间维度的依赖,然后讲了多项式kernel和Gaussian kernel,最后对这些kernel做了简单的比较,如果想要的是效率的话往linear走,想要复杂边界的话往高纬度走。         上一次我们看的是SVM的对偶形式,其新的形式好像跟空间维度D没有关系,可以使用二次规划来求解。     今天来看一下 Kernel support vector machine,把好像拿掉,使SVm的形式真的和空间维度没有关系。     …

All Machine Learning

Machine Learning Techniques Lecture 2: Dual Support Vector Machine

        内容:dual(对偶) support vector machine     告诉大家一个新的SVM问题:SVM的对偶问题。对偶问题的出发点是希望移除维度d对于non-linear SVM运算的影响,然后推导出透过 KKT 条件就可以得到对偶的SVM,KKT条件可以转化为QP形式来求解对偶SVM,但最好需要根据SVM来优化QP的运算过程。解的结果你会发现那些活下来的alpha>0的点有重要意义,就是support vector,就这些直接决定了最胖的分隔线。             回顾:linear …

All Machine Learning

Machine Learning Techniques Lecture 1: Linear Support Vector Machine

    这里讲的是 linear support vector machine     我们的出发点是想要找那个比较胖的分隔线,更加兼容测量错误,然后把问题公式化以后开始简化他直到得到一个二次规划的标准问题,然后就可以求解了,这就是一个完整的方法。然后我们再回头来看这个方法的理论保障是减少了有效的Dvc,这样就可以做得更好,这就是SVM。         课程基本信息。     Coursera 前8周是基石课程,后面8周是技法课程。 华语授课,投影片授课。     …

All Machine Learning

Machine Learning Foundations 16: Three Learning Principles

    总结: Occam’s Razer: 简单是好的 Sampling Bias: 小心抽样的偏差 Data Snooping: 小心不要偷看资料         上一节: 很重要的工具 validation,留下一定的验证资料来模拟测试程序,来衡量和选择比较好的训练模型。     这一节: …