机器学习&&数据挖掘
zbxzc
这个作者很懒,什么都没留下…
展开
-
正则化方法:L1和L2 regularization、数据集扩增、dropout
本文是《Neural networks and deep learning》概览 中第三章的一部分,讲机器学习/深度学习算法中常用的正则化方法。(本文会不断补充)正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training d转载 2015-05-11 09:47:16 · 820 阅读 · 0 评论 -
交叉熵代价函数
本文是《Neural networks and deep learning》概览 中第三章的一部分,讲machine learning算法中用得很多的交叉熵代价函数。1.从方差代价函数说起代价函数经常用方差代价函数(即采用均方误差MSE),比如对于一个神经元(单输入单输出,sigmoid函数),定义其代价函数为:其中y是我们期望的输出,a为神经元的实际输出【 a=σ转载 2015-05-11 09:35:52 · 1808 阅读 · 0 评论 -
Yusuke Sugomori 的 C 语言 Deep Learning 程序解读
最近开始在学习 Deep Learning 的基础知识,找了些文献来读,觉得有些晦涩。目前对于 DBN 的算法框架已经有个大概了解,但具体实现细节还不是太清楚,在网上搜到了日本学者 Yusuke Sugomori 在 Github 上的一个 deeplearning 项目,认真读了其 C 语言的版本,感觉收获蛮大,特将程序翻译成数学描述,希望对正在读或者将要读这个代码的朋友有些帮助。转载 2015-05-12 11:39:08 · 616 阅读 · 0 评论 -
机器学习中的数学(3)-模型组合(Model Combining)之Boosting与Gradient Boosting
转自:http://www.cnblogs.com/LeftNotEasy/archive/2011/01/02/machine-learning-boosting-and-gradient-boosting.html前言: 本来上一章的结尾提到,准备写写线性分类的问题,文章都已经写得差不多了,但是突然听说最近Team准备做一套分布式的分类器,可能会使用Random Fo转载 2015-06-16 17:00:00 · 620 阅读 · 0 评论 -
正则化、归一化含义解析
原文地址 http://sobuhu.com/ml/2012/12/29/normalization-regularization.html正则化(Regularization)、归一化(也有称为正规化/标准化,Normalization)是对数据尽心预处理的方式,他们的目的都是为了让数据更便于我们的计算或获得更加泛化的结果,但并不改变问题的本质,下面对他们的作用分别做一下科普,如有不正确转载 2015-06-17 14:49:27 · 1036 阅读 · 0 评论 -
机器学习中的相似性度量
转自:http://www.cnblogs.com/heaad/archive/2011/3/8.html 在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。 本文的目的就是对常用的相似性度量作一个总结。转载 2015-06-17 14:52:33 · 586 阅读 · 0 评论 -
Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Random forest 和 gradient boosting的区别
转自:http://blog.csdn.net/xianlingmao/article/details/7712217Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting这些术语,我经常搞混淆,现在把它们放在一起,以示区别。(部分文字来自网络,由于是之前记的笔记转载 2015-06-17 09:36:19 · 1068 阅读 · 0 评论 -
协同过滤推荐算法
转自:http://www.cnblogs.com/zhangchaoyang/articles/2664366.htmlCollaborative Filtering Recommendation向量之间的相似度度量向量之间的相似度方法很多了,你可以用距离(各种距离)的倒数,向量夹角,Pearson相关系数等。皮尔森相关系数计算公式如下:ρX,Y=cov(X,Y)σx转载 2015-06-16 16:33:40 · 822 阅读 · 0 评论 -
机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size
转自:http://blog.csdn.net/u012162613/article/details/44265967本文是《Neural networks and deep learning》概览 中第三章的一部分,讲机器学习算法中,如何选取初始的超参数的值。(本文会不断补充)学习速率(learning rate,η)运用梯度下降算法进行优化时,权重的更新规则转载 2015-06-16 18:14:53 · 874 阅读 · 0 评论 -
图搜索之A*算法、深度优先搜索和广度优先搜索
博客转自:http://blog.csdn.net/wds555/article/details/24148245A*算法概述:F=G+H初始化根节点的G、H、F;根节点加入open表;while(open表不为空){ 从open表中取出估价函数最小的节点作为当前节点P;//注意是取出,这里open表中元素数减一 if(P为目标节点)转载 2015-05-30 20:04:56 · 2567 阅读 · 0 评论 -
各种机器学习方法概念
博客转自:http://blog.csdn.net/wds555/article/details/45560757强化学习(Reinforcement Learning):所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是转载 2015-05-30 20:02:07 · 964 阅读 · 0 评论 -
cross validation 交叉验证
在pattern recognition与machine learning的相关研究中,经常会将dataset分为training跟test这两个subsets,前者用以建立model,后者则用来评估该model对未知样本进行预测时的精确度,正规的说法是generalization ability。交叉验证(Cross validation),有时亦称循环估计, 是一种统计学上将数据样本切原创 2015-06-01 10:47:36 · 1219 阅读 · 0 评论 -
深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
转自:http://blog.csdn.net/xianlingmao/article/details/7919597在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式约束,可以应用KKT条件去求取。当然,这两个方法求得的结果只是必要条件,只转载 2015-05-27 11:13:31 · 631 阅读 · 0 评论 -
LogitBoost学习
首先列出参考文献:Additive Logistic Regression: a Statistical View of Boosting还是J. Friedman的文章。这里主要讲LogitBoost,discrete adaboost和real adaboost相对LogitBoost和gentle adaboost比较简单,我之前的博客也有介绍,详见AdaBoost算法学习,相信你能看懂原创 2015-10-29 11:31:55 · 8079 阅读 · 0 评论 -
Fisher线性判别
Fisher线性判别(Fisher Linear Discrimination,FLD)方法是基于样本类别进行整体特征提取的有效方法。它在使用PCA方法进行降维的基础上考虑到训练样本的类间信息。FLD的基本原理就是找到一个最合适的投影轴,使各类样本在该轴上投影之间的距离尽可能远,而每一类内的样本的投影尽可能紧凑,从而使分类效果达到最佳,即在最大化类间距离的同时最小化类内距离。FLD方法在进行图像整原创 2015-05-19 16:41:25 · 31827 阅读 · 2 评论 -
ID3决策树
决策树决策树(Decision Tree)是用于分类和预测的主要技术,它着眼于从一组无规则的事例推理出决策树表示形式的分类规则,采用自顶向下的递归方式,在决策树的内部节点进行属性值的比较,并根据不同属性判断从该节点向下分支,在决策树的叶节点得到结论。因此,从根节点到叶节点就对应着一条合理规则,整棵树就对应着一组表达式规则。基于决策树算法的一个最大的优点是它在学习过程中不需要使用者了解很多...原创 2015-04-03 23:23:32 · 1415 阅读 · 0 评论 -
模糊C均值
FCM算法是一种基于划分的聚类算法,它的思想就是使得被划分到同一簇的对象之间相似度最大,而不同簇之间的相似度最小。模糊C均值算法是普通C均值算法的改进,普通C均值算法对于数据的划分是硬性的,而FCM则是一种柔性的模糊划分。硬聚类把每个待识别的对象严格的划分某类中,具有非此即彼的性质,而模糊聚类建立了样本对类别的不确定描述,更能客观的反应客观世界,从而成为聚类分析的主流。要学习模糊C均值聚类原创 2015-05-23 11:58:42 · 13099 阅读 · 0 评论 -
C4.5决策树
决策树构造的输入是一组带有类别标记的例子,构造的结果是一棵二叉树或多叉树。二叉树的内部节点(非叶子节点)一般表示为一个逻辑判断,如形式为a=a_j的逻辑判断,其中a是属性,a_j是该属性的所有取值:树的边是逻辑判断的分支结果。多叉树(ID3)的内部结点是属性,边是该属性的所有取值,有几个属性值就有几条边。树的叶子节点都是类别标记。由于数据表示不当、有噪声或者由于决策树生成时产生重复的子树等原因原创 2015-04-17 18:26:17 · 2342 阅读 · 0 评论 -
CART分类与回归树的原理与实现
CART(Classification And Regression Tree)算法采用一种二分递归分割的技术,将当前的样本集分为两个子样本集,使得生成的的每个非叶子节点都有两个分支。因此,CART算法生成的决策树是结构简洁的二叉树。如果目标变量是离散变量,则是classfication Tree,如果目标是连续变量,则是Regression Tree。CART树是二叉树,不像多叉树那样形成过多的原创 2015-04-16 22:31:09 · 24594 阅读 · 5 评论 -
用cnn做行人分类
机器学习数据库是关键,自己搜搜吧,规模太小训练不出来,正样本和负样本。训练之前要处理训练文件,这个我在之前的python图像操作这篇博文里写过,并有完整代码。也可以用我处理好的数据,稍后我会上传input_data.py"""Functions for downloading and reading MNIST data."""from __future__ import原创 2016-05-12 18:31:24 · 2138 阅读 · 2 评论 -
机器学习深度学习开源框架
都有python接口神经网络tensorflowtheanocaffechainer其他torch是lua语言机器学习dlibscikit-learn图像处理PILopencv矩阵/数值优化dlibnumpyscipy前面几个神经网络的基本都自带数值优化算法原创 2016-06-04 20:06:47 · 612 阅读 · 0 评论 -
蚁群算法
今天雨下的不小,无事可干,来研究研究蚁群算法。蚁群优化算法概述蚁群优化算法(Ant Colony Optimization,ACO)起源于对简单蚂蚁社会系统的模拟,是对蚂蚁群落食物采集过程的模拟,是一种群智能算法。目前,蚂蚁算法因其较强的鲁棒性,并行性,分布式计算机制,易于实现等特点,已在组合优化、网络路由、函数优化、数据挖掘、机器人路径规划、无线传感器网络性能优化等领域得到广泛的应用。原创 2015-05-02 10:48:36 · 2634 阅读 · 0 评论 -
kmeans聚类的实现
// spectral-cluster.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include#include#include#includeusing namespace std;//template class kmeans{private: vector>dataset; unsigned in原创 2015-09-30 01:39:23 · 1184 阅读 · 0 评论 -
meanshift聚类的实现
参见http://blog.csdn.net/u014568921/article/details/45197027// meanshift-cluster.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include#include#include#includeusing namespace std;#define原创 2015-09-23 23:04:36 · 3572 阅读 · 4 评论 -
birch聚类算法的原理与实现
参考百度百科http://baike.baidu.com/link?url=LDYen7bEqt8o2l5mUrnZjQk1topFi36-MwLuhjuGf-1z4sQFtFq1xCEe0TCJwYVjGbu0C6cpuVMFIxNglvSnoa外加http://www.cnblogs.com/zhangchaoyang/articles/2200800.html学习birch聚类最好有原创 2015-09-20 20:19:51 · 7755 阅读 · 2 评论 -
tsp问题——遗传算法解决
TSP问题最简单的求解方法是枚举法。它的解是多维的、多局部极值的、趋于无穷大的复杂解的空间,搜索空间是n个点的所有排列的集合,大小为(n-1)!。可以形象地把解空间看成是一个无穷大的丘陵地带,各山峰或山谷的高度即是问题的极值。求解TSP,则是在此不能穷尽的丘陵地带中攀登以达到山顶或谷底的过程。这一篇将用遗传算法解决TSP问题。1)评价。这个评价算法应该比较简单了,就是找计算总距离,原创 2015-08-19 19:57:51 · 3049 阅读 · 0 评论 -
随机森林分类器的实现
参见博客Random Forest随机森林算法决策树ID3Tree.h//#pragma once#ifndef ID3#define ID3#include#includeusing namespace std;#define Epsilon 0.000000001class Record{public: std::vector attri; int lab原创 2015-10-02 22:28:30 · 2938 阅读 · 0 评论 -
discrete adaboost的C++实现
参考之前的博文,AdaBoost算法学习实现的c++代码//adaboost.h#ifndef ADABOOST_H#define ADABOOST_H#include#include#include#includeusing namespace std;#define FEATURETYPE doublestruct FeaVec{ unsigned int原创 2015-09-15 22:22:56 · 1763 阅读 · 1 评论 -
Collaborative Filtering协同过滤推荐算法
from math import sqrtdataset={ 'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5, 'Just My Luck': 3.0, 'Superman Returns': 3.5, 'You, Me and Dupree':原创 2016-06-16 17:24:23 · 1217 阅读 · 0 评论 -
RBF网络
RBF (Radial Basis Function)可以看作是一个高维空间中的曲面拟合(逼近)问题,学习是为了在多维空间中寻找一个能够最佳匹配训练数据的曲面,然后来一批新的数据,用刚才训练的那个曲面来处理(比如分类、回归)。RBF的本质思想是反向传播学习算法应用递归技术,这种技术在统计学中被称为随机逼近。RBF里的basis function(径向基函数里的基函数)就是在神经网络的隐单元里提供了原创 2015-04-13 19:52:13 · 8247 阅读 · 1 评论 -
朴素Bayes
假设某个体有n项特征(Feature),分别为F1、F2、...、Fn。现有m个类别(Category),分别为C1、C2、...、Cm。贝叶斯分类器就是计算出概率最大的那个分类,也就是求下面这个算式的最大值:P(C|F1F2...Fn) = P(F1F2...Fn|C)P(C) / P(F1F2...Fn)由于 P(F1F2...Fn) 对于所有的类别都是相同的,可以省略,问原创 2015-04-03 23:24:34 · 804 阅读 · 0 评论 -
pagerank算法
PageRank算法简介及Map-Reduce实现深入浅出PageRank算法原创 2016-07-26 16:42:40 · 709 阅读 · 0 评论 -
DBSCAN聚类算法的实现
参考wikihttps://en.wikipedia.org/wiki/DBSCANDBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状原创 2015-09-18 14:55:00 · 4390 阅读 · 0 评论 -
learning to rank
学习排序 Learning to Rank 小结原创 2016-07-29 10:00:16 · 664 阅读 · 0 评论 -
MRF马尔科夫随机场
PGM学习之七 MRF,马尔科夫随机场原创 2016-10-10 15:34:11 · 1772 阅读 · 0 评论 -
K临近算法
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几原创 2015-03-26 10:02:31 · 1690 阅读 · 0 评论 -
AdaBoost算法学习
Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。AdaBoost是一种具有一般性的分类器提升算法,它使用的分类器并不局限某一特定算法。原创 2015-04-03 22:12:45 · 4220 阅读 · 2 评论 -
GMM聚类算法的实现
在GMM中使用EM算法聚类我们使用k个多元高斯分布的混合高斯分布GMM来对数据进行聚类,其中每一个分布代表一个数据簇。首先,随机选择k个对象代表各个簇的均值(中心),猜测每一个簇的协方差矩阵,并假定初始状态 时每个簇的概率相等; 然后,根据多元高斯密度函数求出每一个对象属于每一个簇的概率,并求出数据的似然函数值;最后,根据每一个数据点属于每一个簇的概率,来更新每一个簇的均值,协方差矩阵,和原创 2015-04-14 23:04:47 · 8209 阅读 · 1 评论 -
模拟退火
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数原创 2015-04-08 00:57:15 · 985 阅读 · 0 评论 -
蒙特卡洛思想及MCMC
投针实验可以用来计算圆周率,这里面的数学证明方法可能大家没有深究过。 投针问题的由来 1777年法国科学家布丰提出的一种计算圆周率的方法——随机投针法,即著名的蒲丰投针问题。 这一方法的步骤是: 1) 取一张白纸,在上面画上许多条间距为d的平行线。 2) 取一根长度为l(l 3)计算针与直线相交的概率. 布丰本人证明了,这个概率是:p=2*原创 2015-06-19 21:09:27 · 2677 阅读 · 0 评论