数学之美
文章平均质量分 62
a345017062
这个作者很懒,什么都没留下…
展开
-
老太太买菜与最大熵模型
问题一个老太太去买菜,市场上有西红柿、白菜、豆腐、咸菜、馒头、西瓜、樱桃、苹果、猪肉、牛肉、羊肉 1、从不吃肉 2、早上去的话,是为家人准备一天的水果 3、下午去的话,是为了晚饭炒菜用 4、喜欢买应季的东西,觉得这样既便宜又健康 现在计算一下,6月的一天早上老太太去了市场,她买上面这些东西的概率分别为多少?解题要解这个问题,我们分为两步来考虑:考虑所有的已知条件:1、因为不吃肉,所以猪肉、原创 2016-05-24 14:36:35 · 3559 阅读 · 0 评论 -
连续分布——正态分布、卡方分布、t分布、F分布
正态分布某一地区的人群生长环境相似,我们随机选20个男性,量出他们的身高,近似地服从正态分布。正态分布,即高斯分布,是自然界最常见的数据分布了。 用均值、标准差来确定一个正态分布概率密度图。比如N(-2,0.5),就是均值为-2,标准差为0.5的正态分布。而N(0,1)称为标准正态分布。这里给出R应用//假设当在居民的身高正态分布均值为170cm,标准差为10,身高低于160的概率为pnorm(原创 2016-09-22 13:25:12 · 22152 阅读 · 0 评论 -
离散分布——二项分布、多项分布、超几何分布
介绍二项分布前,先了解一下伯努利实验。 比如一个鸡蛋是否能成功孵出小鸡,扔硬币,进入商店的人是否购买了东西,一个正在生产的产妇是生男生女,这些都是伯努利实验。它满足以下条件:1、每次只可能有两种结果;2、两次实验之间互不影响。 和伯努利实验最常见的问题就是:如果进行n次伯努利实验,每次成功概率为p,那么成功k次的概率是多少?这个概率分布就是二项分布。这里给出R语言应用 已知某批鸡蛋的孵出原创 2016-09-21 14:03:39 · 8349 阅读 · 1 评论 -
R+ODPS
阿里的数加平台最近推出了机器学习数据实验室,由于是基于ODPS创建,运算方面丝毫不是问题,继承了ODPS的大数据计算能力。 算法方面,常见的二分类、多分类、线性回归、聚类、图计算等都有提供,纯图形的操作方式也很简单。 计费方式同ODPS差不多,按IO和计算量计费,起步门槛很低。 有兴趣可以玩一玩:https://data.aliyun.com/product/learn老码农玩了一段时间,觉得原创 2016-09-20 08:55:45 · 2009 阅读 · 1 评论 -
数据分布未明确时的检验方法
通常,数据有一个比较明确的分布方式,如二项分布、正态分布等,也就存在针对具体分布方式的明确检验方法。 下面这些检验方式是在数据没有明确的分布方式的情况下使用的,相比有针对明确分布数据集的检验方式,效率更低,需要的样本量更大,更粗糙。一个数据集可以使用多种方式检验零假设,但只要有一种检验方式拒绝零假设,那就可以判定拒绝零假设。符号检验也叫sign test。在这篇文章中提到的身高的例子,在这里我们并原创 2016-09-22 21:26:24 · 3130 阅读 · 0 评论 -
一些常见的特征选择方法
现实中产生的特征维度可能很多,特征质量参差不齐,不仅会增加训练过程的时间,也可能会降低模型质量。因此,提取出最具代表性的一部分特征来参与训练就很重要了。 通常有特征抽取和特征选择两种方法。这里分别介绍一下。特征抽取与PCA特征抽取中最常见的当属PCA了。主要思想对于特征之间存在正交关系,数据满足高斯分布或指数分布的数据,作线性变换,使用方差、协方差去噪,生成新的主元,接下来按重要性排序后取少数参与原创 2016-09-20 18:10:46 · 6403 阅读 · 0 评论 -
离散分布——泊松分布、指数分布
概述搜索引擎使用网络爬虫在爬网页时,有一个重要的策略是对已经爬过的网页,要隔段时间重爬一次,防止网页更新导致索引库中的网页过期。怎么确定这个时间间隔呢?通常会用到泊松分布。泊松分布先解释一下泊松分布:假设过去很长一段时间内的跟踪统计数据表明,某医院每个小时会出生3个小孩儿,这个数据就属于泊松分布。因为这个数据满足几个条件:1、这个数据是在很长的一个时间段内来统计得到的;2、每小时出生的小孩儿基本稳定原创 2016-05-11 16:27:17 · 14235 阅读 · 0 评论 -
搜索引擎反作弊与幂律分布
幂律反作弊由于搜索引擎普遍基于PageRank在做,有一种很常见的手法就是给一个网页设置足够多的入链和出链,以提高网页的搜索权重。搜索引擎针对这种作弊方式,会用到“幂律分布”来识别。即,网页的出链和入链是否满足以下规律:少量链接拥有大量流量,大量链接拥有少量流量。也可以更通俗的说,是否符合二八定理。如果一个网页的出链和入链不满足这个规律,那存在作弊行为的可能性就会比较大。幂律分布幂律分布的函数表示,原创 2016-05-18 21:01:39 · 3423 阅读 · 0 评论 -
几种常见的搜索引擎检索模型
布尔模型苹果 AND 公司:表示搜索既包含“苹果”,又包含“公司”这两个词的文档。 苹果 OR 公司:表示搜索包含“苹果”,或包含“公司”这两个词中任意一个的文档。 特点:简单粗暴向量空间模型把文档被分词后的每一个词当作向量空间的一个维度,把文档表示为一个线性矩阵,比较某个文档的矩阵和查询词的矩阵之间的余弦距离,距离越近,则相关性越大。最后根据相关性对搜索结果做排序。 注意事项:使用TF-ID原创 2016-05-14 10:24:57 · 12416 阅读 · 0 评论 -
伟大的数学家马尔可夫,以及他对互联网的重要贡献
100多年前,有一个伟大的前苏联数学家马尔可夫,他想用数学去描述自然界中的事物,于是提出了一个简单到几句话就可以说清楚的模型,从而奠定了100年后当今互联网世界无数技术的理论基础。故事就是从这个模型开始的。马尔可夫链有这么一个随机变量序列,X0、X1、X2、X3…,其中,X1的取值取决于X0,X2的取值取决于X1,X3的取值取决于X2,… 形象化来讲,我们管它叫马尔可夫链。这里举个具体的例子说明一原创 2016-05-21 17:12:03 · 3477 阅读 · 0 评论 -
盗窃、养狗与概率的故事
条件概率假设有两个随机事件A、B,事件A发生的概率为P(A),事件B发生的概率为P(B),那么事件B已经发生的条件下,事件A发生的概率记为P(A|B),这就是条件概率。 计算条件概率的公式很简单,可以写成: 即,A和B事件同时发生的概率/B事件发生的概率。条件概率的应用用下面的例子来进一步说明一下: 一座别墅在过去的 20 年里一共发生过 2 次被盗,别墅的主人有一条狗,狗平均每周晚上叫 3原创 2016-05-20 12:22:26 · 2840 阅读 · 0 评论 -
常见算法及问题场景——字符串匹配
思路字符串匹配的思路大致分几种: 1、暴力匹配。 2、基于暴力匹配进行优化。进行预计算,一旦发现失败匹配之后,可以跳过更多的位置,减少无谓的浪费。 这篇文档提到了许多按这个思路实现的算法各具特点 http://blog.csdn.net/airfer/article/details/8951802/ 但最具代表性的算法还是KM,这篇文档讲的非常详细: http://www.ruanyif原创 2016-09-06 19:17:50 · 2300 阅读 · 0 评论 -
基本数学概念——数列
这里介绍常见的数列,及其R实现等差数列seq(1,5,2)//输出结果:1,3,5等比数列等差数列的每一项作为常数的指数即可data<-seq(1,5,2)//先生成等差数列10^data//以10为底数,生成等比数列//输出结果:1e+01 1e+03 1e+052^data//以2为底数,生成等比数列//输出结果:2 8 32重复数列rep(1,5)//生成5个1。//输出结果:1原创 2016-09-19 16:29:34 · 997 阅读 · 0 评论 -
常见算法及问题场景——线性规划
数据模型1、约束条件及目标函数 2、约束条件所表示的可行域 3、在可行域内求目标函数的最优解及最优值理论体系几何上,线性约束条件的集合相当于一个凸包或凸集,叫做可行域。 目标函数亦是线性的,所以其极值点会自动成为最值点。而线性目标函数暗示其最优解只会出现在其可行域的边界点中。两种情况下无解: 1、约束条件互相矛盾,即坐标系中可行域为空。 2、约束条件构成的多面体可行域无限大。现实问题很少会原创 2016-09-06 16:35:08 · 2115 阅读 · 0 评论 -
创业公司使用R语言搭建简单的数据分析系统
概述整个系统分为三个服务 一、数据源。这个可以是各种形式的数据库。当然,你如果有高大上的Hadoop也是可以的。 二、分析引擎。就是R了,这里我们使用Rserve搭建一个服务。 三、分析脚本容器。根据每一个数据分析需求我们都会写成一个R脚本,放到容器中,由容器来做参数分发,脚本调用,结果输出。数据源这个就不需要细说了,把公司自己的数据源接过来,向分析引擎开放Read权限就行了。可以是MySQL原创 2016-02-15 14:49:40 · 3029 阅读 · 0 评论 -
R语言适配问题集锦
绘图时的中文乱码问题我这是Mac Yousemite 10.10.5,在两个地方遇到了中文乱码1、使用wordcloud包绘制中文标签云时。library(wordcloud)mydata <- read.csv('word-count.txt',header=T,stringsAsFactors=F)jpeg(filename='wordcloud.jpg', width=800,height原创 2016-02-16 09:47:55 · 3683 阅读 · 0 评论 -
从一条石家庄到长沙的最好路线
看上面这张图,我们从石家庄出发,到长沙。中间经过河北、河南、湖北、湖南上个省份。 我们这里说几种走法。贪心贪心是每一步只考虑眼前最优解,然后一步一步往前走。 从石家庄开始,只考虑方向朝南的最近的城市做为下一个目的地。那么路线依次是邢台、邯郸、安阳、鹤壁、郑州、许昌、周口、南阳、襄阳、荆门、荆州、常德、长沙。动态规划在石家庄到长沙的最优方案中,我们知道郑州、武汉都是大节点,是肯定会经过的,那我们只原创 2016-05-21 17:15:54 · 7232 阅读 · 2 评论 -
常见算法及问题场景——图
最短路径现实场景1、一批货从北京到广州的的最快,或最省钱的走法。 把路线中各城市当作图的顶点,各城市之间的花费时间,或金钱当作边的权重,求两点之间的最短路径。 2、在城市群中建一个仓储基地,建在什么位置可以让各个城市的送货速度都比较快。 同1,把各城市间的送货速度当作边的权重,求仓储基地到各城市间的最短路径。算法1、Dijkstra,单源最短路径。 2、Floyd,两点最短路径。 参考链接原创 2016-09-01 10:13:02 · 4807 阅读 · 0 评论 -
常见算法及问题场景——动态规划
先推荐一篇讲动态规划讲得很好的文章: http://www.hawstein.com/posts/dp-novice-to-advanced.html 接下来从几个经典问题来看。硬币组合问题有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元?思路依次计算出0~11元的组合,并记录,每一个组合是前面所有组合中的某一个与1元、3元、5元硬币的搭配,并在搭配集合中取最小的一个。f(y)原创 2016-09-02 21:17:09 · 2214 阅读 · 0 评论 -
常见算法及问题场景——分治
总述把问题分为几个独立的子问题,对子问题求解,进行合并,得到最终问题的解。问题1、二分查找 2、大整数乘法 3、Strassen矩阵乘法 4、棋盘覆盖 5、合并排序 6、快速排序 7、线性时间选择 8、最接近点对问题 9、循环赛日程表 10、汉诺塔原创 2016-09-05 21:33:34 · 1503 阅读 · 0 评论 -
常见算法及问题场景——贪心算法
总述1、求解思路:把问题分解为多个子问题,只要依次求出子问题的最优解,就能得到最终问题的最优解。即,只需要考虑局部最优,就能得到全局最优。 2、局限性:需要先确认一个问题具有上述特点,才能使用贪心算法求解。适用场景1、单源最短路经问题 2、最小生成树问题 3、可任意分割的背包问题。如果不可以任意分割,就需要用动态规划求解。 4、某些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解原创 2016-09-05 21:17:35 · 9876 阅读 · 0 评论 -
基本数学概念——集合
这里找了一个集合的基本操作的应用场景,并给出了R求解过程。问题一个班级有10个人,学号编号分别为1、2、3、4、5、6、7、8、9、10。其中,{1、2、3}3个人参加了物理竞赛,{3、4、9}5个人参加了数学竞赛,{2、3、4、6、8}5个人参加了作文竞赛,{1、2、4、5、7、8}6个人参加了英文竞赛。 分别找出以下的人: 1、参加了物理竞赛或数学竞赛的所有人。 2、既参加了物理竞赛,又参原创 2016-09-19 10:44:13 · 905 阅读 · 0 评论 -
常见算法及问题场景——散列(哈希)
定义哈希函数按照定义可以实现一个伪随机数生成器(PRNG),从这个角度来看,哈希函数之间性能、质量等方面的比较,可以通过其在伪随机生成质量方面的比较来衡量。评价体系:1、泊松分布可以用于分析不同的哈希函数对不同的数据的碰撞率(collision rate)。 2、算法复杂度,以及运行时间。 3、位偏向。哈希函数生成随机位序列时,产生高、低位的位偏向应该各为50%。 4、完美的哈稀函数不存在,只原创 2016-09-06 15:49:22 · 1767 阅读 · 0 评论 -
文本相似度的那些算法
子序列与子字符串这个系列问题包含这么几种:最大子序列、最长递增子序列、最长公共子串、最长公共子序列。 几个子问题都可以用动态规划的思路来求解。对于长度为i、j的两个字符串 ,使用m[i][j]矩阵来存放中间结果。更详细的算法可以看这篇文档: http://www.cnblogs.com/zhangchaoyang/articles/2012070.html字符串编辑距离精确计算两个字符串的编辑距原创 2016-09-27 17:04:51 · 18018 阅读 · 0 评论