终极算法

推荐序

  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. 数据无法代替人类的直觉? 人类直觉无法代替数据?