读书笔记-《白话大数据与机器学习》

目录 读书

什么是商业智能

到目前为止,业界普遍比较认可的方式就是基于大量的数据所做的规律性分析。因而,市面上成熟的商业智能软件大多都是基于数据仓库做数据建模和分析,以及数据挖掘和报表的。

标准差

标准差大则说明学生之间的考试成绩水平相差比较大。

泊松分布

泊松分布适用的事件需要满足以下 3个条件。

  • (1)这个事件是一个小概率事件。
  • (2)事件的每次发生是独立的不会相互影响。
  • (3)事件的概率是稳定的。

这里需要用到“累积概率”,其实“累积概率”的用法在前面高斯分布的研究中已经用过了,就是指自变量取值在一个区间内的所有概率的加和,在高斯分布的例子里从 μ-σ到 μ + σ之间的自变量取值会涵盖 68. 2%的样本空间

信息量的理解

因此,事件出现的概率越小,信息量越大,即信息量的多少是与事件发生频繁程度, 程度大小(即概率大小)恰好相反的,这里不能称作成反比,因为它们不是倒数关系。

Xi表示一个发生的事件, P表示这个事件发生的先验概率。所谓先验概率,就是这个事件按照常理,按照一般性规律发生的概率。

聚类

在没有人特意教授不同小种群的称谓与特性之前,人类自然具备这种主观的认知能力,以特征形态的相同或近似将它们划在一个概念下,以特征形态的不同划在不同的概念下,这本身就是聚类的思维方式。

孤立点

在聚类的过程中,会常常碰到一些离主群或者离每个群都非常远的点,这种点就叫作孤立点,也叫离群点。孤立点在很多数据研究材料中是专门作为一类研究方法来研究的。

例如,在银行的信用卡诈骗识别中,研究孤立点就是很好的办法,通过对大量的信用卡用户信息和消费行为进行向量化建模和聚类,发现在聚类中远离大量样本的点显得非常可疑——因为他们和一般性的信用卡用户特性不同,他们的消费行为和一般性的信用卡消费行为也相去甚远。还有医学领域和刑侦领域的大数据研究中都大量应用了孤立点的研究技术。在某些大型网络商城里,为了防止一些商家恶意刷单,也采用了与刑侦手段相似的措施,对店铺的销售行为以及买家的购买行为进行聚类,看看有哪些对象是与一般性的店铺销售行为或者买家购买行为差异巨大的,从而做出规则上的预防。

层次聚类

可以通过对生物解剖学的特征进行向量建模,也可以根据 DNA的特征进行向量建模然后挖掘。此外,层次聚类的思路也可以用于对人们社会活动中的一些现象进行总结,如一个做歌曲发布的网站,如果希望做推荐算法,可以考虑对一个人爱听的歌曲进行层次化的聚类。对每首爱听的歌曲进行向量建模,如对一首歌的各个信息维度进行建模,例如: (’音域’,’调式’,’节拍’,’速度’,’配乐乐器’,’国家元素’,’滑音’,’长音’,’语言’,’歌手年龄’,’歌手性别’…)对上述信息进行量化。那么可以尝试挖掘这个用户喜欢歌曲的大类别,以及其下的小类别。或者研究歌曲流行风格进化细化的趋势等。

朴素贝叶斯

贝叶斯决策理论方法是统计模型决策中的一个基本方法,基本思想如下:

  • (1)已知类条件概率密度参数表达式和先验概率。
  • (2)利用贝叶斯公式转换成后验概率。
  • (3)根据后验概率大小进行决策分类。

贝叶斯分类器通常是基于这样一个假定:“给定目标值时属性之间相互条件独立”。基于这种“朴素”的假定,贝叶斯公式一般简写为上式也称为朴素贝叶斯公式(算法、定理、分类模型)——Naive Bayesian。在有的资料上,会看到如下说法。 P( A)叫做 A事件的先验概率,就是一般情况下,认为 A发生的概率。 P( B | A)叫做似然度,是 A假设条件成立的情况下发生 B的概率。 P( A | B)叫做后验概率,在 B发生的情况下发生 A的概率,也就是要计算的概率。 P( B)叫做标准化常量,和 A的先验概率定义类似,就是一般情况下, B的发生概率。朴素贝叶斯分类器是在机器学习中应用最广泛的一种分类器。与其说这是一个公式,不如说这是一种思想或者思维方式,在人们生产生活中使用朴素贝叶斯分类器的思维解决问题比直接套用公式的机会多得多。

连续型变量

最后归纳总结一下构造整棵树时的思路,应该是遵循下面这样的方式:第一步,找到信息增益最大的字段 A和信息增益最大的切分点 v(不管是连续类型还是枚举类型)。第二步,决定根节点的字段 A和切分点 v。第三步,把字段 A从所有待选的字段列表中拿走,再从第一步开始找。注意这时相当于决策已经走了一步了,如果在根节点上已经分裂成两个分支,那么每一个分支各自又形成一个完整的决策树的选择过程,注意不同点。不同的是:可选的字段不一样了,因为 A字段被去掉了;此外,在这个分支上的样本也比原来少了,因为两个分支分割了整个样本,使得一个部分分支只拥有样本的一部分。

关联分析与相关性分析

Apriori能够过滤出关联度较高的模式,但是还不能对相关性做出解释。

提升度( Lift)是一种简单的关联度度量,也是一种比较容易实现的统计方法。上式与朴素贝叶斯公式类似。等号左边是 A和 B的相关性定义,右边分子是发生 A的情况下发生 B的概率,分母是发生 B的概率。

当相关性是 1时, P( B | A)与 P( B)相等,也就是说在全样本空间内, B发生的概率和在发生 A的情况下发生B的概率是一样的,那么它们就是毫无关系。

用户画像-非结构化标签

这种广告的展示和点击收费是不一样的,点击的收费要比单纯展示的收费高很多。很多免费软件其实一直在绞尽脑汁试图根据用户的终端使用习惯做一个画像——尽管这个用户画像画的可能不是用户的个人而是用户的计算机。

用户画像-到底“像不像”

有很多比较成功的用户画像系统,能够把转化率提高 0. 3%左右,或者也能到 0. 1%——大概就是这种感觉:原来没有用用户画像系统时,广告推荐系统转化率大概是 1%,使用了用户画像系统后,转化率变成了 1. 1%。听起来这个数字好像挺让人失望的——废了这么大力气才提高这么一点点。

推荐算法-利用搜索记录

前者称为 User-based CF( User-based Collaborative Filtering),或者叫基于用户的协同过滤;后者称为 Item-based CF( Item-based Collaborative Filtering),或者叫基于商品的协同过滤。

User-based CF

其中的某个小格子里的数字是这个用户对该商品“兴趣程度”的一个量化值, 0为没兴趣, 10为非常有兴趣。量化的方法有很多种,而且没有所谓最正确的算法。得到某个用户对某类别产品的兴趣可以从他给产品的反馈打分上去看,也可以从他购买的频繁程度上去看,也可以从他浏览的频繁程度上去看。

以用户 00001为研究对象,要找到和他兴趣最接近的人,怎么做比较好呢?这里需要引入一个概念,叫做余弦相似性。之后设置一个相似的阈值,如 0. 8、 0. 85……或者其他任何一个值,看看相似度超过这个阈值的用户都有什么购物喜好,把他们喜好购买的东西推荐给 00001用户作为推荐方案即可。

Item-based CF

计算完中间矩阵 C之后,当要对一个一个用户做推荐时,先把这个用户的历史购买记录都列出来,假设有 n个购买记录。然后对这个列表里每一个产品都用查表的方法查一次相似度,这样会得到 n个列表,每个列表里都是一个产品和其对应的相似度的关系。把这 n个列表做一个排序,相似度高的在前,相似度低的在后。如果要推荐 3个商品就取前 3个,如果要推荐 5个商品就取前 5个。

文本挖掘-文本分类

而随着计算机技术的发展与进步,包括软件和硬件方面的进步,更为科学和智能的分词方式也逐步开发出来,即基于统计语言模型( Statistical Language Model, SLM)的方式。其中比较有影响力的是中国科学院计算所开发的汉语词法分析系统 NLPIR汉语分词系统,也叫做 ICTCLAS2013,现已公开发布供中文文本分类的研究使用。这是一个开源的软件系统,读者有兴趣可以在网上搜索并下载。据称这款产品的分词精度能够超过 98%,中国人人名的识别召回率也接近 98%。 NLPIR在网上是有开放的在线文章分析平台以及分词系统下载的。

著名的大数据框架

每一个框架中都封装了大量的工具类,它的最大作用就是帮助使用者节省创建工程的时间,把大家共通性的需求和问题做以实现。这样创建工程时,程序员就只需要进行类似搭积木式的工作就能够把需求完成。这就是框架的作用。

大数据也包含很多种类的框架,一般分成两类,即大数据计算框架和大数据存储框架。大数据计算框架又可以按照执行方式分成两类:一类是执行一次就结束的、对计算时间要求不高的离线计算框架,另一种是对处理时间有严格要求的实时计算框架。

Spark框架

GraphX是可以进行集群化的图形计算和图形挖掘组件。这种组件非常适合用于微信、微博等各种社交网络产品的用户关系或者产品关系计算,这比用笛卡儿积的方式去做还是轻量很多。