机器学习
文章平均质量分 56
贰锤
这个作者很懒,什么都没留下…
展开
-
机器学习-分类与回归决策树详解ID3,C4.5,CART,Python实现
代码及数据集下载:Tree 决策树可以用来进行分类或者回归,学习可以分为三个部分:特征选择、决策树的生成、决策树的修剪。决策树模型内部节点表示一个特征或者属性,叶子结点表示一个类。决策树工作时,从根节点开始,对实例的每个特征进行测试,根据测试结果,将实例分配到其子节点中,这时的每一个子节点对应着特征的一个取值,如此递归的对实例进行测试并分配,直到达到叶节点,最后将实例分配到叶节点所对应的类中。原创 2017-11-19 12:05:13 · 1204 阅读 · 0 评论 -
机器学习-python利用SVD编写推荐引擎
代码及数据集下载:SVD SVD(Singular Value Decomposition)主要用来进行数据降维、特征提取、消除数据噪声、消去数据中的冗余信息、数据压缩等。用于提高机器学习算法的效果,或压缩数据存储空间。利用SVD能够用小的多的数据集表示原始数据,其实质是去除了噪声以及冗余项。SVD常用于隐形语义检索的搜索系统(LSI)、隐性语义分析(LSA)、推荐引擎、图像压缩。这里主要通过推荐原创 2017-12-03 17:19:20 · 1992 阅读 · 6 评论 -
机器学习—最大熵模型_改进迭代尺度法IIS_python实现
代码及数据集下载Max Entropy最大熵原理最大熵原理是概率学习模型的一个准则。最大熵原理认为,学习概率模型时,在所有可能的概率模型中,上最大的模型是最好的模型,保留了最大的不确定性,从投资角度讲就是风险最小,将鸡蛋放在多个篮子里。通常用约束条件来确定概率模型的集合,因此,最大熵原理可以表述为在满足约束条件的模型集合中选取熵最大的模型。 假设离散随机变量X的概率分布为P(X),则其熵为 H(原创 2017-12-21 09:58:21 · 2907 阅读 · 3 评论 -
机器学习—感知机
感知机是一种简单的二类分类的线性分类模型,用于处理可以线性可分的二分类问题。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。感知机模型模型。从输入空间到输出空间有如下函数 f(x)=sign(wTx+b)f(x)=sign(w^Tx+b) 其中ww为权值,bb为偏执。生成的超平面为 wTx+b=0w^Tx+b = 0 其中ww为超平面的法原创 2017-12-13 14:32:04 · 446 阅读 · 0 评论 -
机器学习—近似误差与估计误差理解
近似误差:可以理解为对现有训练集的训练误差。 估计误差:可以理解为对测试集的测试误差。近似误差关注训练集,如果近似误差小了会出现过拟合的现象,对现有的训练集能有很好的预测,但是对未知的测试样本将会出现较大偏差的预测。模型本身不是最接近最佳模型。估计误差关注测试集,估计误差小了说明对未知数据的预测能力好。模型本身最接近最佳模型。...原创 2017-12-13 17:17:47 · 15560 阅读 · 6 评论 -
机器学习-python实现kMeans算法
代码及数据集下载:K-means 聚类是一种无监督的学习,将相似的对象放到同一簇中,有点像是全自动分类,簇内的对象越相似,簇间的对象差别越大,则聚类效果越好。 1.k均值聚类算法 k均值聚类将数据分为k个簇,每个簇通过其质心,即簇中所有点的中心来描述。首先随机确定k个初始点作为质心,然后将数据集分配到距离最近的簇中。然后将每个簇的质心更新为所有数据集的平均值。然后再进行第二次划分数据集,直到聚原创 2017-11-25 20:53:44 · 809 阅读 · 0 评论 -
机器学习—K近邻,KD树算法python实现
完整代码及数据集下载 K近邻算法不需要训练,通过搜索训练集,找到预测点与训练集中距离最近的k个实例,然后取k个实例中最多的类型作为预测点的类型。K近邻算法三个基本要素:K值的选择,距离度量,分类决策规则。 算法: a.在训练集中找出距离预测点x最近的k个点记为集合N。 b.在N中采用多数表决的决策规则,选出最多的类别y作为x的类。距离度量闵可夫斯基(Minkowski)距离 Lp(xi,x原创 2017-12-15 10:34:29 · 2082 阅读 · 0 评论 -
深度学习batchsize,iteration,epoch的关系
当时看代码接触到这三个量,简直懵逼。自己理了理思路总结如下。epoch:一个epoch表示所有训练样本运算学习一遍。iteration/step:表示每运行一个iteration/step,更新一次参数权重,即进行一次学习,每一次更新参数需要batch size个样本进行运算学习,根据运算结果调整更新一次参数。batch size:一次参数更新运算所需的样本数量,深度学习每一次参数更新并不是一个样本原创 2017-07-20 17:21:57 · 9045 阅读 · 2 评论 -
机器学习-python编写朴素贝叶斯用于文本分类
代码下载:贝叶斯 朴素贝叶斯分类器可以给出一个最有结果的猜测值,并给出估计概率。通常用于文本分类。 分类核心思想为选择概率最大的类别。贝叶斯公式如下: p(c|x)=p(x|c)p(c)p(x)p(c|x)= \frac {p(x|c)p(c)}{p(x)} 词条:将每个词出现的次数作为特征。 假设每个特征相互独立,即每个词相互独立,不相关。则 p(x|c)=p(x1|c)p(x2|原创 2017-11-01 22:46:03 · 725 阅读 · 0 评论 -
拟牛顿法Jacobian矩阵和Hessian矩阵
转载自:Jacobian矩阵和Hessian矩阵转载 2018-05-17 14:52:26 · 836 阅读 · 0 评论 -
多维高斯分布与协方差矩阵的关系以及高斯椭圆
一维高斯分布概率密度函数f(x;μ,σ)=1σ2π−−√exp(−(x−μ)22σ2)f(x;μ,σ)=1σ2πexp(−(x−μ)22σ2)f(x;\mu,\sigma) = \frac{1}{\sigma \sqrt{2\pi}} \exp(-\frac{(x-\mu)^2}{2\sigma^2}) 若随机变量XXX服从这个高斯分布,则可写作X∼N(μ,σ)X∼N(μ,σ)X\si...原创 2018-05-17 16:34:32 · 31373 阅读 · 3 评论 -
稀疏表示与字典更新KSVD算法
1. 算法简介K-SVD可以看做K-means的一种泛化形式,K-means算法总每个信号量只能用一个原子来近似表示,而K-SVD中每个信号是用多个原子的线性组合来表示的。K-SVD通过构建字典来对数据进行稀疏表示,经常用于图像压缩、编码、分类等应用。2. 主要问题Y = DXWhere ...转载 2018-05-11 10:14:59 · 7717 阅读 · 3 评论 -
正态分布与均匀分布之间的变换
一、任何分布都能化为[0,1][0,1][0,1]均匀分布 假设FX(a)=p(x≤a)FX(a)=p(x≤a)F_X(a)=p(x\le a)为累积分布函数,f(x)f(x)f(x)为概率密度函数,FX(a)=∫a−∞f(x)dxFX(a)=∫−∞af(x)dxF_X(a)=\int_{-\infty}^af(x)dx,则存在如下等式 P(FX(X)≤a)=P(X≤F−1X(a))=...原创 2018-05-20 10:29:20 · 31105 阅读 · 2 评论 -
机器学习-python编写主成分分析(PCA)数据降维
代码及数据集下载:PCA 在机器学习之前通常需要对数据进行降维处理,有以下原因:使得数据集更易使用降低很多算法的计算开销去除噪声使得结果易懂这里讲的降维方法为主成分分析法(PCA),将数据从原来的坐标系转换到新的坐标系,新的坐标系的选择是由数据本身决定的。第一个坐标轴选择的是原始数据中方差最大的方向,第二个新最标轴的选择和第一个坐标轴正交且具有最大方差的方向。该过程一直重复,重复次数为想原创 2017-12-02 10:49:02 · 2864 阅读 · 0 评论 -
机器学习-Python编写FP-growth进行关联性分析
代码及数据集下载:FP-growth 当数据集较大时,Apriori算法需要多次扫描整个数据集,处理较慢,则需要一个增加高效的算法。FP-growth寻找频繁项集,只用扫描数据集两次。虽然该算法能够高效发现频繁项集,但是该算法并不能够发现规则。循环一遍数据集: 计算单个元素项出现的频度,保存到头指针表根据最小频数筛选单个元素项循环一遍数据集: 将每个数据的元素按照头指针表排序原创 2017-11-29 22:19:56 · 1081 阅读 · 0 评论 -
机器学习中特征值分解与奇异值分解的区别及应用
本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gmail.com。也可以加我的微博: @leftnoteasy前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于转载 2017-12-03 10:55:18 · 1367 阅读 · 0 评论 -
关于协方差矩阵在机器学习中的理解
作者: peghoty 出处: http://blog.csdn.net/itplus/article/details/11452743 在《主成分分析》中,我们用到了协方差矩阵,但当时并没有对其进行深入的讨论。为此,本文将针对协方差矩阵做一个详细的介绍,其中包括协方差矩阵的定义、数学背景与意义以及计算公式的推导。若需要本文完整的 PDF 文档,请点击《协方差矩阵详谈》进行下载!作者:转载 2017-12-01 20:54:43 · 8228 阅读 · 1 评论 -
机器学习-回归总结-标准回归,局部加权回归,岭回归,lasso,前向逐步回归
标准回归函数使误差平方和最小 minw∑i=1n(yi−w0−∑j=1mxijwj)2\mathop \min\limits_w \sum\limits_{i=1}^n(y_i - w_0-\sum\limits_{j=1}^mx_{ij}w_j)^2 回归系数公式可写为 w=(XTX)−1XTyw= (X^TX)^{-1}X^Ty局部加权线性回归标准线性回归当样本数据不成线性时,可能原创 2017-11-14 21:41:43 · 1714 阅读 · 0 评论 -
机器学习-sklearn网格搜索法
网格搜索法可以用来寻找合适的参数,尝试所有可能的参数组合。sklearn提供的GridSearchCV类,可以通过字典来提供分类器或回归器的类型对象。字典的键我们将要调整的参数,而字典的值就是需要尝试的参数值的相应列表。from sklearn.svm import SVCfrom sklearn.grid_search import GridSearchCVfrom pprint import原创 2017-06-18 20:48:11 · 2613 阅读 · 0 评论 -
机器学习-sklearn逻辑回归分析
逻辑回归为一类分类算法,可以用于预测事件发生的概率,或者某事物属于某一类别的概率。逻辑回归是以logistic函数为基础的,该函数的取值介于0~1之间,与概率值吻合。 1.k-折交叉验证 将数据集分为k份,在k次迭代过程中,每个包会有1次被用于验证,其余用于训练。示例:kf = KFold(n=10,n_folds=7)for train,test in kf: print(train原创 2017-06-18 19:45:40 · 1503 阅读 · 0 评论 -
机器学习-sklearn模块数据预处理
1.数据标准化,使数据满足高斯分布 preprocessing.scale()函数import numpy as npfrom sklearn import preprocessingfrom scipy.stats import andersonrain = np.load('rain.npy')rain = .1 * rainrain[rain < 0] = 0.05/2scaled原创 2017-06-18 16:45:11 · 482 阅读 · 0 评论 -
机器学习-python编写分类决策树
代码连接:决策树 关于回归树与分类树的详解可以查看分类与回归决策树详解ID3,C4.5,CART,Python实现 决策树通常在机器学习中用于分类。 优点:计算复杂度不高,输出结果易于理解,对中间值缺失不敏感,可以处理不相关特征数据。 缺点:可能会产生过度匹配问题。 适用数据类型:数值型和标称型。 1.信息增益 划分数据集的目的是:将无序的数据变得更加有序。组织杂乱无章数据的一种方法就原创 2017-10-29 22:06:05 · 383 阅读 · 0 评论 -
机器学习-python编写Logistic逻辑回归
代码及数据集下载:逻辑回归 用一条直线对数据进行拟合的过程称为回归。逻辑回归分类的思想是:根据现有数据对分类边界线建立回归公式。 公式表示为: z=w0x0+w1x1+...+wnxnσ(z)=11+e−z使误差最小 min||σ(z)−y||2采用梯度下降法:w:=w−α∗XT∗(σ(z)−y)z = w_0x_0 + w_1x_1+...+w_nx_n\\\sigma(z) = \fr原创 2017-11-04 16:24:15 · 502 阅读 · 0 评论 -
机器学习-python通过序列最小优化算法(SMO)方法编写支持向量机(SVM)
代码及数据集下载:SVM学习SVM,然后想自己手写一个,看了一些材料后发现了最流行的SMO,下面总结如下。SMO算法的思想很简单,它将大优化的问题分解成多个小优化的问题。这些小问题往往比较容易求解,并且对他们进行顺序求解的结果与将他们作为整体来求解的结果完全一致。在结果完全一致的同时,SMO的求解时间短很多。在深入SMO算法之前,我们先来了解下坐标下降这个算法,SMO其实基于这种简单的思想的。SMO原创 2017-11-05 21:02:35 · 1344 阅读 · 0 评论 -
机器学习-python通过使用sklearn编写支持向量机SVM
代码及数据集下载:SVM 线性支持向量机import numpy as npfrom sklearn import svmfrom matplotlib import pyplot as pltdef loadDataSet(fileName): dataMat = [] labelMat = [] with open(fileName) as f:原创 2017-11-10 17:14:36 · 792 阅读 · 0 评论 -
机器学习-python编写Adaboost元算法提高分类性能
代码及数据集下载:Adaboost boosting方法是一种常用的学习方法,用来提高分类器的性能,通过改变训练样本的权值,学习多个分类器,每个分类器着重解决上一个分类器分错的样本,然后通过将所有的分类器线性组合,提高分类的性能。 首先引入两个概念: 1.强可学习(strongly learnable):指在概率近似正确学习的框架中,一个概念,如果存在一个多项式的学习算法能够学习他,并且正确率原创 2017-11-12 17:21:12 · 408 阅读 · 0 评论 -
机器学习-python使用Apriori算法进行关联性分析
代码及数据集下载:Apriori 从大规模数据集中寻找物品间的隐含关系被称作关联分析或关联规则学习。过程分为两步:1.提取频繁项集。2.从频繁项集中抽取出关联规则。 频繁项集是指经常出现在一块的物品的集合。 关联规则是暗示两种物品之间可能存在很强的关系。 一个项集的支持度被定义为数据集中包含该项集的记录所占的比例,用来表示项集的频繁程度。支持度定义在项集上。 可信度或置信度是针对一条诸如{原创 2017-11-27 22:39:21 · 1106 阅读 · 0 评论 -
Hoeffding's inequality霍夫丁不等式
引入假定投硬币,投出正面的概率为ppp,反面的概率为1−p1−p1-p。则投出nnn次,正面出现的期望次数为npnpnp。硬币正面最多出现kkk次的概率可以通过下式确定 P(H(n)≤k)=∑i=0k(ni)pi(1−p)n−iP(H(n)≤k)=∑i=0k(ni)pi(1−p)n−iP(H(n)\le k)=\sum\limits_{i=0}^k \left( {\begin{arra...原创 2018-05-24 16:06:34 · 6313 阅读 · 1 评论