终极算法

推荐序

  1. 在不远的将来,了解机器学习并有能力利用机器学习改进自己工作的人在职业发展上具备巨大的优势。不要和人工智能对抗,要让人工智能为你服务是作者诚挚的忠告。而要利用好积极学习这个工具,并不一定需要读一个计算机博士学位,但有必要了解一些基本的概念,了解各种技术的优缺点和能力边界。

  1. 学习算法是把数据变成算法。它们掌握的数据越多,算法也就越精确。
  2. 机器学习的核心就是预测。
  3. 机器学习5个学派
    • 符号学派将学习看作逆向演绎,并从哲学,心理学,逻辑学,中寻求洞见。逆向演绎
    • 联结学派对大脑进行逆向分析,灵感来源于神经科学和物理学。反向传播
    • 进化学派在计算机上模拟进化,并利用遗传学和进化生物学知识。遗传编程
    • 贝叶斯学派认为学习是一种概率推理形式,理论根基在于统计学。贝叶斯推理
    • 类推学派通过相似性判断的外推来进行学习,并受心理学和数学最优化的影响。支持向量机

第一章*机器学习革命

  1. 机器学习是人工智能的子领域。
  2. 机器学习与美国选举。p022

第二章*终极算法

  1. 这本书的假设: 所有知识,无论是过去的,现在的还是未来的,都有可能通过单个通用学习算法来从数据中获得。
  2. 我们通过反复研究尝试许多被选方法来解决问题,选择并改进最优方案,并尽可能多的尝试这些步骤。进化论是一种算法。
  3. P(Polynomial time) 是指那些能在多项式时间内由确定性图灵机解决的问题。简单说,就是这些问题有已知的、效率还不错的算法能在合理时间内求解。比如快速排序、归并排序,时间复杂度是 O(n log n)。如 Dijkstra 算法可以解决图中两个点之间的最短路径。
  4. NP(Nondeterministic Polynomial time) 指那些虽然我们可能找不到快速解法,但可以在多项式时间内验证一个给定解是否正确的问题。旅行商问题(TSP):给定一个城市列表和它们之间的距离,是否存在一条路径访问所有城市一次且总距离小于 K?很难找最优解,但如果有人给你一条路径,你可以快速计算它的长度,验证是否小于 K。
  5. NP 完全问题是最难的 NP 问题,具有以下两个特性:1. 它本身是 NP 问题。2. 所有其他 NP 问题都可以在多项式时间内归约到它上面。布尔可满足性问题(SAT):给定一个布尔逻辑公式,是否存在一个变量赋值使整个公式为真?这是第一个被证明为 NP 完全的问题(Cook 定理,1971)。
  6. 机器学习讨论概率,而知识工程学讨论逻辑。本书后面会提到如何解决这个问题。
  7. 数据无法代替人类的直觉? 人类直觉无法代替数据?
  8. 物理定律只会告诉我们局部会发生的事情。
  9. 五大学派基础简介 p066
  10. 洞察力和坚持才是最重要的东西。

第三章*符号学派:休谟的归纳问题

  1. 理性主义者认为,感官会欺骗人,而逻辑推理是通往知识的唯一可靠的道路。法国人是理性主义者?评论员,律师,数学家,理论家,知识工程师
  2. 经验主义者认为所有的推理都是不可靠的,知识必须来源于观察及实验。盎格鲁-撒克逊(法国人就这样称呼他们)是经验主义者。记者,医生,科学家,黑客,计算机学习者
  3. 074
  4. conjunctive concept 合取概念,所有幸福的家庭都是相似的,每个不幸的家庭各有各的不幸。
  5. 为了感到幸福,你需要健康,爱,朋友,钱,你喜欢的工作等。把这些东西的任意一个拿走,痛苦也会随之而来。
  6. 过拟合问题overfitting是机器学习中的中心问题。是指模型在训练数据上表现很好(误差很小),但在未见过的新数据(测试数据或实际应用中)表现很差。换句话说,模型“记住了”训练数据的细节和噪声,而没有学到真正的通用规律。
  • 比喻:过拟合就像背题:考试前你把练习题全背下来了,考试如果题目一模一样,你能全对;但如果换了稍微不同的题,你可能不会做,因为你没学会解题方法,只学了答案。
  1. 好的学习算法永远在无知与幻觉的夹缝中行走。
  2. 学习就是你拥有的数据的数量和你所做假设数量之间的较量。
  3. 偏差(Bias)模型平均来说偏离了目标多少。P100
  4. 方差(Variance)模型对训练数据的敏感程度,即当你换一批训练数据,模型预测结果波动有多大。
  5. 符号学家选择的算法是决策树归纳

第四章*联结学派:大脑如何学习

  1. 超空间是一把双刃剑:一方面,空间的维度越高,它越有可能存在高度复杂的表面和局部最优解。另一方面,被困在局部最优解中,意味着被困在每个维度中,所以被困在多维中的难度会比困在三维中的难度大。
  2. 神经网络第一次取得大的成功是准确预测股票市场。因为神经网络可以在噪声很大的数据中探测到微小非线性,它们打败线性模型。
  3. “反向传播”(Backpropagation)是神经网络中的一种关键算法,用于训练模型、调整权重,以最小化预测误差。它是梯度下降算法的实现方式之一。通过链式法则计算误差对每个参数的偏导数,然后用这些导数来更新参数(权重和偏差)。
  4. 联结学派更喜欢用一个简单手写编写的结构,加上许多连接行为,然后让权值学习来完成所有工作。

第五章*进化学派:自然的学习算法

  1. 遗传编程的第一次成功是在1995年,也就是成功设计了电子电路。
  2. 在<<爱丽丝镜中世界奇遇记>>中,红桃皇后对爱丽丝说,全力奔跑,这样你才能留在原地。
  3. 进化寻求好的结构,而神经学习则填满这些结构:这样的结合是我们走向终极算法最简单的一步。
  4. 最重要的是,机器学习的目标是尽可能找到最好的学习算法,利用一切可能的方法,而进化和大脑不可能提供学习算法。进化的产物有很多明显的错误。
  5. 例如,哺乳动物的视觉神经和视网膜前端而不是后端相连,这样会引起不必要的(而且异乎寻常的)盲点,就在中心凹旁边,而这里是视觉最敏锐的地方。活细胞的分子生物学原理非常混乱,分子生物学家常常自嘲道,只有对分子生物学一点也不懂的人才会相信智能设计。

第六章*贝叶斯学派:在贝叶斯教堂里

  1. P(A | B) = P(A)P(B | A)P(B)
  2. 对于贝叶斯学派来说,学习只是另一种形式的概率推理。你需要做的只是运用贝叶斯定理,把假设当作可能的原因,把数据当作观察到的效果: P(A | B) = P(A)P(B | A)P(B) , A=假设 , B=数据

第七章*类推学派:像什么就是什么

  1. 类比是推动许多历史上最伟大科学进步的动力。
  2. 最近邻算法:最近邻算法”(Nearest Neighbor Algorithm)是一种基于距离度量的分类或回归算法,属于**惰性学习(lazy learning)**范畴。它的核心思想是:给定一个新样本,找到训练集中与其“最近”的样本(或几个样本),然后使用这些邻居的标签来进行预测。
  • ✅ 优点
  • 简单直观,易于实现。
  • 无需训练过程(懒惰学习)。
  • 对少量数据效果好。
  • ❌ 缺点
  • 计算量大(测试时需遍历所有训练数据)。
  • 对**高维数据(维度灾难)**不适用。
  • 对噪声敏感。
  • 需要合理选择 K 值和距离度量。