摘要:
本章思路:根据之前的总结,如果M很大,那么无论假设泛化能力差的概率多小,都无法忽略,所以问题转化为证明M不大,然后上章将其转化为证明成长函数:mh(N)为多项式级别。直接证明似乎很困难,本章继续利用转化的思想,首先想想和mh(N)相关的因素可能有哪些?不难想到目前来看只有两个:假设的抽样数据集大小N;break point k(这个变量确定了假设的类型);那么,由此可以得到一个函数B,给定N和k可以确定该系列假设能够得到的最大的mh(N),那么新的目标便是证明B(N,k) <= Poly(N)。这便是本章的主要目标。上图展示了不同N和k如何影响最终的growth function,表达了 阅读全文
摘要:
这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题:为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才能比较确认我们得到坏的数据集的概率比较低,也就是说算法得出的假设和最佳假设在全局表现相同(错误率相等),可是PLA的假设是平面上的直线,不是无数个么?为什么可以正常泛化?为解释这个问题,有了这节以及下面几节的课程可以看到这个问题其实很重要,因为这是我们理解机器为啥能学习的关键一步,因为很多机器学习算法的假设看似都是无限的。下面这个图给出了理解机器为啥能学习的关键:即满足假设个数有限,采样数据足够大是算法泛化 阅读全文
摘要:
2014年第一个月读的书是《罗辑思维》,很偶然的机会看到罗振宇的这个节目,感觉题材没那么新颖,但是内容还是可以的。互联网上需要不同的声音,不管你认不认同,百花齐放才是真正的互联网,这也是互联网的特质,任何人无论多草根都有发言的权力。我们每个人要根据自己的世界观,知识范围去选择性的吸收观点。至少不可否认的两点是,罗是个有梦想并且正在行动的读书人,二,尊重客观事实,有些观点还挺新颖,就像他自己常说的,他只是个搬书匠,虽然我不认同他或者他推荐书的一些观点,但是却很欣赏他的精神,特别是《罗辑思维》全书都专门把一些不同观点列出来,这点很赞。 本书思维导图如下: 就像书中最后一章说的,知识只有抱团,观点. 阅读全文
摘要:
关于NDCG,wiki给点解释很详细,这里我谈谈我的理解。 NDCG(Normalizeddiscounted cumulative gain):是用来衡量排序质量的指标。 其中一种计算公式如下: 先从理解CG,DCG入手。CG(cumulative gain),累积获得,指的是网页gain的累加。例如: 其是个不断累加的值,gain可以使自己定义的一种获得,用来衡量网页的相关性程度,上图中的gain定义如下: DCG(Discounted Cumulative Gain),Discounted的factor为: 那么,NDCG就是被IDEA DCG规格化的值,即DCG/IDCG。 ... 阅读全文
摘要:
提纲:机器学习为什么可能?引入计算橙球概率问题通过用Hoeffding's inequality解决上面的问题,并得出PAC的概念,证明采样数据学习到的h的错误率可以和全局一致是PAC的将得到的理论应用到机器学习,证明实际机器是可以学习 机器学习的大多数情况下是让机器通过现有的训练集(D)的学习以获得预测未知数据的能力,即选择一个最佳的h做为学习结果,那么这种预测是可能的么?为什么在采样数据上得到的h可以认为适用于全局,也就是说其泛化性的本质是什么? 课程首先引入一个情景: 如果有一个装有很多(数量很大以至于无法通过数数解决)橙色球和绿色球的罐子,我们能不能推断橙色球的比例? 很明显的 阅读全文
摘要:
总体思路:各种类型的机器学习分类按照输出空间类型分Y 按照数据标记类型分yn 按照不同目标函数类型分f 按照不同的输入空间类型分X 按照输出空间类型Y,可以分为二元分类,多元分类,回归分析以及结构化学习等,这个好理解,离散的是分类,连续的是回归,到是结构化的学习接触的相对较少,以后有空可以关注下。按照数据标记分可以分为:监督;非监督;半监督;增强学习;下面这张ppt很好的总结了这点:这是围绕标记yn的类型进行分类的,监督和非监督很好理解,半监督和增强其实应用更加普遍,数据的标记大部分时候是需要人来做的,这个条件有时候很难满足(经费不足),那么半监督就有比较好的应用了。用人的学习过程来理解,人按 阅读全文
摘要:
最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正。一机器学习是什么?感觉和Tom M. Mitchell的定义几乎一致,A computer program is said to learn fromexperienceE with respect to some class of tasks T and performance measureP, if its performance at tasks in T, as measured by P, improves with experience E.简而言之,就是我们想要机器在某些方面有提高(如搜索排名 阅读全文
摘要:
在软件开发过程中,不可避免的会遇到错误处理,而且这部分对于整个软件的健壮性有非常大的作用,它是软件除了功能性以外最重要的指标了,一个软件成功与否与其健壮性有很大的联系。我在以前的开发中也时常思考错误处理,因为这部分代码逻辑比较不容易梳理清楚。以异常的处理为例,以前通常就采用比较简单粗暴的处理方式:用try..catch加Exception把所有异常都包起来,这样简单省事,写的代码最少,相信很多童鞋曾经跟我一样写过这样的代码,很明显,这样写有很大的问题,最主要的问题在于:Exception会吃掉所有可以处理的异常,使得对于某些我们关心的异常无法捕获,因为对于不同的异常我们可能需要做不同的处理,有 阅读全文
摘要:
这些天在为以后工作做一些知识储备,所以想从总体上大致了解下搜索引擎的知识框架同时对较为重要的部分有个较为深入的了解。记得在微博上看到有人推荐张俊林同学的这本书,豆瓣上总体评价也不错就买来看了。这篇博客是对一个多月看此书的总结,第二部分用自己的话总结了搜索引擎的知识主线,其中结合了看书的笔记。1 关于书的评价 总体评价的话,此书在讲解具体算法的流程的时候花了很多心思,印象最深刻的是,几乎所有算法都有图例,这一点可看出作者是下了很大功夫的。每章后面都付了本章的参考论文,虽然都是英文论文,但都是相关算法较为权威的参考文献,这点也做得不错,对于不懂的算法可以继续看论文。不足的话,主要感觉的一点是,对. 阅读全文
摘要:
很惭愧在2012年1月末才计划本年度的学习计划,因为一直在想一个问题,是侧重高级算法的学习(机器学习等)还是侧重高级工程类的学习(编译原理,链接等),这两方面是我目前给自己定的学习方向,在我看来,这两方面的学习会给我未来的程序员生涯产生深远的影响。机器学习贯穿数据挖掘和模式识别的始终,同时了解机器学习对于理解人类本身的学习机制也有很好的推动作用,所以我把机器学习定位为在练好基础算法后的进阶... 阅读全文