机器学习
文章平均质量分 69
gentelyang
呵呵
展开
-
KNN算法的总结
kNN是一种非常有效且简单的分类算法,我用了三个小时把其理论和实践都作了一遍,在这里总结一下。一: kNN算法的一般流程 (1)收集数据:使用任何方法,你多能想到的,这是第一步 (2)准备数据:距离计算所需要的数值,最好是结构化的数据格式 (3)分析数据:使用任何方法 (4)训练算法:kNN就不用了原创 2017-07-12 18:44:41 · 1382 阅读 · 0 评论 -
KTT条件
最优化问题可以根据目标函数和约束条件的类型进行分类:1).如果目标函数和约束条件都为变量的线性函数,称为最优化问题为线性规划;2).如果目标函数为变量的二次函数,约束条件为线性函数,称为二次规划;3)如果目标函数或者约束条件为变量的非线性函数,称改最优化问题为非线性规划KKTKKT条件是指在满足一些有规则的条件下,一个非线性规划问题能有最优化的一个必要和充分条件,这是一个广义话拉格朗日乘数的成果。...原创 2018-03-02 19:27:03 · 2290 阅读 · 0 评论 -
概率图模型
PGM又叫GM图模型;PGM概率图模型是用图结构来描述多元随机变量之间条件独立关系的概率模型。图结构可以将概率模型的结构可视化,以一种直观、简单方式描述随机变量之间的条件独立性的性质,并可以将一个复杂的概率模型分解为几个简单的模型的俄组合。将学习任务归结于计算输入和输出之间的条件概率分布。因此图模型提供了一种新的角度来解释机器学习模型。一个图由节点和节点之间的边组成。在概率图模型中,每一个节点都表...原创 2018-03-02 22:11:03 · 1675 阅读 · 0 评论 -
隐马尔科夫模型HMM
原创 2018-03-03 12:35:59 · 138 阅读 · 0 评论 -
马尔科夫随机场MRF
原创 2018-03-03 12:36:36 · 301 阅读 · 0 评论 -
高斯混合模型GMM
GMM指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的的分布,通常用于解决同一集合下的数据包含多个不同的分布情况(或者同一类分布但参数不一样,或者是不同类型的分布,比如正太分布或者伯努利分布)。GMM主要是利用EM算法来求解的,所以在利用GMM的时候一定要充分掌握住EM算法。GMM算法的流程如下:假设样本x是从K个高斯分布中生成的,每个高斯分布为...原创 2018-03-03 20:32:48 · 467 阅读 · 0 评论 -
几种优化算法的简单简单简单的介绍
遗传算法:遗传算法包含遗传、变异和选择三个流程。个体编码常用无符号的二进制整数来表示。具体步骤包括:构造一定规模的初始种群,计算适应度决定遗传的概率,遗传运算(常用轮盘赌法),交叉运算(按概率发生片段交换)、变异运算(较小概率随机发生突变,防止陷入局部最优)。模拟退化算法: 源于固体退火原理,基于蒙特卡洛(MonteCalro)法迭代求解测量的一种随机寻优的算法。在某一初温下,伴随温度不断下降,结...原创 2018-03-04 21:07:03 · 4330 阅读 · 0 评论 -
强化学习算法
https://blog.csdn.net/AMDS123/article/details/70197796总结的不错。强化学习算法是机器学习大家族中的一类,使用强化学习能够让机器学着如何在环境中拿到高分表现出优秀的成绩,而这些成绩背后所付出的努力,是不断的试错,不断尝试,累加经验,学习经验。强化学习是一个大家族,包括许多中算法,比如通过行为的价值来选去特定行为的方法,抱括使用表格学习的q...原创 2018-03-04 22:15:03 · 19049 阅读 · 0 评论 -
相对熵、交叉熵及最大熵模型
最大熵模型:https://www.cnblogs.com/pinard/p/6093948.html原创 2018-03-05 19:22:22 · 1277 阅读 · 0 评论 -
增强学习、增量学习基础知识
一:增强学习(Q-learning)要解决的问题:一个能感知环境的自治agent,怎样通过学习选择能达到其目标的最优操作。agent的任务就是从这个非直接的,有延迟的回报中学习,以便后续的动作产生最大的积累效应,agent通过学习改进自身的性能并选择行为。强化学习:从环境状态到行为映射的学习,以使系统行为从环境中获得的积累奖赏值最大,该方法不同与监督学习技术那样通过正例、反例来告知采取何种行为,...原创 2018-03-21 09:22:18 · 4894 阅读 · 0 评论 -
天池智慧交通总结
移动互联网时代的开启使得每出行者都成为交通信息的贡献者,超大规模的位置数据在云端进行处理和融合生成城市全时段无盲区的交通信息。本届算法挑战赛以“移动互联时代的智慧交通预测”为主题,邀请参赛者基于互联网交通信息建立算法模型,精准预测各关键路段在某个时段的通行时间,实现对交通状态波动起伏的预判,助力社会智慧出行和城市交通智能管控。组委会将通过计算参赛者提交预测值和记录真实值之间的误差确定预测准确率,评...原创 2018-04-19 22:14:55 · 2683 阅读 · 7 评论 -
每日一练之梯度提升树GBDT
1:简介(去看看本)GBDT也是集成学习Boosting家族的成员,但是却和传统的Adaboost有很大的不同。回顾下Adaboost,我们是利用前一轮迭代弱学习器的误差率来更新训练集的权重,这样一轮轮的迭代下去。GBDT也是迭代,使用了前向分布算法,但是弱学习器限定了只能使用CART回归树模型,同时迭代思路和Adaboost也有所不同。 在GBDT的迭代中,假设我们前一轮迭代得到的强学习器...原创 2018-05-08 21:09:20 · 464 阅读 · 0 评论 -
xgboost原理与代码实现实例
在学习xgboost之前必须要熟悉gbdt,gbdt就是boosting方法和cart回归树,通过拟合上一个模型的残差进行学习。此题直接从需要优化的目标函数说起,这个目标函数总体包括三部分,第一部分就是损失函数l,第二部分f(t)部分就是指的L1、L2正则,constant指的是常数项,xgboost是泰勒展开的三项做了一个近似,最终的目标函数只依赖于一阶和二阶导数。...原创 2018-04-26 22:24:17 · 17985 阅读 · 1 评论 -
机器学习每日一练之决策树python原理及其基于sklearn代码实现
1、决策树算法决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归。不过对于一些特殊的逻辑分类会有困难。典型的如异或(XOR)逻辑,决策树并不擅长解决此类问题。决策树的构建不是唯一的,遗憾的是最优决策树的构建属于NP问题。因此如何构建一棵好的决策树是研究的重点。J. Ross Quinlan在1975提出将信息熵的概念引入决策树的构建,这就是鼎鼎大名的ID3算法。后续的C4...原创 2018-05-07 11:49:51 · 1053 阅读 · 0 评论 -
SVM总结
SVM的原理很简单,就是首先要寻找一个超平面,然后使得距离超平面比较近的点有更大的间距;(这里我们只关心求得的超平面能够让所有点钟离它最近的点有最大间距)里面求最大或者将求最大间距转化为求最小值时,是一个二次规划问题,且是一个凸函数的二次规划,约束条件是一次函数,这里使用拉格朗日来求其对偶问题,对偶问题里面又只有a是变量,x,y都是已知的,其最值的对偶问题(也是一个二次规划问题)的求法是用SMO这...原创 2018-03-02 15:55:33 · 200 阅读 · 0 评论 -
牛顿法、梯度法、共轭梯度法等等
https://www.jianshu.com/p/7606ae3d8cc2牛顿法主要解决非线性优化问题,其收敛速度比梯度下降速度更快,其需要解决的问题可以描述为:对于目标函数f(x),在无约束条件下求他的最小值minf(x)。牛顿法的主要思想:在现有的极小值估计值的附近对f(x)做二阶泰勒展开,进而找到极小值点的下一个估计值,反复迭代直到找到函数的一阶导数小于某个接近0的阈值。 ...原创 2018-03-01 17:02:26 · 336 阅读 · 0 评论 -
岭回归
收缩方法:通过选择自变量的一个子集产生新的线性模型,这个模型是可以解释的并且可能具有比完整模型更低的误差,然而由于它是一个离散过程(变量或者保留或者丢弃),使得子集选择方法常常表现出高方差,因此不能降低整个模型的预测误差,收缩方法更加连续,并且不会因为变量多而降低性能。岭回归:岭回归主要解决回归中的两大问题:排除多重共线性和进行变量的选择。思想是在原先的最小二乘估计中加入一个小扰动,也叫惩罚项,使...原创 2018-03-01 10:41:43 · 8401 阅读 · 0 评论 -
kNN进阶实例
这里我们用kNN来分类一个大点的数据库,包括数据维度比较大和样本数比较多的数据库。这里我们用到一个手写数字的数据库,这个数据库包括数字0-9的手写体。每个数字大约有200个样本。每个样本保持在一个txt文件中。手写体图像本身的大小是32x32的二值图,转换到txt文件保存后,内容也是32x32个数字,0或者1,如下: 数据库解压后有两个目录:目录trainingDigits存原创 2017-07-12 21:00:22 · 387 阅读 · 0 评论 -
决策树的python代码实现
这是一个判断海洋生物数据是否是鱼类而构建的基于ID3思想的决策树# coding=utf-8import operatorfrom math import logimport timedef createDataSet(): dataSet = [[1, 1, 'yes'], [1, 1, 'yes'],原创 2017-07-16 09:07:25 · 1109 阅读 · 0 评论 -
朴素贝叶斯的概率理论及其python代码实现文本分类的实例
一:朴素贝叶斯是一种基于概率分布进行分类的方法,概率论是朴素贝叶斯的基础,之所以被称为朴素,而不是贝叶斯就是因为它在贝叶斯的基础上,增添了两个条件,一个是各特征之间相互独立,第二是每个特征同等重要。朴素贝叶斯在数据很小的情况下仍然有效,可以处理多分类问题,但是对输入数据的准备方式较为敏感,主要用于标称性数据。二:朴素贝叶斯的思想:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪原创 2017-07-16 09:14:03 · 796 阅读 · 0 评论 -
聚类算法
聚类算法是一种无监督学习,将相似的对象归到同一簇中,可应用于所有对象,若簇内的对象高度相似,则聚类效果越好。一:K-means聚类算法:有k个不用的簇,且每个簇的中心采用簇中所含的均值计算而成。步骤:首先创建K个点作为起始质心(经常是随机的) 当任意一个点的簇分配结果发生改变时 对数据集中的每一个数据点原创 2017-07-29 15:56:14 · 377 阅读 · 0 评论 -
PCA的python代码实现
PCA降维是重要的特征工程必须熟练掌握原创 2017-07-28 10:03:44 · 2422 阅读 · 0 评论 -
决策树理论
一:思想:决策树使用样本的属性作为结点,决策树的跟结点一般是信息量最大的,然后递归的找到各个分支下子数据集中次大的决定性特征,直至子数据集中所有特征属于同一类,如何从这么多的特征中选择出有价值的,并且按照最好的顺序由根到叶选择。完成了这个我们也就可以递归构造一个决策树了。二:决策树的学习过程,大致分为三步 1:特征选择是指从训练数据中众多的特征中选择一个特征作为当前原创 2017-07-14 09:57:49 · 3157 阅读 · 0 评论 -
基于密度的聚类算法
DBSCAN的核心思想是从某个核心点出发,不断向密度可达的区域扩张,从而得到一个包含核心点和边界点的最大化区域,区域中任意两点密度相连。邻域:对任意一个点p,其邻域定义为:。密度:设,则为的密度。核心点:设,若,则称为中的中心点,中心点构成的集合为。边界点:设,且落在某个核心点的邻域内。一个边界点可能落在多个核心点的邻域内。直接密度可达:设,若满足且,则称从直接密度可达。密度可达:假设存在一串点,...原创 2018-02-27 14:49:46 · 1343 阅读 · 0 评论 -
谱聚类
首先谱聚类是一种广泛的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果更优秀,同时聚类 的计算量也小了很多,而且实现起来也不复杂,在处理实际问题时,建议使用谱聚类。谱聚类是从图论中演化出来的算法,后来在聚类中广泛应用,他的思想是把所有的数据看作空间中的点,这些点之间可以用边连接起来,距离较远的两个点之间的权重较低,而距离较远的两个点之间的变权重较高,对所有数据点组成的...原创 2018-02-27 14:15:41 · 362 阅读 · 0 评论 -
K-means的三种改进
k-means的这三种改进都属于“硬聚类”,而软聚类是与之对应的每个样本是以一定概率被分到某一类别中去的。(1)k-means++:原始的k-means算法最初是随机的从原始数据集中选取k个节点作为初始聚类中心,而k-means对初始聚类中心十分敏感,不同的初始聚类中心会得到不同的聚类结果,而k-means++按照如下思路进行选取k个聚类中心:①:选取一个初始聚类中心;②:选取距离这个聚类中心越远...原创 2018-02-27 13:15:30 · 3585 阅读 · 0 评论 -
集成学习总结(一)
1:BoostingBoosting是一个迭代提升的过程,所以它肯定是串行的算法(尽管xgboost可以在节点分裂属性选择上做并行计算)。基于训练集,先训练弱学习器,然后根据前一个弱学习器分错的样本,改变样本的概率分布构成新的训练集,从而可以训练出一个更强的学习器。这样反复迭代提升,就能得到一系列分类器。最后,将这些分类器组合起来,就能构成一个很强的学习器。Adaboost算法是“加性模型”,通过...原创 2018-02-27 21:18:33 · 263 阅读 · 0 评论 -
集成学习总结(二)
1:Baggig方法:思想:给定一个大小为n的训练集 D,Bagging算法从中均匀、有放回地选出 m个大小为 n' 的子集Di,作为新的训练集。在这 m个训练集上使用分类、回归等算法,则可得到 m个模型,再通过取平均值、取多数票等方法综合产生预测结果,即可得到Bagging的结果。2:Stacking方法:思想:将训练好的所有基模型对整个训练集进行预测,第j个基模型对第i个训练样本的预测值将作为...原创 2018-02-27 21:41:41 · 229 阅读 · 0 评论 -
随机森林
随机森林是利用多棵树对样本进行训练并预测的一种分类器。它是由多棵CART构成的,对每棵树,其使用的训练集是从总的训练集中有放回采样出来的,这意味着总的训练集中有些样本可能多次出现在一棵树中,也可能从未出现在一棵树的训练集中。在训练每棵树的节点时,使用的特征是从所有的特征中按照一定比例随机的抽取一部分特征训练每一棵树,假设有M个特征,这个比例可以是2*根号M,0.5*根号M等。随机森林有很多优点...原创 2018-02-27 22:33:33 · 724 阅读 · 0 评论 -
逻辑回归
1:对逻辑回归的介绍:逻辑回归假设数据服从贝努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,达到将数据二分类的目的。2:逻辑回归的基本假设:任何模型都有自己的假设,在这个假设下模型才是适用的。逻辑回归的第一个基本假设是假设数据服从贝努利分布。贝努利分布有一个简单的抛硬币的例子,正面的概率为p,负面的概率为1-p,在逻辑回归这个模型里面假设h0(x)为样本为正的概率,1-h0(x)为样本...原创 2018-02-28 11:39:03 · 914 阅读 · 0 评论 -
激活函数之maxout
https://blog.csdn.net/hjimce/article/details/50414467这篇博客讲的很好,以后再整理。转载 2018-08-11 11:00:33 · 7270 阅读 · 0 评论