BLOGS

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

这本书作为大数据与机器学习的入门书籍,使用很轻松的方式引出了机器学习的重要概念。每一节原理,实例和相关计算公式介绍偏多,辅以简单的Python实现。让人不再对机器学习望而却步。

从书的目录里可以看到整本书的脉络;基本上是从数据统计、数据指标理解、数据模型、聚类、分类与机器学习、数据应用、大数据框架补充知识,以及扩展讨论这样的角度来层层深入完成的。大数据产业生产流程从数据的生命周期的传导和演变上可以分为这样几个部分:数据收集、数据存储、数据建模、数据分析、数据变现,而数据的认识和数据的应用是大数据与机器学习的基础,数据、信息、算法、概率、数据挖掘、商业智能,这些事大数据最为核心的基础概念与要素。

数据分析内容非常的庞杂,应用的领域非常的广,需要学习了解相关排列组合、统计、分布、概率、指标、向量、维度的知识,了解一些概念,包括加权值、平均值、标准差、众数、中位数、同比、环比、抽样、高斯分布、泊松分布、伯努利分布;在很多机器学习方法中都会使用到一些距离算法,例如:欧式距离、曼哈顿距离等;虽然信息论和很多数据挖掘算法没有直接的关联应用,但是也有相当比例的机器学习算法中应用到了信息论的概念;在信息论里最重要的内容就是香农公式和熵;香农公式可以计算信噪比,信噪比越大传输速度越大。熵包括热力熵和信息熵,在信息论里熵就是描述信息杂乱度的量化描述,信息越确定,越单一,信息熵越小,信息越不确定,越混乱,信息熵越大。

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎,机器学习算法根据训练数据(training data)使得表示算法行为的数学目标最大化,并以此来进行预测或者做出决定。机器学习分为分类、回归、聚类等。按照使用场景来分的话,机器学习中的算法分监督学习和无监督学习;监督学习的相关算法需要先使用训练数据进行学习,然后对输入数据进行处理得到结果;无监督学习不需要训练数据;机器学习的算法非常多,大致可以分三类:分类、回归、聚类。一般认为回归和分类是监督学习,聚类是无监督学习。

回归是一种解题方法,或者说“学习”方法,是机器学习中比较重要的概念。从机器学习的角度来说,回归算法应该算作“分类”算法,主要是线性回归;在使用线性回归时需要注意过拟合、欠拟合问题。非线性回归的情况太过复杂,在生产实践中尽量避免使用这种模型。

聚类也是一个很有趣的算法,能把相关性的数据自动聚集到一起。聚类的第一个算法叫K-Means;聚类的算法属于无监督学习,不需要事先准备训练数据,聚类的行为本源还是人自身,符合人类自己的思考方式。

分类与聚类是不同的两种实现方法,虽然看起来很像。分类算法是机器学习中的一个重点;使用分类算法前,首先知道大量的样本对象,并知道这些样本的特征和 所属类别,把这些数据告诉计算机,让计算机学会了应该怎么分类,然后输入未分类的样本给它,让它完成分类过程。分类算法主要包括:朴素贝叶斯、决策树归纳、随机森林、隐马尔科夫模型、支持向量机SVM、遗传算法。在分类算法中最主要需要掌握朴素贝叶斯算法如何预测事件,书中举了天气预报与垃圾邮件预测。SVM的精髓在于,低维上解决不了的分类,映射到高维上总能找的解,即所谓的“超平面”。分类算法非常多,常用还有使用梯度算法的逻辑回归预测性别等。

在书的后几章主要讲了关联分析、用户画像设计、推荐算法、文本挖掘及人工神经网络。其中比较重要的是关联分析和人工神经网络;关联规则是人类认识客观事物中形成的一种认知模式,相关概念主要是频繁模式和Apriori算法;书中举了顾客到超市买东西的例子,在日常场景中可以经常碰到,可以结合用户画像和推荐算法进行推荐商品或者分析那些事物与那些事物无关。人工神经网络从字面也可以理解,让计算机像人脑一样思考;当人类意识到人脑的工作方式与计算机有着极大不同时,人类就开始逐渐研究人工神经网络(ANN),希望能够从仿生学的角度给这种研究代理新的动力。人工神经网络是受到人类大脑结构的启发而创造出来的,这也是它能拥有真智能的根本原因。在我们的大脑中,有数十亿个称为神经元的细胞,它们连接成了一个神经网络,人工神经网络正是模仿了上面的网络结构。常见的神经网络包括:感知器网络、BP神经网络、SOM网络、Hopfield网络、波尔茨曼机和卷积神经网。

学习了回归、朴素贝叶斯、决策树、支持向量机及人工神经网后,可以发现这些算法的思路都有一个共同点,都是在研究多维向量空间分类问题,都是根据众多的训练样本得到某一个或几个分类的映射关系,判断新给定样本的分类归属问题。