algorithm
文章平均质量分 81
macyang
Chance is waiting for prepared people and my Status is read the fucking source code.
展开
-
K-Means 算法
最近在学习一些数据挖掘的算法,看到了这个算法,也许这个算法对你来说很简单,但对我来说,我是一个初学者,我在网上翻看了很多资料,发现中文社区没有把这个问题讲得很全面很清楚的文章,所以,把我的学习笔记记录下来,分享给大家。在数据挖掘中, k-Means 算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。问题转载 2013-02-01 23:51:30 · 691 阅读 · 0 评论 -
从K近邻算法、距离度量谈到KD树、SIFT+BBF算法
从K近邻算法、距离度量谈到KD树、SIFT+BBF算法前言 前两日,在微博上说:“到今天为止,我至少亏欠了3篇文章待写:1、KD树;2、神经网络;3、编程艺术第28章。你看到,blog内的文章与你于别处所见的任何都不同。于是,等啊等,等一台电脑,只好等待..”。得益于田,借了我一台电脑(借他电脑的时候,我连表示感谢,他说“能找到工作全靠你的博客,这点儿小忙转载 2014-08-23 22:12:22 · 2010 阅读 · 0 评论 -
漫谈 Clustering 系列
漫谈 Clustering (1): k-means漫谈 Clustering (2): k-medoids漫谈 Clustering (番外篇): Vector Quantization漫谈 Clustering (3): Gaussian Mixture Model漫谈 Clustering (追忆篇): Regularized GMM漫谈 Clustering (番外篇): Ex转载 2014-08-25 11:12:19 · 1211 阅读 · 0 评论 -
支持向量机系列
基本篇:支持向量机: Maximum Margin Classifier —— 支持向量机简介。支持向量机: Support Vector —— 介绍支持向量机目标函数的 dual 优化推导,并得出“支持向量”的概念。支持向量机:Kernel —— 介绍核方法,并由此将支持向量机推广到非线性的情况。支持向量机:Outliers —— 介绍支持向量机使用松弛变量处理 outliers 方法。转载 2014-08-25 11:13:20 · 1074 阅读 · 0 评论 -
数据挖掘十大经典算法
国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.不仅仅是选中的十大算法,其实参加评选的18种算法,转载 2014-08-13 17:12:26 · 1102 阅读 · 0 评论 -
对线性回归,logistic回归和一般回归的认识
1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识。前四节主要讲述了回归问题,回归属于有监督学习中的一种方法。该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数学模型用于预测或者分类。该方法处理的数据可以是多维的。 讲义最初介绍了一个基本问题,然后引出了线性回归的解决方法,然后针对误差问题做了概率解释。之后介绍了logist转载 2014-08-28 21:30:36 · 1141 阅读 · 0 评论 -
支持向量机SVM(一)
1 简介支持向量机基本上是最好的有监督学习算法了。最开始接触SVM是去年暑假的时候,老师要求交《统计学习理论》的报告,那时去网上下了一份入门教程,里面讲的很通俗,当时只是大致了解了一些相关概念。这次斯坦福提供的学习材料,让我重新学习了一些SVM知识。我看很多正统的讲法都是从VC 维理论和结构风险最小原理出发,然后引出SVM什么的,还有些资料上来就讲分类超平面什么的。这份材料从前几节讲的lo转载 2014-08-28 22:27:19 · 1084 阅读 · 0 评论 -
支持向量机SVM(二)
6 拉格朗日对偶(Lagrange duality) 先抛开上面的二次规划问题,先来看看存在等式约束的极值问题求法,比如下面的最优化问题: 目标函数是f(w),下面是等式约束。通常解法是引入拉格朗日算子,这里使用来表示算子,得到拉格朗日公式为 L是等式约束的个数。 然后分别对w和求偏导,使得偏转载 2014-08-28 22:39:48 · 890 阅读 · 0 评论 -
支持向量机(三)核函数
7 核函数(Kernels)考虑我们最初在“线性回归”中提出的问题,特征是房子的面积x,这里的x是实数,结果y是房子的价格。假设我们从样本点的分布中看到x和y符合3次曲线,那么我们希望使用x的三次多项式来逼近这些样本点。那么首先需要将特征x扩展到三维,然后寻找特征和结果之间的模型。我们将这种特征变换称作特征映射(feature mapping)。映射函数称作,在这个例子中转载 2014-08-28 22:45:34 · 1094 阅读 · 0 评论 -
支持向量机(四)
9 规则化和不可分情况处理(Regularization and the non-separable case)我们之前讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝试使用核函数来将特征映射到高维,这样很可能就可分了。然而,映射后我们也不能100%保证可分。那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面。看下面两张转载 2014-08-28 22:44:56 · 747 阅读 · 0 评论 -
支持向量机(五)SMO算法
11 SMO优化算法(Sequential minimal optimization)SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规划优化算法,特别针对线性SVM和数据稀疏时性能更优。关于SMO最好的资料就是他本人写的《Sequential Minimal Optimization A Fast Algorithm for转载 2014-08-28 22:47:35 · 900 阅读 · 0 评论 -
趣写算法系列之--匈牙利算法
【书本上的算法往往讲得非常复杂,我和我的朋友计划用一些简单通俗的例子来描述算法的流程】匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。-------等等,看得头大?那么请看下面的版本:通转载 2014-09-16 17:46:39 · 804 阅读 · 0 评论 -
机器学习常见算法分类汇总
机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。这里IT经理网为您总结一下常见的机器学习算法,以供您在工作和学习中参考。机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性。学习方式根据数据类型的转载 2015-02-26 13:06:30 · 1175 阅读 · 0 评论 -
Adaboost 算法的原理与推导
0 引言 一直想写Adaboost来着,但迟迟未能动笔。其算法思想虽然简单:听取多人意见,最后综合决策,但一般书上对其算法的流程描述实在是过于晦涩。昨日11月1日下午,邹博在我组织的机器学习班第8次课上讲决策树与Adaboost,其中,Adaboost讲得酣畅淋漓,讲完后,我知道,可以写本篇博客了。 无心啰嗦,本文结合邹博之决策树与Adaboost 的PPT,跟他讲Ad转载 2015-02-27 15:30:47 · 1703 阅读 · 0 评论 -
Statistical Data Mining Tutorials
Advertisment: In 2006 I joined Google. We are growing a Google Pittsburgh office on CMU's campus. We are hiring creative computer scientists who love programming, and Machine Learning is one the foc转载 2015-02-27 15:43:37 · 1167 阅读 · 0 评论 -
从决策树学习谈到贝叶斯分类算法、EM、HMM
第一篇:从决策树学习谈到贝叶斯分类算法、EM、HMM (Machine Learning & Data Mining交流群:8986884)引言 最近在面试中,除了基础 & 算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法(当然,这完全不代表你将来的转载 2014-08-23 22:06:34 · 2614 阅读 · 0 评论 -
支持向量机通俗导论(理解SVM的三层境界)
支持向量机通俗导论(理解SVM的三层境界)作者:July、pluskid ;致谢:白石、JerryLead出处:结构之法算法之道blog。前言 动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清转载 2014-08-23 22:09:56 · 325821 阅读 · 84 评论 -
数学之美番外篇:平凡而又神奇的贝叶斯方法
数学之美番外篇:平凡而又神奇的贝叶斯方法By 刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba)TopLanguage(http://groups.google.com/group/pongba)概率论只不过是把常识用数学公式表达了出来。——拉普拉斯记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛转载 2014-08-22 17:06:39 · 990 阅读 · 0 评论 -
Geohash算法
1.算法背景 Geohash的初衷是如何用尽量短的URL来标志地图上的某个位置,而地图上的位置一般是用经纬度来表示,问题就转化为如何把经纬度转化为一个尽量短的URL。 Geohash的算法描述请参考:http://en.wikipedia.org/wiki/Geohash ,本文的主要目的是更加细致地解释该算法的原理及实用场景。2.算法 算法的主要转载 2013-02-02 21:05:54 · 1510 阅读 · 0 评论 -
geohash:用字符串实现附近地点搜索
一些小型应用中这样做没问题,但在大型应用中它有个显著的缺点:速度慢。慢的原因有两个, 第一是范围比较的索引利用率并不高,第二是SQL语句极其不稳定(不同的当前位置会产生完全不同的SQL查询),很难缓存。可以考虑使用geohash算法。geohash是一种地址编码,它能把二维的经纬度编码成一维的字符串。比如,北海公园的编码是wx4g0ec1。geohash有以下几个特转载 2013-02-02 21:17:50 · 10171 阅读 · 0 评论 -
Geohash Introduction
Occasionally I come across a nugget of technology that is so simple and elegant it makes me glad to be a Software Engineer. Today’s such nugget is the Geohash system, which is a simple way to encode转载 2013-10-08 18:31:49 · 1041 阅读 · 0 评论 -
FP-Tree算法的实现
在关联规则挖掘领域最经典的算法法是Apriori,其致命的缺点是需要多次扫描事务数据库。于是人们提出了各种裁剪(prune)数据集的方法以减少I/O开支,韩嘉炜老师的FP-Tree算法就是其中非常高效的一种。支持度和置信度严格地说Apriori和FP-Tree都是寻找频繁项集的算法,频繁项集就是所谓的“支持度”比较高的项集,下面解释一下支持度和置信度的概念。设事务数据库为:转载 2014-07-21 10:10:50 · 1146 阅读 · 0 评论 -
深入浅出K-Means算法
摘要:在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。在数据挖掘中,K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。问题K-Means算法主要解决的问题如下图所示。我们可以看到,在图的左转载 2014-07-30 16:18:30 · 621 阅读 · 0 评论 -
算法杂货铺——分类算法之决策树(Decision tree)
3.1、摘要 在前面两篇文章中,分别介绍和讨论了朴素贝叶斯分类与贝叶斯网络两种分类算法。这两种算法都以贝叶斯定理为基础,可以对分类及决策问题进行概率推断。在这一篇文章中,将讨论另一种被广泛使用的分类算法——决策树(decision tree)。相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际应用中,对于探测式的知识发现,决策树更加适用。转载 2014-07-31 10:52:26 · 1216 阅读 · 0 评论 -
信息增益,信息增益率,Gini
这三个指标均是决策树用来划分属性的时候用到的,其中信息增益(Info Gain)用于ID3,Gini用于CART,信息增益率(Info Gain Ratio)用于C4.5。提到前两个指标的计算时,首先要讲到的是关于熵(Entropy)的计算。1、熵(Entropy)理论上来说用于决策树的属性选择函数,为方便计算,往往是定义为其属性的不纯性度量,那么必须满足如下三个条件:当结转载 2014-08-01 16:26:00 · 1378 阅读 · 0 评论 -
机器学习中的数学(2)-线性回归,偏差、方差权衡
前言: 距离上次发文章,也快有半个月的时间了,这半个月的时间里又在学习机器学习的道路上摸索着前进,积累了一点心得,以后会慢慢的写写这些心得。写文章是促进自己对知识认识的一个好方法,看书的时候往往不是非常细,所以有些公式、知识点什么的就一带而过,里面的一些具体意义就不容易理解了。而写文章,特别是写科普性的文章,需要对里面的具体意义弄明白,甚至还要能举出更生动的例子,这是一个挑战。为了写转载 2014-08-21 23:46:46 · 725 阅读 · 0 评论 -
机器学习中的算法(2)-支持向量机(SVM)基础
前言: 又有很长的一段时间没有更新博客了,距离上次更新已经有两个月的时间了。其中一个很大的原因是,不知道写什么好-_-,最近一段时间看了看关于SVM(Support Vector Machine)的文章,觉得SVM是一个非常有趣,而且自成一派的方向,所以今天准备写一篇关于关于SVM的文章。 关于SVM的论文、书籍都非常的多,引用强哥的话“SVM是让应用数学家真正得到应用转载 2014-08-21 22:53:30 · 794 阅读 · 0 评论 -
机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在verycd可下载,可惜没有翻译。不过还是可以看。另外一个是prml-pattern recognition and machine learning, Bishop的一部反响不错的书转载 2014-08-21 23:32:13 · 750 阅读 · 0 评论 -
机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
前言: 第二篇的文章中谈到,和部门老大一宁出去outing的时候,他给了我相当多的机器学习的建议,里面涉及到很多的算法的意义、学习方法等等。一宁上次给我提到,如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解LDA就是很有必要的了。 谈到LDA,就不得不谈谈PCA,PCA是一个和LDA非常相关的转载 2014-08-22 12:05:29 · 789 阅读 · 0 评论 -
机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用转载 2014-08-22 13:10:58 · 949 阅读 · 0 评论 -
机器学习中的数学(3)-模型组合(Model Combining)之Boosting与Gradient Boosting
前言: 本来上一章的结尾提到,准备写写线性分类的问题,文章都已经写得差不多了,但是突然听说最近Team准备做一套分布式的分类器,可能会使用Random Forest来做,下了几篇论文看了看,简单的random forest还比较容易弄懂,复杂一点的还会与boosting等算法结合(参见iccv09),对于boosting也不甚了解,所以临时抱佛脚的看了看。说起boosting,强哥之转载 2014-08-22 11:19:12 · 605 阅读 · 0 评论 -
机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)
前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大。 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺转载 2014-08-22 14:03:31 · 1446 阅读 · 0 评论 -
机器学习中的算法(1)-决策树模型组合之随机森林与GBDT
前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等。但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的。 模型组合(比如说有Boosting,Bagging等)与决策树相关的算法比较多,这些算法最终的结果是生成N转载 2014-08-21 22:48:50 · 1911 阅读 · 0 评论