首先从介绍了Large_margin Separating Hyperplane的概念. (在linear separable的前提下)找到largest-margin的分界面,即最胖的那条分界线.下面开始一步步说怎么找到largest-margin separating hyperplane. 接下来,林特意强调了变量表示符号的变化,原来的W0换成了b(这样的表示利于推导:觉得这种强调非常负责任,利于学生听懂,要不然符号换来换去的,谁知道你说的是啥) 既然目标是找larger-margin s…
这节课内容介绍了SVM的核心. 首先,既然SVM都可以转化为二次规划问题了,为啥还有有Dual啥的呢?原因如下: 如果x进行non-linear transform后,二次规划算法需要面对的是d`+1维度的N个变量,以及N个约束 如果d`的维度超大,那么二次规划解起来的代价就太大了.因此,SVM的精髓就在于做了如下的问题转化: 不需要问太深奥的数学,知道为啥要dual的motivation就可以了. 这里再次搬出前人的智慧:Lagrange Multipliers 但是这里跟ridge regr…
上节课讲了Kernel的技巧如何应用到Logistic Regression中.核心是L2 regularized的error形式的linear model是可以应用Kernel技巧的. 这一节,继续沿用representer theorem,延伸到一般的regression问题. 首先想到的就是ridge regression,它的cost函数本身就是符合representer theorem的形式. 由于optimal solution一定可以表示成输入数据的线性组合,再配合Kernel T…
在NNet这个系列中讲了Matrix Factorization感觉上怪怪的,但是听完第一小节课程就明白了. 林首先介绍了机器学习里面比较困难的一种问题:categorical features 这种问题的特征就是一些ID编号这类的,不是numerical的. 如果要处理这种情况,需要encoding from categorical to numerical 最常用的一种encoding方法就是binary vector encoding(也是实习工作中用过的路子),将binary vecto…
这节课的题目是Deep learning,个人以为说的跟Deep learning比较浅,跟autoencoder和PCA这块内容比较紧密. 林介绍了deep learning近年来受到了很大的关注:deep NNet概念很早就有,只是受限于硬件的计算能力和参数学习方法. 近年来深度学习长足进步的原因有两个: 1)pre-training技术获得了发展 2)regularization的技术获得了发展 接下来,林开始介绍autoencoder的motivation. 每过一个隐层,可以看做是做了…
这节课主要讲述了RBF这类的神经网络+Kmeans聚类算法,以及二者的结合使用. 首先回归的了Gaussian SVM这个模型: 其中的Gaussian kernel又叫做Radial Basis Function kernel 1)radial:表示输入点与center点的距离 2)basis function:表示‘combined’ 从这个角度来看,Gaussian Kernel SVM可以看成许多小的radial hypotheses的线性组合(前面的系数就是SV的alphan和yn)…
首先从单层神经网络开始介绍 最简单的单层神经网络可以看成是多个Perception的线性组合,这种简单的组合可以达到一些复杂的boundary. 比如,最简单的逻辑运算AND  OR NOT都可以由多个perception构成的单层神经网络模拟. 但是,单层感知器神经网络能力再强也是有限的,有些逻辑也无法完成.比如,XOR异或运算. 这个时候,就很自然地引出了多层神经网络. 通过这个例子,可以看到多层的神经网络的表达能力要比单层的要强. 上面给出了看待神经网络的一种方式: 1)从原始输入开始一直…
总体来说,林对于random forest的讲解主要是算法概况上的:某种程度上说,更注重insights. 林分别列举了Bagging和Decision Tree的各自特点: Random Forest就是这二者的结合体. 1)便于并行化 2)保留了C&RT的优势 3)通过bagging的方法削弱了fully-grown tree的缺点 这里提到一个insights:如果各个分类器的diversity越大,aggregation之后的效果可能就越好. 因此,Random Forest不仅样本是b…
首先沿着上节课的AdaBoost-Stump的思路,介绍了Decision Tree的路数: AdaBoost和Decision Tree都是对弱分类器的组合: 1)AdaBoost是分类的时候,让所有的弱分类器同时发挥作用 2)Decision Tree是每次根据condition让某个弱分类器发挥作用 林强调了一点,Decision Tree很多套路都是前人的insights,觉得这用好就这样处理了,没有那么完备的理论保证. 从递回的角度,可以这样看Decision Tree: Decisi…
首先用一个形象的例子来说明AdaBoost的过程: 1. 每次产生一个弱的分类器,把本轮错的样本增加权重丢入下一轮 2. 下一轮对上一轮分错的样本再加重学习,获得另一个弱分类器 经过T轮之后,学得了T个弱分类器,再将这T个弱分类器组合在一起,形成了一个强分类器. 由于每一轮样本的权重都在变化,因此分类器学习的目标函数也产生了变化: 无论是SVM还是Logistic Regression都可以用这种方式学习,给每个样本增加不同的权重. 接下来问题就变成了,如何调整样本的权重?目的是什么? 林介绍了…