摘要:
2017-12-30 19:25:03 Knuth-Morris-Pratt 字符串查找算法(常简称为“KMP算法”)可在一个主文本字符串内查找一个词的出现位置。此算法通过运用对这个词在不匹配时本身就包含足够的信息来确定下一个匹配将在哪里开始的发现,从而避免重新检查先前匹配的字符。 这个算法是由高德 阅读全文
摘要:
2017-12-30 17:01:18 递归问题的时间复杂度分析广泛存在于分治法和DP中,根据算法导论的记载,可以使用主定理的公式直接计算。另外,这篇文章介绍一下使用迭代手算的过程。 主定理 迭代计算 有一点需要说明:2^k*T(n/2^k) = 2^k*T(1) := 2^k*O(1) = n*O 阅读全文
摘要:
2017-12-18 23:42:33 一、什么是深度学习 深度学习(deep neural network)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 --Wiki 在人工智能领域,有一个方法叫机器学习。在机器学习这个方法里,有一类算法 阅读全文
摘要:
2017-12-20 22:22:55 Dijkstra算法是用来计算单源最短路径(Single-Source Shortest Paths,SSSP)的一种常用算法,该算法要求所有的权值为非负值。即从单个源点出发,到所有结点的最短路。该算法同时适用于有向图和无向图。 输入:图的邻接矩阵或者是邻接表 阅读全文
摘要:
2017-12-17 19:12:10 一、Evolutionary Algorithm 进化算法,也被成为是演化算法(evolutionary algorithms,简称EAs),它不是一个具体的算法,而是一个“算法簇”。进化算法的产生的灵感借鉴了大自然中生物的进化操作,它一般包括基因编码,种群初 阅读全文
摘要:
2017-12-17 13:08:50 SVM所做的工作简言之就是找到一个超平面将两组数据分开,并且这个超平面的Margin要最大。 一、线性SVM 所谓线性SVM是指一组数据是线性可分的,也就是说存在一个超平面可以将数据进行二分。 任何超平面都可以写作满足下面方程的点集 : x → {\displ 阅读全文
摘要:
2017-12-15 19:43:07 决策树算法是每次按一个特征进行分类直到分完。 每次选择分类的特征很重要,我们希望的情况是,前几次分类就能将总体分得七七八八,最后再进行一些细枝末节的分类。 首先先举个例子来直观的了解一下决策树算法。 小王是一家著名高尔夫俱乐部的经理。但是他被雇员数量问题搞得心 阅读全文
摘要:
2017-12-15 19:08:50 朴素贝叶斯分类器是一种典型的监督学习的算法,其英文是Naive Bayes。所谓Naive,就是天真的意思,当然这里翻译为朴素显得更学术化。 其核心思想就是利用贝叶斯公式来计算各个类别的概率,最后从中选择概率最大的那个作为最终的结果。 贝叶斯公式: 朴素贝叶斯 阅读全文
摘要:
2017-12-04 15:20:07 所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。 推荐算法主要有两种: 基于内容: 原理是用户喜欢和自己关注过的Item在内容上类似的Item,比如你看了哈利波特I,基于内容的推荐算法发现哈利波特II-VI,与你以前观看的在内容 阅读全文
摘要:
2017-12-04 16:31:10 数据预处理(data preprocessing)是指在主要的处理以前对数据进行的一些处理。 比如缺项,噪声(工资=-100),不匹配(年龄和出生日期不匹配),冗余等等。 一、数据清洗 1)缺少数据 可能的原因有设备故障,数据没有提供,N/A不适用。 缺少数据 阅读全文