京公网安备 11010802034615号
经营许可证编号:京B2-20210330
为什么机器学习真的可以学到东西
开始跟《机器学习基石》这门课,相对于Stanford那门课,这门明显难度大很多,我跟到第10个Lecture,才刚刚讲到Logistic Regression。前面费了很大力气在讲机器什么时候可以学习,以及证明为什么能学习。
此文主要是基于《机器学习基石》的学习笔记。Topic是为什么机器可以学习?
机器学习最开始也是最终的目的是获得一个target function,喂进去数据能直接得到正确结论的函数。为了得到这个函数,我们需要一大堆的训练数据。然后通过一个好的机器学习算法,从一大堆可能的function(也就是H)中挑选一个比较好的function(也就是g),这个g和target function长得越像越好。
大家有没有想过,为什么这样就能学到东西。我们的算法只是在训练数据上跑,从训练数据跑出来的g,我们怎么能确定它也能在测试数据上跑的很好呢?这个就是问题的关键。其实接下来内容主要就是论证这个问题。
先来考虑一个简单的问题。比如说我们现在有一个黑罐子,里面有很多弹珠,只有两种颜色,黄的和绿的。好现在问你,你怎么能知道黄色弹珠大概有多少颗?
大家肯定都会说抽样。没错,我们抽出10个弹珠,很容易能知道黄色弹珠在sample中的比例。但是这个比例真的能代表罐子中的比例吗?也许能,也许不能。而且能的记录会随着我们sample数目的增大而增大。但是也有可能你抓出一把全绿。但这种情况发生的记录很小。这里我们有一个定理保证这种偏差发生的记录很小。
Hoeffding's inequality可以保证偏差很大发生的几率很小,并且随着N的增大很减小。公式如下,v代表sample中黄色弹珠的比例,μ表示罐子中黄色弹珠的比例。ϵ也就是偏差。
现在我们称v为Ein,μ为Eout,现在我们已经证明了Ein和Eout不会差的太远,更重要的事情是保重Ein越小越好,这就需要一个好的算法。
还记得上面的学习流程吗,我们的算法是从很多个h中去挑选一个Ein最小的h让它成为g。但是这里会有坏事情发生。
所谓的坏事情就是bad sample,就是说我们抽出了十个全是绿的弹珠。现在有一个好的h称之为h1,和坏的h叫h2,h1对于这个bad sample的表现当然是糟糕的,而恰好h2表现很好,那h2就被选成g了。
当出现坏事的时候,我们学习就会困难,可以直接说不能学习。所以这个坏事出现的概率是多少呢?把所有h中发生坏事的几率加起来。
从上图的式子中可以看到,坏事发生的几率和M有关。M也就是h的个数。
从现在的条件来看,如果M很大甚至无线的话那么Learning是不可行的。
真实的情况是M一般不会很大,请再仔细看看上一张图的推导,M是通过把所有的h坏事发生的概率加起来的,但是其实这些h不是互相独立的。所以这些h是有重复的,如下图。
比如说,我们想学习的target function是一条把x1分类成正负的线。现在h就有无数个,因为任意一条线都能分类,但是实际有意义的只有两种,分成正的和负的。
如果是两个点的话,实际有效的h就有4种,但是3个点就有可能不到8种了,因为会出现三点共线的情况。4个点的话按理说有16种,但是同样有一种情况不会发生,请看下图。
所以现在我们的公式就变成了这样,大大减小M的个数
现在我们给上面effective(N)一个称呼,叫做成长函数。也就是说,对于某一个输入D,H最多能够产生的多少种方程。注意是种类的数量。
这个所谓的种类我们也给一个定义叫做dichotomy,用来表示H对与D的二元分类情况。
好,现在问题的关键,就是H到底能把D分成多少个dichotomy。也就是它的成长函数到底是多少?
但是我们很难确定它的成长函数。但是好在我们拥有一个叫做break point的东西,这就是成长函数的上限。我们再看回上面分类的例子。
这里的输入为三个点就是一个break point。也就是说当输入N个点,H不能够把这个N个点的排列组合全部表示出来时(2^N),N就是一个break point。
当H能把N的全部组合表示出来时,说明这N个点被H给shatter掉了
我们用B(N,k)来表示当输入N个点时,H可以最多产生多少个dichotomy。
通过数学归纳法我们可以证明到
现在到了最后一步,除了把上边那个成长函数的上限代入进去之外,还需要进行一系列的变形,这些变形需要很强的数学能力和概率上面的知识,我自己都不太懂,况且我觉得大部分人都不需要了解。这里我就略过,有兴趣的强人自己google咯。
最终的式子如下
好了,现在我们终于能说机器学习确实可以学到东西了。但是需要满足三个条件。
这三者的关系如下图。
dvc = k - 1,大致上可以把它看出theta的维度加1
上图很清晰的说明,并不是说你的模型搞得很复杂,算法弄得很好,就能学好,反而是取到一个折中的点,这样的学习才最有效。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据分析、业务监控、运营复盘等场景中,列值趋势计算是核心需求之一。无论是分析销售额的月度增长、用户活跃的变化趋势、库存 ...
2026-06-12在数字经济深度渗透的当下,消费者的购买行为已从过去的 “被动接受” 转变为 “主动决策”。流量红利消退、获客成本攀升、用户 ...
2026-06-12CDA三级认证是三个级别中的塔尖,全面考察数据战略、团队领导和复杂项目的综合能力。它所对应的《敏捷数据挖掘》教材,不再局限 ...
2026-06-12在游戏产业的商业逻辑中,付费玩家是支撑游戏生存与发展的核心支柱。行业普遍遵循 “二八定律”:20% 的付费玩家贡献了游戏 80% ...
2026-06-11【核心关键词】企业、定位、传统、产品、互联网、可视化、业务侧、数字化、结构化、数据分析、传统制造业、市场状态、发展空间 ...
2026-06-11 解读《CDA二级教材:量化策略分析(2025)》的全景结构与学习逻辑 ” CDA二级认证是企业招聘数据分析师时最常提及的证书门槛 ...
2026-06-11【核心关键词】药企、可视化、营销、分类、数据分析师、销售数据、业务人员、指导方向、分析报告、营销数据、营销医生 【专访摘 ...
2026-06-10在统计学分析、问卷调研、实验验证、业务复盘等场景中,卡方检验与 T 检验是应用最广泛的两类基础假设检验方法。前者专门处理分 ...
2026-06-10 很多数据分析师每天都在计算指标、制作报表,但当被问到“什么叫指标数据元”“指标数据标准包含哪些核心维度”“指标数据质 ...
2026-06-10在MySQL数据库日常查询、数据统计、后台接口开发、数据导出等场景中,开发者经常需要查询数据表除某几列之外的所有字段。例如查 ...
2026-06-09在Python网络请求、爬虫开发、接口测试、数据抓取等实操场景中,requests库是最常用的第三方请求工具,而content属性是requests ...
2026-06-09 数据分析正在重塑每一个行业。CDA认证的三本官方教材,分别对应Level I、Level II、Level III,为你铺就从业务数据分析到数 ...
2026-06-09在数字财务、智慧财税、业财融合深度推进的当下,传统财务模式下数据标准混乱、业务流程碎片化、知识无法沉淀、系统互通性差等问 ...
2026-06-08随着数字经济深度渗透各行各业,数据正式成为继土地、劳动力、资本、技术之后的第五大生产要素,是企业数字化转型、精细化运营、 ...
2026-06-08 很多数据分析师能熟练写SQL、做透视表,但当被问到“数据是从哪里来的?经过哪些加工才进入数据仓库?ETL具体做了什么?”时 ...
2026-06-08【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-05在数据库数据查询、业务报表统计、多表关联分析中,LEFT JOIN左连接是使用率最高的SQL关联查询语句。其核心特性是保留左表全部数 ...
2026-06-05 很多数据分析师能熟练地写SQL、做透视表、算描述性统计,但当被问到“如何预测用户流失概率”“如何归因销量下滑的关键因素 ...
2026-06-05任何一款产品从诞生、普及到最终退出市场,都会遵循一套固定的发展规律,这就是产品生命周期理论。在市场竞争日益激烈、产品迭代 ...
2026-06-04在Excel数据分析、办公统计、业务报表制作场景中,数据透视表是数据汇总、分类统计、快速复盘的核心工具,能够高效完成海量原始 ...
2026-06-04