![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
机器学习
机器学习
SpringHeather
这个作者很懒,什么都没留下…
展开
-
机器学习(17)--欠拟合、过拟合及其解决方法
在我们机器学习或者训练深度神经网络的时候经常会出现欠拟合和过拟合这两个问题,但是,一开始我们的模型往往是欠拟合的,也正是因为如此才有了优化的空间,我们需要不断的调整算法来使得模型的表达能拿更强。但是优化到了一定程度就需要解决过拟合的问题了,这个问题也在学术界讨论的比较多。(之前搜了很多有的博客,讲的都不太全,因此我重新整理总结了一遍,同时加入了自己的理解,方便自己和后来人查阅)首先就是我们在进行模型训练的时候会出现模型不能够很好地拟合数据的情况,这个时候就需要我们来判断究竟现在的模型是欠拟合还是过.原创 2020-05-26 20:34:47 · 858 阅读 · 0 评论 -
机器学习(16)--常用机器学习算法优缺点及其应用领域
决策树一、 决策树优点1、决策树易于理解和解释,可以可视化分析,容易提取出规则。2、可以同时处理标称型和数值型数据。3、测试数据集时,运行速度比较快。4、决策树可以很好的扩展到大型数据库中,同时它的大小独立于数据库大小。二、决策树缺点1、对缺失数据处理比较困难。2、容易出现过拟合问题。3、忽略数据集中属性的相互关联。4、ID3算法计算信息增益时结果偏向数值比较多的特征。三、改进措施1、对决策树进行剪枝。可以采用交叉验证法和加入正则化的方法。2、使用基于决.原创 2020-05-26 20:34:04 · 328 阅读 · 0 评论 -
机器学习(15)--机器学习算法模型评价指标
【导读】在机器学习研究或项目中使用分类精度、均方误差这些方法衡量模型的性能。当然,在进行实验的时候,一种或两种衡量指标并不能说明一个模型的好坏,因此我们需要了解常用的几种机器学习算法衡量指标。 本文整理介绍了7种最常用的机器学习算法衡量指标:分类精度、对数损失、混淆矩阵、曲线下面积、F1分数、平均绝对误差、均方误差。相信阅读之后你能对这些指标有系统的理解。1.分类精度当我们使用“准确性”这个术语时,指的就是分类精度。它是正确预测数与样本总数的比值。只有当属于每个类的样本数量相等时...原创 2020-05-26 20:33:39 · 928 阅读 · 0 评论 -
机器学习(14)--网格搜索GridSearchCV,随机搜索RandomizedSearchCV
GridSearchCVGridSearchCV的名字其实可以拆分为两部分,GridSearch和CV,即网格搜索和交叉验证。这两个概念都比较好理解,网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数,这其实是一个循环和比较的过程。GridSearchCV可以保证在指定的参数范围内找到精度最高的参数,但是这也是网格搜索的缺陷所在,它要求遍历所有可能参数的组合,在面对大数据集和多参数的情况下,非常耗时。这也是我通常..原创 2020-05-26 20:30:10 · 1646 阅读 · 0 评论 -
机器学习(13)--一个完整机器学习项目流程总结
1. 实际问题抽象成数学问题这里的抽象成数学问题,指的我们明确我们可以获得什么样的数据,目标是一个分类还是回归或者是聚类的问题,如果都不是的话,如果划归为其中的某类问题。2. 获取数据获取数据包括获取原始数据以及从原始数据中经过特征工程从原始数据中提取训练、测试数据。机器学习比赛中原始数据都是直接提供的,但是实际问题需要自己获得原始数据。“ 数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限”,可见数据在机器学习中的作用。总的来说数据要有具有“代表性”,对于分类问题,数据偏斜不能过于严重原创 2020-05-26 20:29:48 · 201 阅读 · 0 评论 -
机器学习(12)--特征选择
特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型、算法都有着重要作用。特征选择主要有两个功能:减少特征数量、降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解拿到数据集,一个特征选择方法,往往很难同时完成这两个目的。通常情况下,我们经常不管三七二十一,选择一种自己最熟悉或者最方便的特征选择方法(往往目的是降维,而忽略了对特征和数据理解的目的)。在许多机器学习相关的书里,很难找到原创 2020-05-23 22:37:20 · 2498 阅读 · 0 评论 -
机器学习(11)--模型融合方法概述
我理解的Kaggle比赛中提高成绩主要有3个地方特征工程 调参 模型融合之前每次打比赛都只做了前两部分,最后的模型融合就是简单的加权平均,对于进阶的Stacking方法一直没尝试,这几天摸索了一下还是把Stacking方法给弄懂了。(本文重点讲解Stacking,Bagging和Boosting有很多权威的好教程,所以不详细介绍)最早的Stacking思想早些年就有论文发表,但是应用Stacking方法到比赛中的相关文章还是少之甚少,这有两篇https://mlwave.com/kaggle.原创 2020-05-23 20:05:31 · 788 阅读 · 0 评论 -
机器学习(10)--PCA 和LDA
PCA,LDA——简述要求:原数据协方差矩阵变换成对角矩阵(非对角线数据全为零)Ps:非对角线矩阵为零是因为特征线性无关原数据协方差矩阵不是对角矩阵是因为现在选择的基向量不好,变换后,选择好的基向量原理:实对称矩阵一定能转换成对角阵对角线上的值为特征值,大小决定了特征向量的重要程度(降维的关键)目标:分子越大越好(类间距越大越好),分母越小越好(同类分布越密集越好)化简为上图所示加入约束条件λ表示特征向量的重要程度(降维的关键)PCA和LDA区...原创 2020-05-23 20:02:39 · 308 阅读 · 0 评论 -
机器学习(9)--神经网络
首先什么是人工神经网络?简单来说就是将单个感知器作为一个神经网络节点,然后用此类节点组成一个层次网络结构,我们称此网络即为人工神经网络(本人自己的理解)。当网络的层次大于等于3层(输入层+隐藏层(大于等于1)+输出层)时,我们称之为多层人工神经网络。1、神经单元的选择 那么我们应该使用什么样的感知器来作为神经网络节点呢?在上一篇文章我们介绍过感知器算法,但是直接使用的话会存在以下问题: 1)感知器训练法则中的输出 由于sign函数时非连续函数,这使得它不可微,因而不能使用上面的梯度原创 2020-05-20 09:53:47 · 1773 阅读 · 0 评论 -
机器学习(8)--异常检测算法isolation forest
南大周志华老师在2010年提出一个异常检测算法Isolation Forest,在工业界很实用,算法效果好,时间效率高,能有效处理高维数据和海量数据,这里对这个算法进行简要总结。孤立森林(Isolation Forest)是另外一种高效的异常检测算法,它和随机森林类似,但每次选择划分属性和划分点(值)时都是随机的,而不是根据信息增益或者基尼指数来选择。在建树过程中,如果一些样本很快就到达了叶子节点(即叶子到根的距离d很短),那么就被认为很有可能是异常点。因为那些路径d比较短的样本,都是因为距离主要的样本原创 2020-05-20 09:49:35 · 848 阅读 · 0 评论 -
机器学习(7)--K-means 和DBSCAN
K-Means算法。原理上来讲,K-Means算法其实是假设我们数据的分布是K个sigma相同的高斯分布的,每个分布里有N1,N2……Nk个样本,其均值分别是Mu1,Mu2……Muk,那么这样的话每个样本属于自己对应那个簇的似然概率就是这个套路我们就很熟悉了,下面就是取对数似然概率,要求似然概率的最大值,给它加个负号就可以作为损失函数了,考虑到所有簇的sigma是相等的,所以我们就可到了K-Means的损失函数接着我们对损失函数求导数为0,就可以得到更新后最佳的簇...原创 2020-05-20 09:29:55 · 612 阅读 · 0 评论 -
机器学习(6)--LightGBM
0.引言 如果你是一个机器学习社区的活跃成员,你一定知道提升机器(Boosting Machine)以及它们的能力。提升机器从AdaBoost发展到目前最流行的XGBoost。XGBoost实际上已经成为赢得在Kaggle比赛中公认的算法。这很简单,因为他极其强大。但是,如果数据量极其的大,XGBoost也需要花费很长的时间去训练。 绝大多数人可能对Light Gradient Boosting不熟悉,但是读完本文后你就会对他们很熟悉。一个很自然的问题将进入你的思索:为什么又会出现...原创 2020-05-20 09:23:44 · 787 阅读 · 0 评论 -
机器学习(5)--XGBOOST
Bagging和Boosting 概念及区别 Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。首先介绍Bootstraping,即自助法:它是一种有放回的抽样方法(可能抽到重复的样本)。1、Bagging (bootstrap aggregating)Bagging即套袋法,其算法过程如下:A)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstrapin原创 2020-05-20 09:16:51 · 299 阅读 · 0 评论 -
机器学习(4)--决策树
什么是决策树(Decision Tree) 引例 现有训练集如下,请训练一个决策树模型,对未来的西瓜的优劣做预测。 先不谈建立决策树模型的算法,我们先看一下基于“信息增益”(后面讲)生成的决策树的样子 一棵决策树包含一个根节点、若干个内部节点、若干个叶节点。叶节点对应于决策结果,其他节点对应于一个属性测试。每个节点包含的样本集合根据属性测试的结果被划分到子节点中。根节点(纹理)包含样本全集,根节点下的节点(根蒂)包含所有纹理=清晰的样...原创 2020-05-20 09:09:24 · 1077 阅读 · 0 评论 -
机器学习(3)--朴树贝叶斯
先验概率与后验概率想象有 A、B、C 三个不透明的碗倒扣在桌面上,已知其中有(且仅有)一个瓷碗下面盖住一个鸡蛋。此时请问,鸡蛋在 A 碗下面的概率是多少?答曰 1/3。 现在发生一件事:有人揭开了 C 碗,发现 C 碗下面没有蛋。此时再问:鸡蛋在 A 碗下面的概率是多少?答曰 1/2。注意,由于有“揭开C碗发现鸡蛋不在C碗下面”这个新情况,对于“鸡蛋在 A 碗下面”这件事的主观概率由原来的 1/3 上升到了1/2。这里的先验概率就是 1/3,后验概率是 1/2。也就是说“先”和“后”是相对于引起原创 2020-05-20 09:09:03 · 727 阅读 · 0 评论 -
机器学习(2)--逻辑回归
logistic回归的主要思想是根据现有的数据对分类边界线建立回归公式,以此进行分类。主要在流行病学中应用较多,比较常用的情形是探索某疾病的危险因素,根据危险因素预测某疾病发生的概率等等。logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释,所以实际中最为常用的就是二分类的logistic回归。 今天我们就二分类进行分析,我们在回归分析中需要一个函数可以接受所有的输入然后预测出类别,假定用0和1分别表示两个类别,logistic函数曲线很像S型,故此我们可原创 2020-05-20 09:08:17 · 491 阅读 · 0 评论 -
机器学习(1)--KNN算法
算法描述:KNN算法就是在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为:1)计算测试数据与各个训练数据之间的距离;2)按照距离的递增关系进行排序;3)选取距离最小的K个点;4)确定前K个点所在类别的出现频率;5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。距离的度量:在KNN中,通过计算对象间距离.原创 2020-05-20 08:55:27 · 606 阅读 · 0 评论