
于剑
这是一本基于公理研究学习算法的书。共17章,由两部分组成。第一部分是机器学习公理以及部分理论演绎,包括第1、2、6、8章,论述学习公理以及相应的聚类、分类理论。第二部分关注如何从公理推出经典学习算法,包括单类、多类和多源问题。第3~5章为单类问题,分别论述密度估计、回归和单类数据降维。第7、9~16章为多类问题,包括聚类、神经网络、K近邻、支持向量机、Logistic回归、贝叶斯分类、决策树、多类降维与升维等经典算法。最后第17章研究了多源数据学习问题。本书可以作为高等院校计算机、自动化、数学、统计学、人工智能及相关专业的研究生教材,也可以供机器学习的爱好者参考。
《机器学习:从公理到算法》拆解 作者:于剑 一、一句话概括 本书试图从“类怎样被表示、样本怎样被归入类”这组基本公理出发,统一推导密度估计、回归、聚类、分类、降维、核方法和多源学习等经典机器学习算法。 二、核心逻辑 多数机器学习教材按照算法类别逐一介绍,本书则采用“从公理到算法”的理论路线。 全书的核心路径是: 从数据中寻找知识 → 用公理定义类和归类 → 根据问题中的类数量与数据来源建立理论 → 从理论推出具体学习算法 内容可以分为三层: 1. 基础理论:机器学习框架、类表示公理、归类公理、聚类理论和分类理论。2. 单类与多类算法:密度估计、回归、降维、聚类、神经网络、KNN、SVM、Logistic回归、贝叶斯分类和决策树。3. 复杂数据:监督式降维、核方法以及多源数据学习。 作者希望说明,看似分散的算法可以从少数共同问题中理解:什么是类、如何衡量归属、怎样从样本中恢复类的结构。 三、核心内容 1. 机器学习的目的,是从数据中形成可使用的知识 数据只是对对象和现象的记录,知识则是能够用于解释、预测或决策的规律。 机器学习的一般过程包括: 确定对象与任务;选择样本和特征;建立数据表示;定义目标或损失;从样本估计模型;在新数据上验证;将结果用于预测或决策。 如果数据与任务没有正确对应,算法只能从错误表示中提取表面规律。 2. “类”是组织机器学习问题的核心概念 分类和聚类都围绕“类”展开,但类并非天然存在于数据中。 一个类需要回答: 哪些对象属于它;类由规则、原型还是分布表示;类内对象为什么相似;不同类之间怎样区分;对新对象如何判断归属;类的边界是否确定。 不同的类表示会产生不同算法。例如,以中心为类表示会导向原型聚类,以概率分布表示则会导向密度和贝叶斯方法。 3. 公理化方法试图从少数基本假设组织算法 本书提出类表示与归类相关公理,希望用更基础的原则解释算法为什么成立。 公理化思路的价值在于: 明确算法依赖的假设;发现不同算法的共同结构;区分定义、推导和经验技巧;帮助设计新的学习方法;避免只记忆公式和流程。 但这套公理框架是作者对机器学习的理论组织方式,不是学界唯一公认的基础体系。其价值还需要通过解释力、可检验性和算法效果判断。 4. 单类问题关注一个数据集合自身的结构 当数据只来自一个总体或一个类时,常见任务包括: 估计数据分布;预测连续目标;压缩维度;学习低维表示;发现潜在因素;判断新样本是否符合已有分布。 密度估计、回归和无监督降维都可以放在单类学习框架下理解。 5. 密度估计描述数据怎样分布 密度估计希望根据有限样本,恢复数据出现的概率规律。 参数方法先假设分布形式,例如高斯分布,再估计有限参数。其优点是样本效率高、模型简洁,缺点是假设错误时会产生系统偏差。 非参数方法较少限制分布形状,例如核密度估计。它更加灵活,却通常需要更多数据,并受到带宽和维度影响。 高维空间中的密度估计尤其困难,因为数据会变得非常稀疏。 6. 回归学习输入与连续目标之间的函数关系 线性回归假设目标是特征的线性组合,并通过最小化误差估计参数。 其优势是计算简单、解释清晰,可以作为重要基线。 当特征多、样本少或变量高度相关时,普通回归容易不稳定。正则化通过惩罚参数控制复杂度: 岭回归使用L2惩罚;Lasso使用L1惩罚并产生稀疏解。 模型拟合与参数约束之间的平衡,需要通过验证数据选择。 7. 降维试图保留重要结构并减少复杂度 高维数据会增加计算、噪声和过拟合风险。 主成分分析寻找方差最大的正交方向,把数据投影到较低维空间。 非负矩阵分解在非负约束下学习部件式表示,字典学习与稀疏表示则用少量基向量组合样本。 局部线性嵌入、MDS和Isomap等方法尝试保留局部邻域或几何距离。 不同降维方法保留的结构不同,没有统一最优方案。 8. 典型关联分析寻找两组变量的相关表示 典型关联分析处理两组特征,寻找各自的线性组合,使组合后的相关性最大。 它适合研究两种数据视角之间的联系,例如图像与文本、行为与属性。 该思想也为多视图和多模态学习提供了基础:不同数据源可能描述同一对象的不同方面,可以通过共享表示建立联系。 9. 聚类是在没有标签时发现类结构 聚类没有真实类别作为直接监督,因此结果高度依赖距离、密度和类表示假设。 聚类需要明确: 相似性如何定义;类是否呈球形、层次或任意形状;类数量是否已知;是否允许噪声点;不同密度怎样处理;结果怎样评价。 同一数据使用不同算法可能得到不同但都合理的划分。 10. 层次聚类从样本关系建立树状结构 层次聚类可以从每个样本单独成类开始,逐步合并相近的类;也可以从所有样本开始逐步拆分。 不同链接方式决定怎样计算类之间距离: 单链接关注最近样本;全链接关注最远样本;平均链接关注整体平均;Ward方法关注类内方差增长。 层次结构能够展示不同粒度的分类,但对距离和异常值比较敏感。 11. 原型聚类用中心或代表点描述类 K-means用类中心表示聚类,通过“分配样本—更新中心”反复迭代。 它计算高效,却隐含类接近球形、尺度相似等假设,并需要预先指定K值。 中心对异常值敏感,因此某些方法使用真实样本作为代表点。 原型方法适合结构相对清晰的数据,不适合复杂形状和密度差异很大的类。 12. 密度聚类从高密度区域发现类 密度聚类把高密度连接区域视为簇,并把低密度位置视为边界或噪声。 这类方法可以发现非球形结构,也能识别离群点。 其效果依赖邻域半径、最小样本数等参数。在不同区域密度变化明显时,同一组参数可能难以兼顾所有簇。 13. 分类理论关注已知类别下的新样本归属 监督分类拥有带标签样本,目标是学习从特征到类别的映射。 分类模型可以从不同角度建立: 学习每个类的数据分布;直接学习类别边界;根据邻近样本判断;用规则逐步切分;把分类转换为回归;最小化错误风险或最大化效用。 算法差异背后,是对类、边界和损失的不同假设。 14. 神经网络通过多层非线性学习分类函数 感知机是简单线性分类器,神经网络则叠加多个线性变换和激活函数,表达复杂边界。 训练过程通过前向传播计算输出,再用反向传播计算梯度并更新参数。 深度学习能够自动学习表示,减少部分人工特征工程。 但网络容量大,训练依赖数据、初始化、优化、正则化和计算资源。复杂度提高不保证泛化一定改善。 15. 受限玻尔兹曼机代表早期生成式深度学习路线 受限玻尔兹曼机通过可见变量和隐藏变量之间的能量关系建模数据分布。 它曾被用于无监督预训练和深度信念网络。 随着ReLU、归一化、更大数据和更好的优化方法发展,RBM在主流实践中的地位下降。 但它仍有助于理解能量模型、隐变量和生成式学习的历史演进。 16. K近邻直接利用局部样本进行分类 KNN找到距离新样本最近的K个训练样本,再根据类别投票。 距离加权KNN让更近的样本拥有更大影响。 该方法简单,没有复杂训练过程,但预测成本较高,并对以下因素敏感: 特征尺度;距离定义;K值;无关特征;高维稀疏;类别不平衡。 kd树等结构可以在适当维度下加快近邻搜索,但在高维中效果会下降。 17. 线性判别模型直接寻找分类边界 线性分类器使用超平面划分类别。 感知机通过误分类样本更新参数,对线性可分数据可以收敛。 支持向量机寻找最大间隔边界,使分类面尽量远离最近样本。只有靠近边界的支持向量直接决定结果。 最大间隔能够提高稳定性,软间隔和惩罚参数则允许部分训练错误,以换取更好的泛化。 18. Logistic与Softmax回归输出类别概率 Logistic回归把线性函数通过Sigmoid转换为二分类概率。 Softmax回归将这一思想扩展到多分类,输出各类别的归一化概率。 它们属于判别模型,直接学习输入和标签之间的关系。 输出概率是否可信,还需要检查校准情况。高置信度不一定等于真实正确率很高。 19. 贝叶斯决策把概率与错误代价结合 贝叶斯分类器根据类条件概率和先验概率计算后验,并选择最合适的类别。 朴素贝叶斯假设给定类别后,各特征条件独立。这个假设通常不完全真实,却能在文本等高维稀疏任务中表现良好。 最小风险分类进一步考虑不同错误的代价,而不是只追求最低错误率。 效用最大化则把决策结果的收益纳入选择。模型评价因此应与实际损失一致。 20. 决策树通过规则切分特征空间 决策树反复选择特征和切分点,使子节点中的类别更加纯净。 ID3使用信息增益,C4.5使用增益率,CART常使用Gini指数并形成二叉树。 树模型易于解释,能够表达非线性和特征交互。 如果树持续生长,容易过拟合。预剪枝和后剪枝通过限制结构提高泛化能力。 21. 有监督降维利用类别信息 无监督降维只关注数据结构,不一定保留对分类最重要的信息。 有监督特征选择根据标签挑选原始变量,有监督特征提取则学习新的低维组合,使不同类别更容易区分。 其风险是标签信息参与变换后容易造成数据泄漏,因此所有选择和提取步骤都必须在训练数据内部完成。 22. 核方法把线性算法扩展到非线性空间 核方法不显式计算高维映射,而是通过核函数计算样本在隐式特征空间中的内积。 这样,线性SVM可以在隐式高维空间中形成非线性边界。 常见核包括: 线性核;多项式核;高斯径向基核。 核与参数选择决定模型的平滑程度和复杂性。 核方法在中小规模数据上强大,但样本很大时计算和存储成本可能较高。 23. 多核学习组合不同相似性 不同核函数可以表达数据的不同结构。 多核学习希望自动组合多个核,让模型利用不同特征组、尺度或数据源的相似性。 这与集成学习和多视图学习相似:多个不完全相同的表示如果能够合理融合,可能优于单一表示。 24. 多源学习处理同一问题的多个数据来源 现实对象常同时具有文本、图像、传感器、用户行为和结构化属性。 多源学习需要判断: 不同来源描述的是同一样本还是相关样本;各来源是否共享类结构;信息是否互补;是否存在冲突和缺失;各来源可信度怎样;怎样对齐样本与特征。 简单拼接所有数据可能让噪声和尺度问题加剧。有效方法需要同时保留共享信息和来源特有信息。 25. 多源学习的关键是明确基本假设 融合数据之前,应说明假设: 一致性:不同来源对同一结构有共同认识;互补性:各来源提供不同有效信息;相关性:来源之间存在可学习联系;可靠性:不同来源噪声程度不同;可对齐性:样本或语义可以建立对应关系。 如果这些假设不成立,融合可能比单一来源表现更差。 26. 公理化框架提供统一视角,但仍需实证支撑 本书最大的特色,是尝试用类表示和归类公理组织各种算法。 这种路线有助于读者从“为什么这样建模”理解算法,而不是停留在公式调用。 但公理选择本身也包含理论立场。判断框架是否有效,需要观察: 是否能统一解释已有算法;是否能推出新的可用算法;是否能产生可检验结论;是否能帮助解决现实问题;与统计学习等其他理论相比有何优势。 四、本书最值得关注的核心观点 本书最值得关注的观点是: 机器学习算法的差异,很多时候来自对“类是什么、怎样判断归属”的不同回答。 K-means把类看成中心周围的样本,密度聚类把类看成高密度连通区域,贝叶斯方法把类看成概率分布,SVM关注类之间的最大间隔边界,决策树则用一组层次规则表示类别。 一旦理解每种算法背后的类表示和归类假设,就能判断它适合什么数据、会在哪里失败,而不必把算法当作互不相关的公式集合。 五、一段话总结 《机器学习:从公理到算法》以“类表示”和“样本归类”为理论核心,试图从少数公理统一理解机器学习算法。全书从密度估计、线性与正则化回归、PCA、矩阵分解、稀疏表示和流形降维,扩展到层次聚类、K-means、密度聚类、神经网络、KNN、感知机、SVM、Logistic与Softmax回归、贝叶斯决策和决策树,再讨论有监督降维、核方法、多核学习和多源数据融合。其最有价值的学习方法,是追问每个算法怎样表示类、怎样定义相似或边界、依赖哪些数据假设,而不是孤立记忆公式。公理化体系属于作者具有探索性的理论组织方式,并非唯一公认标准,但它为理解算法之间的共同结构提供了一条独特路径。
反对目前最高赞的点评。只是希望喜欢理论的人不要错过这本书。 目前的最高赞的评论,因为1% 而否认其余的99%内容。而且,加一些古文挺好的,开胃小菜,会心一笑。退一万步讲,在The Elements of Statistics Learning 没上架的情况下(如果有这本书当我放屁),这本书是能找到的,最全面,理论性最强的书。
这本书并不理论性,甚至可以说绝大部分内容太浅显了。你需要了解的除了基础数学之外,无非多了解点条件概率,积分,链式法则,矩阵运算,再加点拉格朗日乘子法的知识。有人说这本书偏理论,我寻思连可学性,VC维,遗憾界,泛化界,这些重要的理论概念都没讲。说起理论性,远远赶不上周志华那本《机器学习理论导引》。 这本书也不自成一派,作者自创的公理演绎法则看起来是多余的,可以去掉。 这本书也并不深入,只是分门别类讲述了不同常见学习方式的理论基础,却缺乏相应的进一步分析。比如,为什么L1回归和L2回归各有各的特性?这些需要严格的数学证明,可惜本书也找不到。 为什么很多人说这本书很高深?高深在哪里?
很不错的一本书!虽然有一定数学门槛,但是主要是逻辑符号系统,用来表示一般的概念,只是作者可能没打算把它写成一本科普读物,有一些提法不是学数学或者计算机的读者会觉得晦涩难懂,比如说机器学习可解释性的提法,说白了就是放弃模拟人脑解决问题的方式,也就是放弃逻辑推理和因果理论,这是第一次人工智能遭遇瓶颈后学界探索的一个重要方向。
不推荐阅读,理由有两个: 1.公理化理论并不能增强机器学习技术的应用,这个和几何原理可以应用完全不是同等范畴的事情; 2.把纯技术的内容和古文硬联系一下,说浅了是没法让一般人get到相应的梗,说深了,就是胡乱联系,卖弄知识。
刚开始读这本书,随手翻,发现很多数学逻辑表达,初步印象作者是从基础理论来写这本书,但是稍微仔细去看,就有牵强附会,故做高深的姿态,甚至还有狗尾续貂,不知所云!真怀疑作者对ML的理解程度。初学者不适合,甚至数学专业的对ML研究,这本书也… 寻找理论支持的可以稍微读读做参考,其实还是找国外专著教材比较好。 只是个人观点(也可能是我理解力有问题)[衰]
南周北于,是为国内之先行权威,此书略奥深,有数学基础者读之为上。
强烈建议北京某所高校,能不能不要以这本书为课本,真的有点难懂
感觉不太适合普通学生作为机器学习入门,晦涩难懂,老师上课也讲的让人昏昏欲睡
作者对机器学习的一些语言说明,非常有价值。至于公里,我看不懂,都忽略了。除了那些公里,其他部分我读的津津有味。 想问问作者,有没有PPT啊,如果有,那么就是雪中送炭,感激涕零。