Press "Enter" to skip to content

Posts published in August 2018

精读西瓜书(第四章-决策树)-多变量决策树

写在前面 今天, 我们继续学习决策树的最后一个小节, 多变量决策树. 本文中的内容会比较少, 也为大家留下了查漏补缺的时间, 如若前面有些问题还未弄清楚, 可以适当的补充数学知识, 倒回去看前面的内容. 学而时习之, 可以为师矣. 多变量决策树 若我们把每个属性视为坐标空间中的一个坐标轴, 则 个属性描述的样本就对应了 维空间中的一个数据点, 对样本分类则意味着在这个坐标空间中寻找不同类样本的分类便捷. 决策树所形成的分类边界有一个明显的特点: 轴平行(axis-parallel), 即它的分类边界由若干个与坐标轴平行的分段组成. 这样的分类边界使得学习结果有较好的可解释性, 因为每一段划分都直接对应了某个属性取值. 但在学习任务的真实分类边界比较复杂时, 必须使用很多段划分才能获得较好的近似. 此时的决策树会相当复杂,…

精读西瓜书(第四章-决策树)-剪枝处理, 连续与缺失值

写在前面 在这篇文章中, 我们将会介绍决策树中的剪枝处理, 连续值与缺失值处理. 剪枝处理 剪枝(Pruning)是决策树学习算法对付'过拟合'的主要手段. 决策树剪枝的基本策略有'预剪枝'(Prepruning)和'后剪枝'(Postpruning). 预剪枝是指在决策树生成过程中, 对每个节点在划分前先进行估计, 若当前节点的划分不能带来决策树泛化性能提升, 则停止划分并将当前结点标记为叶结点; 后剪枝则是先从训练集生成一颗完整的决策树, 然后自底向上地对非叶结点进行考察, 若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升, 则将该子树替换为叶结点. 在这里, 我们可以使用留出法, 即预留一部分数据用作'验证集'以进行性能评估. 预剪枝 预剪枝基于信息增益准则, 预剪枝使得决策树的很多分值都没有'展开', 这不仅降低了过拟合的风险, 还显著减少了决策树的训练时间开销和测试时间开销. 另一方面, 有些分值的当前划分虽不能提升泛化性能,…

精读西瓜书(第四章-决策树)-基本流程, 划分选择

写在前面 在上一个章节中, 我们学习了线性模型. 在这篇文章中, 我们将会继续学习决策树相关的一些知识. 基本流程 决策树(Decision Tree)是一种常见的机器学习方法. 以二分类任务为例, 我们希望从给定训练数据集学的一个模型用以对新示例进行分类, 这个把样本分类的任务, 可以看做对'当前样本属于正类吗?'这个问题的'决策'或'判定'过程. 顾名思义, 决策树是基于树结构来进行决策的, 这恰是人类在面临决策问题时一种很自然的处理机制. 一般的, 一棵决策树, 包含一个根节点, 若干个内部节点和若干个叶节点; 叶节点对应于决策结果, 其他每个节点则对应于一个属性测试; 每个节点包含的样本集合根据属性测试的结果被划分到子节点中; 根节点包含样本全集. 从根节点到每个叶节点的路径对应了一个判定测试序列. 决策树学习的目的是为了产生一颗泛化能力强,…

精读西瓜书(第三章-线性模型)-类别不平衡问题

写在前面 今天我们继续学习类别不平衡问题, 本文中主要对处理类别不平衡问题的方法做了一定的介绍. 类别不平衡问题 前面介绍的分类学习方法都有一个通通的基本假设, 即不同类别的训练样例数目相当. 如果不同类别的训练样例数目稍有差别, 通常影响不大, 但若差别很大, 则会对学习过程造成困扰. 类别不平衡(Class-Imbalance)就是指分类任务中不同类别的训练样例数目差别很大的情况. 不失一般性, 本节假设正类样例较少, 反类样例较多. 在现实的分类学习任务中, 我们经常会遇到类别不平衡. 从线性分类器的角度讨论容易理解, 在我们用 对新样本 进行分类时, 事实上是在用预测出的 值与一个阈值进行比较. 例如通常在 时判别为正例, 否则为反例.…

精读西瓜书(第三章-线性模型)-线性判别分析, 多分类学习

写在前面 在这篇文章中, 我们继续学习线性判别分析与多分类学习小节中的内容. 本文中涉及到的数学问题与名词比较多, 数学不好的同学也不害怕, 先过一遍, 有个概念之后就知道如何去查找解决不懂的问题了. 后续笔者也会相应的补充一些数学类的文章更新上来, 学习有个过程, 不要害怕未知, 每天学一点, 积累下来, 久而久之, 回头一看, 会发现自己已经不是曾经那个自己, 早已走远. 线性判别分析 线性判别分析(Linear Discriminant Analysis, 简称LDA), 是一种经典的线性学习方法, 在二分类问题上因为最早由Fisher提出, 亦称'Fisher判别分析'. LDA的思想非常朴素:…

精读西瓜书(第三章-线性模型)-基本形式, 线性回归, 对数几率回归

写在前面 在这篇文章中, 我们继续学习线性模型, 如果时间地点允许, 我希望读者能拿着笔纸, 跟着一起推导一遍, 相信你会受益颇深. 基本形式 给定由d个属性描述的示例 , 其中 是 在第 个属性上的取值, 线性模型(Linear Model)试图学得一个通过属性的线性组合来进行预测的函数, 即: 一般用向量形式写成: 其中 , 和 学得之后, 模型就得以确定. 线性模型形式简单, 易于建模,…

精读西瓜书(第二章-模型评估与选择)-偏差与方差

写在前面 这篇文章中, 我们接着学习偏差与方差部分. 在学习的同时, 对于数学基础不是太好的童鞋, 最好能准备好google, 或者备一本<概率导论>. 偏差与方差 '偏差-方差分解'(Bias-Variance Decomposition): 是解释学习算法泛化性能的一种重要工具. 偏差-方差分解试图对学习算法的期望泛化错误率进行拆解. 我们知道, 算法在不同训练集上学的的结果很可能不同, 即便这些训练集是来自同一个分布. 对测试样本 , 令 为 在数据集中的标记, 为 的真实标记, 为训练集 上学的模型 在…

精读西瓜书(第二章-模型评估与选择)-性能度量, 比较检验

写在前面 在这篇文章中, 我们将继续学习模型评估与选择中的性能度量与比较检验这两个小节. 这两个小节中涉及到的概念性的东西比较多, 我们提炼了一些比较重要的点出来进行讲解. 性能度量 性能度量(Performance Measure): 对学习器的泛化性能机型评估, 不仅需要有效可行的实验估计方法, 还需要有度量模型泛化能力的评价标准, 这就是性能度量(Performace Measure). 性能度量反映了任务需求, 在对比不同模型的能力时, 使用不同的性能度量往往会导致不同的评判结果; 这意味着模型的'好坏'是相对的, 什么样的模型是好的, 不仅取决于算法和数据, 还决定于任务需求. 在预测任务中, 给定样例集 , 其中 是示例…

精读西瓜书(第二章-模型评估与选择)-经验误差与过拟合, 评估方法

写在前面 今天我们继续读第二个章节, 模型评估与选择. 在这篇文章中, 我们重点探讨经验误差与过拟合, 评估方法这两个小节中的内容. 经验误差与过拟合 错误率(Error Rate): 分类错误的样本数占样本总数的比例. 如果在m个样本中, 有a个样本分类错误, 则错误率 . 精度(Accuracy): 精度 = 1 - 错误率 , . 误差(Error): 学习器的实际预测输出与样本的真实输出之间的差异被称为误差. 学习器在训练集上的误差称为'训练误差'(Training…

精读西瓜书(第一章-绪论)

写在前面 周志华老师的<机器学习>, 又被称为西瓜书, 每次读都会有一种耳目一新的感觉. 这次在微信公众号发起了西瓜书精读活动, 很多童鞋的需求都很强烈, 希望在我们一起努力下, 能对书中的知识有更深刻的认知. 机器学习是目前火热的人工智能领域中的一门大学科, 其中对高数, 线代, 统计学, 概率论的要求极高. 在看这个系列文章的同时, 如果遇见看不懂的公式或者名词, 可以适量的补充一些数学知识. 相信我们都会有所进步! 在这篇文章中, 我们对机器学习的基本概念与名词做了解释. 在学习完这个章节之后, 你会对机器学习有个大概的认知, 并且了解一些基本术语, 假设空间, 以及理解归纳偏好的概念. 引言…