机器学习基础
张荣华_csdn
这个作者很懒,什么都没留下…
展开
-
精确率(查准率)、召回率(查全率)和F1值
TP:将正类预测为正类的个数FN:将正类预测为负类的个数FP:将负类预测为正类的个数TN:将负类预测为负类的个数精确率(查准率)precision: P=TP/(TP+FN)召回率(查全率)recall: R=TP/(TP+FN) 精确率越高,召回率会降低,召回率越高,精确率会降低。 为了平衡精确率与召回率,使用F1值。F1值为精确率和召回率的调和平均值...原创 2018-04-18 17:07:10 · 3929 阅读 · 0 评论 -
监督学习和无监督学习
监督学习指的是利用一组已知类别的样本调整分类器的参数,使其达到所要求的性能的过程。无监督学习指的是根据类别未知的训练样本来解决模式识别中的各种问题。常见的监督学习算法:LR、NB、KNN、SVM、RF、GBDT、XgBoost、AdaBoost等常见的无监督学习算法:K-means、Apriori、FP-Growth、DBSCAN等...原创 2018-04-18 17:12:18 · 891 阅读 · 0 评论 -
生成模型和判别模型
生成模型:生成方法由数据学习联合概率分布,然后求出条件概率分布作为预测的模型,即生成模型。判别模型:由数据直接学习决策函数或者条件概率分布作为预测的模型,即判别模型。生成模型与判别模型的比较:生成模型: 1生成方法可以还原出联合概率分布,而判别方法不能 2生成方法的学习收敛速度更快 3当存在隐变量时,仍然可以使用生成方法学习,而判别方法则不能。判别模型: 1判别方法...原创 2018-04-18 17:19:00 · 286 阅读 · 0 评论 -
过拟合和欠拟合
什么是过拟合? 模型拟合过度,在训练集上表现好,在测试集上效果差。什么是欠拟合? 模型拟合不够,在训练集上表现效果差,没有充分利用数据,预测准确率低。导致过拟合的原因? 1.训练数据集样本单一,不能覆盖所有的数据类型 2.噪声干扰较大 3.模型过于复杂如何解决过拟合的问题? 1.在训练和建立模型的时候,从相对简单的模型开始,不要一上来就把模型调得...原创 2018-04-18 17:26:31 · 242 阅读 · 0 评论 -
自助法
自助法以自助采样法为基础,给定包含m个样本的数据集D,我们对它进行采样产生数据集D';每次随机从D中挑选一个赝本,将其拷贝放入D',然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,就得到了包含m个样本的数据集D',这就是自助采样的结果。 自助法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集中产生多个不...原创 2018-05-13 16:25:35 · 6031 阅读 · 0 评论 -
交叉验证
交叉验证的基本想法是重复地使用数据,把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。简单交叉验证方法是:首先随机地将已给数据分为两部分,一部分作为训练集,一部分作为测试集,然后用训练集在各种条件下训练模型,从而得到不同的模型,在测试集上评估各个模型的测试误差,选出测试误差最小的模型。K折交叉验证:首先随机地将已给数据切分为K个互不相关的的大小相...原创 2018-06-02 17:45:04 · 611 阅读 · 0 评论 -
特征选择
特征选择在于选取对训练数据具有分类能力的特征,如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的,经验上扔掉这样的特征对决策树学习的精度影响不大。通常特征选择的准则是信息增益(ID3)或信息增益比(C4.5)。...原创 2018-06-02 17:50:31 · 630 阅读 · 0 评论 -
信息增益与互信息
信息增益表示得知特征空间X的信息而使得类Y的信息不确定性减少的程度。信息增益依赖于特征,不同的特征往往具有不同的信息增益,信息增益大的特征具有更强的分类能力。特征A对训练数据集D的信息增益 ,定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即通常,熵H(Y)与条件熵H(Y|X)之差称为互信息,决策树学习中的信息...原创 2018-06-02 17:53:13 · 3744 阅读 · 0 评论 -
求信息增益
输入:训练数据集D和特征A输出:特征A对训练数据集D的信息增益g(D,A)1.计算数据集D的经验熵H(D)2.计算特征A对数据集D的经验条件熵H(D|A)3.计算信息增益g(D,A)=H(D)-H(D|A)...原创 2018-06-02 17:56:02 · 1012 阅读 · 0 评论 -
信息增益比
特征A对训练数据集D的信息增益比定义为其信息增益与训练数据集D关于特征A的值的熵 之比,即:,n为特征A取值的个数。信息增益g(D,A)求法如下:原创 2018-06-03 00:02:08 · 3415 阅读 · 0 评论 -
开发机器学习应用程序的步骤
1.搜集数据。如制作网络爬虫从网站上抽取数据、从RSS反馈或者API中得到信息、设备发送过阿里的实测数据。2.准备输入数据。得到数据之后,还必须确保数据格式符合要求。3.分析输入数据。此步骤主要是人工分析以前得到的数据。这一步的主要作用是确保数据集中没有垃圾数据。如果是在产品化系统中使用机器学习算法并且算法可以处理系统产生的数据格式,或者我们新人数据来源,可以直接跳过。4.训练算法。机器学习算法的...原创 2018-06-03 00:02:27 · 699 阅读 · 0 评论 -
线性判别分析(LDA)
LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。什么意思呢? 我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。 线性判别分析的算法流程...原创 2018-06-05 08:06:48 · 753 阅读 · 0 评论 -
KNN 回归算法
KNN 算法也能够用于回归预测。KNN 算法用于分类的方法如下:首先,对于一个新来的预测实例,我们在训练集上寻找它的最相近的 K 个近邻;然后,采用投票法将它分到这 K 个邻居中的最多的那个类。但是,怎么将 KNN 算法用于回归呢?其实大致的步骤是一样的,也是对新来的预测实例寻找 K 近邻,然后对这 K 个样本的目标值取均值即可作为新样本的预测值。...原创 2018-06-15 08:46:10 · 5898 阅读 · 1 评论 -
kd树
Kd树是一种对K维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。Kd树是二叉树,表示对k维空间的一个划分。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域。Kd树的每一个结点对应于一个k维超矩形区域。 构造kd树的方法如下: 构造根结点,使得根结点对应于k维空间中包含所有实例点的超矩形区域;通过下面的递归方法,不断地对k维空...原创 2018-06-09 07:57:38 · 985 阅读 · 0 评论 -
利用kd树实现最近邻搜索
输入:已经构造的kd树,目标点x;输出:x的最近邻1在kd树中找出包含目标点x的叶节点:从根结点出发,递归地向下访问kd树。若目标点x当前维的坐标小于切分点的坐标,则移动到左叶子结点,否则移动到右叶子结点。直到子节点为叶节点为止。2以此叶节点为“当前最近点”3递归地向上回退,在每个结点进行以下操作:a.如果该结点保存的实例点比当前最近点距离目标点更近,则以该实例点为“当前最近点”b.当前最近点一定...原创 2018-06-09 07:57:53 · 1991 阅读 · 0 评论 -
朴素贝叶斯
朴素贝叶斯法是典型的生成学习算法,是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布,然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。...原创 2018-06-10 09:51:34 · 287 阅读 · 0 评论 -
类别不平衡问题
类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况。解决的方法有三种:1.直接对训练集里的反类样例进行“欠采样”去除一些反例使得正、反例数目接近,然后再进行学习;2.对训练集里的正类样例进行“过采样”增加一些正例使得正、反例数目接近,然后再进行学习;3.直接基于原始训练集进行学习,但在训练好的分类器进行预测时,采用“再缩放”的策略,将预测概率乘上一个缩放因子,缩放因子为反例数与正例数之...原创 2018-06-10 09:51:26 · 503 阅读 · 0 评论 -
决策树算法中导致递归返回的三种情况
1.当前结点包含的样本全属于同一类别,无需划分;2.当前属性集为空,或是所有样本在所有属性上取值相同,无法划分3.当前结点包含的样本集合为空,不能划分。...原创 2018-06-10 09:51:16 · 3384 阅读 · 0 评论 -
预剪枝的优缺点
预剪枝是指在决策树生成过程中,对每个结点在划分前先进性估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。预剪枝是的决策树的很多分支都没有“展开”,这不仅降低了过拟合的风险,还显著减少了决策树的训练时间开销和测试时间开销。但是另一方面,有些分支的当前划分虽不能提升泛化性能,甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高;预剪枝基于...原创 2018-06-10 09:51:03 · 2461 阅读 · 0 评论 -
缺失值处理
缺失值处理需要解决两个问题:1.如何在属性值缺失的情况下进行划分属性选择?2.给定划分属性,若样本在该属性上的值确实,如何对样本进行划分?对于第一个问题:解决的方法是,在计算信息增益的时候乘上一个系数,该系数为无缺失值样本所占的比例。对于第二个问题:解决的办法是,将缺失样本x同时划入所有子结点,且样本权值乘上一个系数,该系数为无缺失值样本中在属性a上取值为不同类别的样本所占的比例。...原创 2018-06-10 09:50:54 · 679 阅读 · 0 评论 -
Apriori关联规则
Apriori算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据集中,如果我们找到了频繁出现的数据集,那么对于超市,我们可以优化产品的位置摆放,对于电商,我们可以优化商品所在的仓库位置,达到节约成本,增加经济效益的目的。 输入:数据集合D,支持度阈值αα ...原创 2018-06-26 08:59:39 · 576 阅读 · 0 评论 -
隐马尔可夫模型及其基本假设
隐马尔可夫模型(hidden Markov model,HMM)时刻用于标注问题的统计学习模型,描述由隐藏的马尔科夫链随机生成观测序列的过程,属于生成模型。 隐马尔可夫模型是关于时序的概率模型,描述一个由隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐藏的马尔科夫链随机生成的状态的序列称为状态序列;每个状态生成一个观测,而由此产生的观测的...原创 2018-06-23 00:37:22 · 7146 阅读 · 0 评论 -
FP-growth发现频繁项集
FP Tree算法包括三步: 1)扫描数据,得到所有频繁一项集的的计数。然后删除支持度低于阈值的项,将1项频繁集放入项头表,并按照支持度降序排列。 2)扫描数据,将读到的原始数据剔除非频繁1项集,并按照支持度降序排列。 3)读入排序后的数据集,插入FP树,插入时按照排序后的顺序,插入FP树中,排序靠前的节点是祖先节点,而靠后的是子孙节点。如果有共用的祖先,则对应的公用祖先节点计数加1。插入后,...原创 2018-06-27 00:01:45 · 553 阅读 · 0 评论 -
球树
球树类似于KD树,球树的分割块是超球体。建树流程如下:1.先构建一个超球体,这个超球体是可以包含所有样本的最小球体;2.从球中选择一个离球的中心最远的点,然后选择第二个点离第一个点最远,将球中所有的点分配到离这两个聚类中心最近的一个上,然后就散每个聚类的中心,以及聚类能够包含它所有数据点所需的最小半径。这样我们得到了两个子超球体,和KD树里面的左右子树对应。3.对于这两个子超球体,递归执行步骤2,...原创 2018-07-09 00:10:39 · 3153 阅读 · 0 评论 -
利用球树搜索最近邻
使用球树找出给定目标的最近邻方法是首选自上而下贯穿整棵树找出包含目标点所在的叶子,并在这个球里面找出与目标点最近邻的点,这将确定出目标点距离它的最近邻点的一个上限值,然后跟KD树查找一样,检查兄弟结点,如果目标点到兄弟结点中心的距离超过兄弟结点的半径与当前的上限值之和,那么兄弟结点里不可能存在一个更近的点,否则的话,必须进一步检查位于兄弟结点一下的子树。检查完兄弟结点后,我们向父结点回溯,继续搜索...原创 2018-07-09 00:10:30 · 1752 阅读 · 0 评论 -
KNN算法优缺点
KNN的主要优点有:1.理论成熟,思想简单,既可以用来做分类又可以做回归2.可以用于非线性分类3.训练时间复杂度比支持向量机之类的算法低3.和朴素贝叶斯之类的算法比,对数据没有假设,准确度高,对异常点不敏感4.由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属的类别,因此对于类域的交叉或重叠较多的待分类样本集来说,KNN方法较其他方法更为适合5.该算法比较适用于样本容量比较...原创 2018-07-09 00:10:19 · 34934 阅读 · 1 评论 -
伯努利分布
如果随机变量X只取0和1两个值,并且相应的概率为:则称随机变量X服从参数为p的伯努利分布,若令q=1一p,则X的概率函数可写为:原创 2018-07-09 00:11:54 · 2631 阅读 · 0 评论 -
感知机模型
感知机模型是二类分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,由输入空间到输出空间的如下函数: 称为感知机。W和b为感知机模型参数,w叫做权值,b叫做偏置。感知机sign(w.x+b)学习的损失函数定义为 ,其中M为误分类点的集合。...原创 2018-07-01 23:39:43 · 267 阅读 · 0 评论 -
感知机学习算法的原始形式
感知机学习算法是误分类驱动的,具体采用随机梯度下降法,首先,任意选取一个超平面 , ,然后用梯度下降法不断地极小化目标函数 。极小化过程中不是一次使M中所有误分类点的梯度下降,二十一次随机选取一个误分类点使其梯度下降。感知机学习算法的原始形式:输入:训练数据集T,学习率 输出:w,b;感知机模型 。...原创 2018-07-01 23:44:41 · 876 阅读 · 0 评论 -
感知机学习算法的直观解释
当一个实例点被误分类,即位于分离超平面的错误一侧时,则调整w,b的值,使得分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直到超平面越过该误分类点使其被正确分类。...原创 2018-07-01 23:46:09 · 312 阅读 · 0 评论 -
感知机学习算法的对偶形式
最后学习到的w,b可以分别表示为:对偶形式中训练实例仅以内积的形式出现,为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储。...原创 2018-07-01 23:47:44 · 478 阅读 · 0 评论 -
KNN的k该如何选择
K值较小,则模型复杂度较高,容易发生过拟合,学习的估计误差会增大,预测结果对近邻的实例点非常敏感。K值较大可以减少学习的估计误差,但是学习的近似误差会增大,与输入实例较远的训练实例也会对预测起作用,使预测发生错误,k值增大模型的复杂度会下降。在应用中,k值一般取一个比较小的值,通常采用交叉验证法来来选取最优的K值。...原创 2018-07-01 23:48:56 · 9618 阅读 · 0 评论 -
kd树
Kd树是一种对K维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。Kd树是二叉树,表示对k维空间的一个划分。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域。Kd树的每一个结点对应于一个k维超矩形区域。构造kd树的方法如下: 构造根结点,使得根结点对应于k维空间中包含所有实例点的超矩形区域; 通过下面的递归方法,不断地对k维空间进行切...原创 2018-07-02 00:10:29 · 2199 阅读 · 0 评论 -
利用kd树实现最近邻搜索
输入:已经构造的kd树,目标点x;输出:x的最近邻1在kd树中找出包含目标点x的叶节点:从根结点出发,递归地向下访问kd树。若目标点x当前维的坐标小于切分点的坐标,则移动到左叶子结点,否则移动到右叶子结点。直到子节点为叶节点为止。2以此叶节点为“当前最近点”3递归地向上回退,在每个结点进行以下操作: a.如果该结点保存的实例点比当前最近点距离目标点更近,则以该实例点为“当前最近点” b.当...原创 2018-07-02 08:14:37 · 805 阅读 · 0 评论 -
批量梯度下降算法BGD
批量梯度下降法(Batch Gradient Descent,简称BGD)是梯度下降法最原始的形式,它的具体思路是在更新每一参数时都使用所有的样本来进行更新,也就是方程中的m表示样本的所有个数。优点:全局最优解;易于并行实现;缺点:当样本数目很多时,训练过程会很慢。...原创 2018-07-02 08:14:48 · 690 阅读 · 0 评论 -
随机梯度下降法(SGD)
随机梯度下降法(SGD):它的具体思路是在更新每一参数时都使用一个样本来进行更新,也就是方程中的m等于1。每一次跟新参数都用一个样本,更新很多次。如果样本量很大的情况(例如几十万),那么可能只用其中几万条或者几千条的样本,就已经将theta迭代到最优解了,对比上面的批量梯度下降,迭代一次需要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次,这种跟新方式计算复杂度太...原创 2018-07-02 08:14:55 · 1314 阅读 · 0 评论 -
小批量梯度下降法MBGD
小批量梯度下降法(Mini-batch Gradient Descent,简称MBGD):它的具体思路是在更新每一参数时都使用一部分样本来进行更新,也就是方程中的m的值大于1小于所有样本的数量。为了克服上面两种方法(批量梯度下降BGD和随机梯度下降SGD)的缺点,又同时兼顾两种方法的优点。如果样本量比较小,采用批量梯度下降算法。如果样本太大,或者在线算法,使用随机梯度下降算法。在实际的一般情况下,...原创 2018-07-02 08:15:02 · 1433 阅读 · 0 评论 -
朴素贝叶斯算法
朴素贝叶斯法是典型的生成学习算法,是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布,然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。...原创 2018-07-02 00:10:18 · 204 阅读 · 0 评论 -
拉普拉斯平滑
使用贝叶斯算法时,用极大似然估计可能会出现所要估计的概率值为0的情况,会影响到后验概率的计算,使得分类产生偏差,如何解决这一问题?采用贝叶斯估计:在随机变量各个取值的频数上赋予一个整数 ,当 =0时就是极大似然估计,常取 =1,这时成为拉普拉斯平滑。先验概率变为: ,条件概率类似。...原创 2018-07-02 00:10:04 · 2354 阅读 · 1 评论 -
决策树模型
决策树模型是一种基本的分类与回归方法。学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型,预测时,对新的数据,利用决策树模型进行分类。决策树学习通常包括3个步骤:特征选择、决策树的生成,决策树的剪枝。常见的决策树模型有ID3(信息增益)、C4.5(信息增益比)、CART算法等。...原创 2018-07-02 10:30:38 · 2317 阅读 · 0 评论