机器学习
文章平均质量分 96
hjimce
追求实现文献算法的快感,追求学会一个新算法的充实感
展开
-
机器学习(七)支持向量机svm中级篇
第二部分 SVM数学基础知识复习这一步涉及到拉格朗日求解问题,感觉真不是一般的难,弄得我好晕,难之一B啊,建议如果想学这个问题是怎么求解的,先去好好学学拉格朗日的对偶问题求解。先复习一下拉格朗日求解约束型最大最小值问题,用“拉格朗日乘数法”求函数f(x,y,z)在条件φ(x,y,z)=0下的极值,步骤如下:1.做拉格朗日函数L=f(x,y,z)+λφ(x,y,z),λ称拉格朗日乘数2.求原创 2015-05-01 20:45:02 · 1986 阅读 · 0 评论 -
机器学习(十一)谱聚类算法
1、采用knn构造样本相似度矩阵(如果不采用knn,那么构造的是全连接图,不是稀疏矩阵,如果样本多的话,求解起来速度就会很慢了)2、构造归一化的拉普拉斯矩阵(归一化的拉普拉斯矩阵的对角线元素为1,每一行所有元素和为0)3、求解L矩阵的前k个最小特征值对应的特征向量(k为聚类的个数)把这些向量列成矩阵,进行k-means聚类,得到的聚类结果就是谱聚类的结果原创 2015-05-15 21:27:22 · 4780 阅读 · 0 评论 -
机器学习(十)Mean Shift 聚类算法
一、mean shift 算法理论Mean shift 算法是基于核密度估计的爬山算法,可用于聚类、图像分割、跟踪等,因为最近搞一个项目,涉及到这个算法的图像聚类实现,因此这里做下笔记。(1)均值漂移的基本形式给定d维空间的n个数据点集X,那么对于空间中的任意点x的mean shift向量基本形式可以表示为:这个向量就是漂移向量,其中Sk表示的是数据集的点到x的距离小于球半径h原创 2015-05-14 11:30:43 · 79136 阅读 · 24 评论 -
机器学习(五)PCA数据降维
对于PCA数据降维算法一开始经常和SVD奇异分解搞混了,其实这两个可以说扯不上关系,SVD分解是一种矩阵分解的解法,可以用于求取一个非方阵矩阵的特征值和特征向量。下面先从PCA算法流程讲起:(1)对于给定的二维数据点集P(x,y),求取这些散乱点的重心坐标(2)把散乱点的重心坐标平移到原点,同时构造新数据矩阵:注意上面每个点,需要写成列向量的形式,这样构造的M矩阵是一个2行原创 2015-04-11 22:41:53 · 6592 阅读 · 0 评论 -
机器学习(四)高斯混合模型
开始学习高斯混合模型,需要先简单复习一下单高斯模型的参数估计方法,描述一个高斯模型其实就是要计算它的均值、协方差矩阵(一维空间为方差,二维以上称之为协方差矩阵):假设有数据集X={x1,x2,x3……,xn},那么用这些数据来估计单高斯模型参数的计算公式原创 2015-04-24 11:46:37 · 10122 阅读 · 3 评论 -
机器学习(六)支持向量机svm初级篇
为了理解svm算法,我这边以2位空间的点数据集分类为例,在二维空间中,直线的一般公式为:Ax+By+c=0;然后我们希望通过已有的数据点,求出直线的A,B,C三个参数,这就是SVM算法的目的。(1)这里我们为了方便,我把直线的一般公式写成:写成矩阵形式:简化为:先回忆一下点P(x1,x2)位于直线的上方和下方的计算公式,判断方法如下:如果,则P点位于直线的下方;原创 2015-05-01 20:42:28 · 2761 阅读 · 0 评论 -
机器学习(八)支持向量机svm终结篇
我们回到第1部分的问题求解了:然后我们根据拉格朗日对偶问题转换:1、构建拉格朗日函数:2、对拉格朗日函数求偏导:3、令、可得:(这个公式告诉我们w是x的加权线性组合)(这个公式告诉我们所有的数据点的分类符号与拉格朗日乘子乘积和为0)。4、回待入拉格朗日函数,并整理得:其约束条件为:,及(这个约束条件哪里来的,有点不理解,难道拉格朗日乘子要求大于零原创 2015-05-01 20:50:06 · 2578 阅读 · 0 评论 -
机器学习(十二)朴素贝叶斯分类
一、基础知识复习1、相互独立事件:假设A、B相互独立,那么有:P(AB)=P(A)*P(B)2、表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。贝叶斯准则告诉我们,如果已知P(A|B),要求P(B|A),那么我们可以使用如下计算公式:原创 2015-05-27 22:31:26 · 5558 阅读 · 1 评论 -
hjimce算法类博文目录
hjimce算法类博文目录个人博客:http://blog.csdn.net/hjimce个人qq:1393852684知乎:https://www.zhihu.com/people/huang-jin-chi-28/activities一、深度学习深度学习(七十三)pytorch学习笔记深度学习(七十二)tensorflow 集群训练深度学习(七十一)3D CNN时空特征学习深度学习(七十)da...原创 2016-01-24 13:12:52 · 34141 阅读 · 20 评论 -
机器学习(十四)Libsvm学习笔记
LIBSVM软件包是台湾大学林智仁(Chih-Jen Lin)博士等用C++实现的LIBSVM库,可以说是使用最方便的SVM训练工具。可以解决分类问题(包括C-SVC、n-SVC)、回归问题(包括e-SVR、n-SVR)以及分布估计(one-class-SVM )等问题,提供了线性、多项式、径向基和S形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。原创 2015-07-20 17:10:13 · 5506 阅读 · 0 评论 -
机器学习(十三)k-svd字典学习
给定训练数据Y,Y的每一列表示一个样本,我们的目标是求解字典D的每一列(原子)。K-svd算法,个人感觉跟k-means差不多,是k-means的一种扩展,字典D的每一列就相当于k-means的聚类中心。其实球面k-means也是一种特殊的稀疏编码(具体可参考文献《Learning Feature Representations with K-means》),只不过k-means的编码向量X是一个高度稀疏的矩阵,X的每一列就只有一个非零的元素,对应于该样本所归属的聚类中心。而稀疏编码X的每一列允许有几个非零原创 2016-03-05 18:44:11 · 42252 阅读 · 9 评论 -
机器学习(七)白化whitening
输入数据集X,经过白化处理后,新的数据X'满足两个性质:(1)特征之间相关性较低;(2)所有特征具有相同的方差。 其实我们之前学的PCA算法中,可能PCA给我们的印象是一般用于降维操作。然而其实PCA如果不降维,而是仅仅使用PCA求出特征向量,然后把数据X映射到新的特征空间,这样的一个映射过程,其实就是满足了我们白化的第一个性质:除去特征之间的相关性。因此白化算法的实现过程,第一步操作就是PCA,求出新特征空间中X的新坐标,然后再对新的坐标进行方差归一化原创 2016-03-12 11:38:48 · 71991 阅读 · 4 评论 -
机器学习(三)k均值聚类
高斯混合模型和k均值聚类是聚类算法中的两种比较常用而简单的算法,这里先介绍k均值聚类算法。K均值聚类算法实现分为四个步骤,设数据集为二维data,用matlab把数据绘制出来,如下所示:绘制代码:绘制结果: 现在假设要把该数据集分为4类,算法步骤如下:1) 初始化聚类中心由于聚类个数选择4,因此我们用matlab随机生成4个不重复的整数,且大小不超过数据点的个数,得原创 2015-04-22 21:18:10 · 3459 阅读 · 2 评论 -
机器学习(二)逻辑回归
逻辑回归于线性回归的区别:(1)线性回归的函数拟合,用于数值预测,逻辑回归是二分类算法,用于分类(2)线性回归模型:逻辑回归模型:也就是说逻辑回归其实是在线性回归的基础上,加了一个激励函数映射。因为逻辑回归是二分类算法,因此对于训练数据,其只有两种取值1、0,代表两个分类,用于预测分类的时候,输入值大于0.5的,则把它归为1类,否者归为0类。因此对于训练数据需要满足一下概率原创 2015-05-01 13:30:05 · 5002 阅读 · 0 评论 -
机器学习(十五)隐马尔科夫模型-未完待续
维比特算法实践#coding=utf-8import numpy as np#A为状态转移矩阵,B为观测矩阵,Pi为初始状态概率,o为观测序列#函数的目标就是返回0所对应的,状态序列def Viterbi(A,B,Pi,O): n=O.shape[0] m=A.shape[0] dis2src=np.zeros((n,m),dtype=np.float32)#原创 2016-03-15 17:36:32 · 1988 阅读 · 0 评论 -
机器学习(一)线性回归
线性回归假设对于输入数据X(x1,x2……xn),输出数据y,对于线性回归我的简单理解就是线性拟合。因为为之前就对拟合这个词比较熟悉,对于最小二乘也是比较熟悉的。对于输入数据X,输出数据y,线性回归的基础公式为:其中x1,x2……xn表示的是数据X的特征,而x0=1是固定的。我们希望根据已经给定的m个数据集data,求解出未知的参数,θ0,、θ1、θ2…。其实求解这个公式最简单原创 2015-05-01 12:18:04 · 4863 阅读 · 1 评论 -
机器学习(八)Apriori算法学习
学习Apriori算法建议用python,因为python的集合函数功能相当强大,而Apriori涉及到集合的合并等运算。开始学习Apriori算法之前,我们先来搞一个简单的问题,这个问题在Apriori算法中非常重要。问题是这样的:假设现在有三个集合C2(1)={0,1}、C2(2)={0,2}、C2(3)={1,2},这些集合都是不相等的,因为每个集合中有且只有两个元素,所以这里我们记为C2。现在求把这3集合进行两两组合,使得组合结果包含3个不重复的元素,原创 2015-05-02 11:13:13 · 2380 阅读 · 0 评论 -
机器学习(九)初识BP神经网络
我学机器学习的算法不是系统学习的,只有项目要用到的时候,才马上学,BP神经网络可以说是我比较早学习的一个机器学习算法,当时连回归的梯度下降法都还没学,所以整个过程学起来迷迷糊糊的,我的学习思路一般是先大体把算法原理看一下,然后网上下一份代码,慢慢解读,解读完后又回去把理论深入理解一下,最后自己再写过一遍的代码。因为BP神经网络的求解是用到了梯度下降法,所以建议学习这个算法前,先推导一下回归拟合过程,把逻辑回归先好好搞懂,那么搞这个BP算法就轻轻松松,其实我的理解BP算法就是进化版的逻辑回归。原创 2015-05-03 10:18:23 · 8768 阅读 · 0 评论 -
机器学习(六)非负矩阵分解NMF-未完待续
机器学习(六)非负矩阵分解NMF-未完待续原创 2016-03-10 20:05:56 · 3162 阅读 · 0 评论 -
深度学习(一)深度学习学习资料
持续更新原文地址:http://blog.csdn.net/hjimce/article/details/45421595作者:hjimce一、学习清单1、综合类(1)收集了各种最新最经典的文献,神经网络的资源列表:https://github.com/robertsdionne/neural-network-papers 里面包含了深度学习领域经典、以及最新最牛逼的算法,如果把这个列表学过一遍...原创 2015-05-01 20:22:28 · 32347 阅读 · 0 评论