ML | Cheney Shen | Page 2

Technology blog

Archives

Machine Learning Foundations 14: Regularization


    这里讲的内容: Regularizer hypothesis set 就是在原来 H 的基础上加上条件,这样以后可以把要解的问题转换成 augmented error 的问题,就是把 W 的平方加进去,这代表了我们会降低 effective 的 Dvc,最后我们说到 regularizer 是一个非常 general 的工具,我们可以设计使用 符合目标函数特性的,能说服自己的,又容易优化求解的 来使用。         回顾: ML里面最大的问题就是overfitting,当有太多的power,存在两种noise,数据量又不够多的时候,overfitting很有可能发生。     今天讲的 regularization 可以看作是处理 overfitting 的一种方法,我们首先讲数学推倒,然后延伸到各种不同的变化情况。         右图是我们上次举例的一种典型的overfitting的情况:资料量不多有noise,用了一个高次方多项式来fit,红色线 Ein 很低,但是 Ein 和 Eout(蓝线,目标)差别很大。     我们今天要做的就是从这么不好的情况 变成 左图所示的情况:规则化的fit     我们要怎么做呢? 就是从高次多项式走回到低次多项式的fit。…

Read More

Machine Learning Foundations 13: Hazard of Overfitting


    内容 Ocerfitting 的概念: Ein 变低, Eout 变高 Overfitting 很危险很容易发生,原因是:两种noise,数据不够,目标太复杂 怎么解决 Overfitting:data cleaning/hinting/pruning, 等等,下面的课程继续介绍         上一次我们讲到原来我们的model是线性的,如果我们把linear model配上non-linear的transform,那就产生的非线性的model来扩展我们的学习,代价是付出额外的model的complexity。     今天我们从 complexity 出发,说到这额外的 model complexity 会造成机器学习里面一个很大的困难叫做 overfitting。我们首先将这个困难是如何产生的,然后说要怎么样解决它。         我们先从一个例子出发:     有五个资料点,X是随机产生的,Y则是X代入某个二次函数,再加上一些noise产生。     如果我们假设我们用一四次的多项式来做回归分析,配合五个点,那就是有唯一解,也就是 Ein = 0,就是右边的红色的线,但是你会发现和蓝色的目标函数差距很大,也就是 Eout 很大。     这个叫做:Bad Generation 已有资料做得很好,未知资料结果就不好。 当 Dvc 很大的时候,就会发生这样子 Ein…

Read More

Machine Learning Foundations 12: Nonlinear Transformation


    今天讲的是非线性的变换         上次讲到三个linear model都可以用在各式的classification问题上面,包括二元分类和多元分类的问题。但是这些model的重点是linear的,用线性的方式算一个分数,今天我们要把这个model衍生到non-linear的情况。         Linear hypotheses     如果今天是二元分类的话,视觉上就像切一条线,数学上表示就是 分数 = 权重 * X 这样带来的好处是 VC 维度是受到控制的,复杂度可控,Ein/Eout 不会差别太远。坏处是有些资料不可能用直线可以切分。     因此下面讲的就是如何去突破linear model的限制。         怎么做呢?     对于上面图示的资料来说 资料 D 不是线性可分的,就是不能用直线切分。但是如果我们采用圆圈来切分的话,看起来我是可以把ooxx分开来的。 比较方式是点到圆心的距离的平方,把它跟0.6比,这样一个hypotheses是可以区分这些资料的。     那么可以说上面的资料是圆圈圈可分,这样我们就可以重新设计怎么杨用圆圈圈来做PLA, regression等等。     但是这样太麻烦了吧,因此我们要来考虑怎么样系统化的设计这些演算法。         那我们首先来看看怎么用圆圈圈的方式来做到资料分类呢?…

Read More

Machine Learning Foundations 11: Linear Models for Classification


    我们要从之前学过的binary classification开始来看看我们学过的这些model怎样延伸出来处理更复杂的multi-classification的问题。     内容: 证明可以使用 linear/logistic regression 来求解 binary classification Logistic regression 的加速算法 stochastic gradient descent (SGD):做法就是使用随机梯度来替代真实梯度。 分多类的基本方法 One-Versus-All (OVA):二元就是 二元分类组 求解概率最大的。 分多类的第二种方法 One-Versus-One (OVO):两两配对形成二元分类组,结果当作是投票取最大的。     这一课丰富了 linear classification 下的算法,首先先讲 以前讲的三个 linear 分类方法 都可以来做 binary classificaiotn;再把 logistic regression 延伸到 SGD,然后你会发现其和 PLA 很有关系;最后讲了两种不一样的做 多类别分类的方法 OVO/OVA。             我们上一次讲了logistic…

Read More

Machine Learning Foundations 10: Logistic Regression


    内容: 问题模型 推导Ein 找到 w 使得 Ein 最小 通过梯度下降法计算得到最小的 W         上一次介绍的是 linear regerssion,使用平方错误可以很方便的算出来最好的情况在哪里。 今天我们来看一下 logistic regression 可以用在哪些地方。         我们先来看看 学习流程图: 这里的例子还是医院的系统,我们用机器学习来判断病人有没有心脏病。     左上角说我们拿到的资料是有noise的,我们可以用一个target distribution来描述这个问题,对于这里的这个二元分类问题,target distribution会是一个理想的目标分类函数,就是把目标的分布是大于还是小于1/2,直接得出预测结论。 在这里我们在意的是 classification error,就是二元分类结论对不对。         类似的问题:如果我们想要知道的是病人两三个月后心脏病发的几率是多少。 表示:我们有兴趣的是一个 0-1 的值,不再是二元分类的结论,而是分类结果的可能性值。     这就是我们今天想要探讨的问题 soft binary classification。      …

Read More

Machine Learning Foundations 9: Linear Regression


    内容: Linear regression 的原理和推导过程,就是求解Ein最小化的解。极其重要! Linear regression 的理论 Ein/Eout 平均错误是 2(d+1)/N 证明 linear regression 这个方法可以被用在classification 求解上面,只要其错误衡量是classification的上限         上一节我们讲了再前面花力气证明的二元的VC Bound可以扩展用在各种情况下,也包括这里面要讲的linear regression的情况。     我们来看看演算法上面我们要怎样去设计。         回过头来看银行发信用卡的例子。这里考虑的不是银行要不要给顾客发信用卡,而是要给用户发多少额度的信用卡。     可以继续用前面二元分类使用的learning流程,改动的地方在于学习公式变成了一个输出实数的公式,输出的是给顾客的信用额度数值。     regression问题的特征就是:输出空间是整个实数。         那么我们来考虑到底Hypothesis到底长什么样子输出的才会是实数。     比如例子:顾客资料分数的加权值 和 给用户的信用额度是需要接近的。 和原来perception的区别在于,原来perception算完分数后为了回答正负的问题,需要取正负号来获得最终的结果,而这里直接算完分数就是一个实数,而regression要得就是实数。         如图来表示 linear…

Read More

Machine Learning Foundations 8: Noise and Error


    如何在有noise的情况衡量错误。     内容: 再有杂讯的情况下,我们使用probabilistic函数来做描述(就是y由直接公式得到变成了几率分布)。 错误的衡量方式方式是和使用场景强相关的,我们考虑plausible/friendly的方式来挑选。 最后说 weighted classification 的理论。         到上一节,我们已经讲完了机器学习最重要的工具Dvc。 如果我们的H集合的Dvc是有限的,我们有足够多的资料,且Ein又很低,那么我们就大概学到了东西。     这里我们将说的是在原来Dvc推倒的时候设立了一些假设,我们怎么样放宽一些假设让Dvc可以应用到更广泛的机器学习问题中去。         以前讲到: 我们有一个 distribuction,由此得到 examples 的 x,未来做测试的时候我们采用的也是同样的 distribuction。 我们有一个 target function,这个target function会产生一堆的 examples 的 y。 我们需要通过这些带有 (x,y) 的资料,在一堆 h集合里面找出好的 h (Ein 很小,且 Ein 等于 Eout)     在这基础之上我们来考虑noise,会不会对之前的整个理论推到产生影响呢?      …

Read More

Machine Learning Foundations 7: The VC Dimension


    介绍Dvc是什么:最大的non break point。 从 perception 上来说就正好是 d+1。 从物理意义上来说就是有多少个自由度。 Dvc可以用来决定我们大概需要多少资料,让你不需要再去考虑H的细节,一个变量就决定了其性质。         上节课讲过的:我们可以确保我们的Ein(训练时的表现)和Eout(测试的时候的表现)一致,当我们的成长函数露出一线曙光且资料量足够大。     从这里触发我们可以引入 VC 维度的概念。         如果我们的成长函数在K处露出一线曙光,这个成长函数会被某个上限函数bound住,这个上限函数又会被某个多项式bound住,这个多项式的次方是K-1次方。     我们把上限函数的表格列出来,然后再把N的k-1次方列出来,我们来做比较。当N,K比较大的时候(这里N>2,K>3的时候),我们发现 N的K-1 次方就已经比我们的上限函数都大了,也就是说比我们的成长函数来得大。     因此我们就可以得到 我们的成长函数 会被 N的K-1次方 bound住。就化简了多项式。         上一节课证明的是:如果在我的H集合里面有任何一个h发生坏事情,这件事的几率很小很小,小的边界是:     这个结论的意义是,既然我们保证了大部分的时候都不会有坏的事情发生,也就是说我们的演算法被bound的情况下做的选择,这时候做出的选择g,这个g的Ein,Eout离得很远的几率也很小很小。     然后我们将上面的成长函数里面的 m 也可以替换成 N的K-1次方,如上面的式子的结论。这个替换的要求是N,k够大,原来的推倒的条件是N够大,这里更加严格要求k也要够大。     结论:所以下面两个条件让我们可以做机器学习:…

Read More

Machine Learning Foundations 6: Theory of Generalization


    一般化理论:机器是如何做到举一反三的     内容: 只要你有一个breakpoint,他其实是对未来每一个的数量都加上了很大的限制,也就是上面公式的数学归纳法,最后可以得到上限可以用一个多项式来表示,这个多项式可以取代原来公式中的M,从而证明2维情况下有了一个breakpoint一定是可以学习的。         上一节讲到: 因为M无限大的时候没有办法做机器学习,因此提出了成长函数m来取代M。     这里将探讨两个问题: 这个m到底是不是长得很慢 这个m如果真的长得很慢,那到底其能不能取代M         首先回顾一下m的定义: 这个有 N 个资料的 h 到底最多能有多少个 dichotomies(二分) Break point就是第一个小于 2 的 N 次方个 dichotomies 的地方     再是四个上次的举例的情况回顾。     上次讲的一个非常重要的知识点就是:当k是breakpoint的时候,K + … 都是breakpoint。         假设: 我有一个hypotheses,他最小的breakpoint在2的地方。意思就是任意取h中两个点都不存在完整的四种情况(oo/ox/xo/xx)。     也就是说:…

Read More

Machine Learning Foundations 5: Training versus Testing


    训练和测试过程:     首先把learning拆解成两个问题: Ein/Eout相似;Ein约等于0 然后考虑合并M的情况能有几种,也就是成长函数 growth function 再考虑成长函数的性质,到底从哪里开始出现曙光,就是break point             上一节讲到在一定条件下机器学习是可行的。 这里开始探讨无限大的 h 会造成什么样的问题。         当前的learning的整个流程图: 学习算法透过学习资料和g,通过前面的概率理论基础选择一个h。 上一节加上了两个条件: 训练资料和测试方法都来自同样的足够大的资料集,保证Ein、Eout相似 选一个Ein最小的h就可以得到一个Eout最接近0的最好结果 即可达到学习的效果。     上面12分别解释一下其实就是: 让Ein 接近0,让结果符合当前资料 让Ein 接近 Eout,让结果符合未知的资料,测试更准确         回顾一下过去四堂课学的内容 我们的数据符合的是位置的规则f,我们的盐酸法希望找出的是g,两者接近。也就是Eout(g)接近0。 我们从已有的资料可以让 Ein(g) 接近0。 我们是在一个很特定的情况下去做机器学习,就是有哪些学习类别。 处理Ein/Eout的关系:Eout 接近 Ein 最好  …

Read More
Page 2 of 3123
  • Categories

  • Tags