⑴ 大数据分析的流程浅析 大数据整理过程分析
大数据分析的流程浅析:大数据整理过程分析
数据整理是数据分析过程中最重要的环节,在大数据分析过程中也是如此。在小数据时代,数据整理包括数据的清洗、数据转换、归类编码和数字编码等过程,其中数据清洗占据最重要的位置,就是检查数据一致性,处理无效值和缺失值等操作。在大数据时代,这些工作被弱化了,在有些大数据的算法和应用中,基本不再进行数据清洗了,因为大数据的多样化使得其数据。有一定的不精确性。但数据转换和编码过程还是需要的。下面以大数据分析中文本分类的例子,来分析大数据整理的过程。
在本例中,以mahout为大数据分析软件,文本分类算法选用朴素贝叶斯算法(new bayes),分类对象是来自不同类别的新闻数据。
当我们使用网页爬虫,每小时源源不断的从多个不同类别的新闻网站上取得数据时,取得的这些数据都是文本数据,也就是非结构化数据,这些数据是不需要进行数据清洗过程,但它们在进入到mahout实现的朴素贝叶斯算法时,需要进行必要的数据转换。该转换主要分两个步骤:
1.数据系列化
由于取得的大量的文本数据集中,每个新闻占一个文档,共有无数个小的文件,由于Mahout运行在Hadoop的HDFS上,HDFS是为大文件设计的。如果我们把这些无穷多个小文件都拷贝上去,这样是非常不合适。试想:假设对1000万篇新闻进行分类,难道要拷贝1000w个文件么?这样会使HDFS中运行name node节点的终端崩溃掉。
因此,Mahout采用SequenceFile作为其基本的数据交换格式。其思路是:通过调用mahout内置的解析器,扫描所有目录和文件,并把每个文件都转成单行文本,以目录名开头,跟着是文档出现的所有单词,这样就把无穷多个小文件,转换成一个系列化的大文件。然后把这个大文件,再上传到HDFS上,就可以充分发挥HDFS分布式文件系统的优势。当然,这个转换过程由mahout的内置工具完成,而大数据分析师这个时候只需要把所有的新闻按文件夹分好类放置好,同时运行mahout内置的解析器命令就可以了。
2.文本内容向量化
简单地说就是把文本内容中的每个单词(去除一些连接词后)转换成数据,复杂地说就是进行向量空间模型化(VSM)。该过程使每个单词都有一个编号,这个编号是就它在文档向量所拥有的维度。这个工作在mahout中实现时,大数据分析师也只需要执行其中的一个命令,就可以轻松地实现文本内容的向量化。
有了这些被向量化的数据,再通过mahout的朴素贝叶斯算法,我们就可以对计算机训练出一套规则,根据这个规则,机器就可以对后续收集的新闻数据进行自动的分类了。
从上述文本分类的大数据整理过程可以看出,大数据时代的数据整理过程不再强调数据的精确性,而强调的是对非结构化数据的数量化。当然,不同的大数据分析应用使用的算法也不一样,其数据整理过程也不太一样,但从总体上看,大数据分析的数据整理区别于小数据时代的精确性,而变得更粗放一些。
以上是小编为大家分享的关于大数据分析的流程浅析 大数据整理过程分析的相关内容,更多信息可以关注环球青藤分享更多干货
⑵ 大数据到底是啥重要玩意儿
大数据技术是概念,是噱头,还是真实存在的?
1、以云计算为中心技术体系的发展,为大数据的处理提供了技术支撑。以数学知识为核心的大规模数据处理算法的发展,比如回归分析、贝叶斯算法、神经网
络、关联分析、决策树等数学科学算法,为大数据的计算提供了理论基础。
2、企业信息化已经较为成熟,积累了大量的数据,具备大数据系统建设条件。
大数据处理技术包含哪些
1)技术框架
Hadoop(Pig、Hive、ChuKwa、HDFS、Hbase、Zookeeper)、Mahout、
Maprece、Spark等。
(2)计算算法
统计分析:假设检验、显著性检验、差异分析、相关分析、T检验、方差分、
卡方分析、偏相关分析、距离分析、回归分析、简单回归分析、多元回归分析、
逐步回归、回归预测与残差分析、岭回归、logistic回归分析、曲线估计、因子
分析、聚类分析、主成分分析、因子分析、快速聚类法与聚类法、判别分析、对
应分析、多元对应分析(最优尺度分析)、bootstrap技术等等。
数据挖掘:分类 (Classification)、估计(Estimation)、预测(Prediction)、
相关性分组或关联规则(Affinity grouping or association rules)、聚类( Clustering)、敬散描述和可视化、Description and Visualization)、复杂数据
类型挖掘(Text, Web ,图形图像,视频,音频等)。
预测算法:决策树、推荐算法、聚类、序列标注、SVM、神经网络、贝叶斯、变量筛选与降维等。姿帆
大数据与传统的数据处理模式的区别
1)传统的是对事物进行量化性分析,而大数据是对事物进行关联分析。比如看见一个物品,这个时候如果能够对它进行量化,通常是记录物品大小、形状、重量。但是在大数据观念领域中,关联性思维会让我们在看到这个杯子的时候,不会想这个杯子的重量,而是关联到这个杯子它适合喝茶还是喝咖啡,这就是关迹稿雹联性比较直观的一个体现。
2)统计学的一个目的就是用尽可能少的数据来证实尽可能重大的发现,而大数据是包括与某个事物相关的所有数据,而不再仅仅依靠一小部分数据。统计学是抽样取数据,而大数据是取所有数据。
⑶ 大数据挖掘的算法有哪些
数据挖掘本质还是机器学习算法
具体可以参见《数据挖掘十大常见算法》
常用的就是:SVM,决策树,朴素贝叶斯,逻辑斯蒂回归等
主要解决分类和回归问题
⑷ 哪些人工智能技术可以和大数据一起使用
1. 异常来检测
对于任何数据集,可以使用自大数据分析来检测异常。这里的故障检测、传感器网络、生态系统分配系统的健康状况都可以通过大数据技术来检测。
2. 贝叶斯定理
贝叶斯定理是指根据已知条件推断事件发生的概率。甚至任何事件的未来也可以在之前事件的基础上预测。对于大数据分析,这个定理是最有用的,它可以使用过去或历史数据模式计算客户对产品感兴趣的可能性。
3. 模式识别
模式识别是一种机器学习技术,用于识别一定数量数据中的模式。在训练数据的帮助下,这些模式可以被识别出来,被称为监督学习。
4. 图论
图论建立在图形研究的基础上,图形研究中会使用到各种顶点和边。通过节点关系,可以识别数据模式和关系。该模式对大数据分析人员进行模式识别有一定的帮助。这项研究对任何企业都很重要且有用。
⑸ 需要掌握哪些大数据算法
不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。
1.C4.5
C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:
1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2)在树构造过程中进行剪枝;
3)能够完成对连续属性的离散化处理;
4)能够对不完整数据进行处理。
C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
2.Thek-meansalgorithm即K-Means算法
k-meansalgorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k 3.Supportvectormachines
支持向量机,英文为SupportVectorMachine,简称SV机(论文中一般简称SVM)。它是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差越小。一个极好的指南是C.J.CBurges的《模式识别支持向量机指南》。vanderWalt和Barnard将支持向量机和其他分类器进行了比较。
4.TheApriorialgorithm
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
5.最大期望(EM)算法
在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariabl)。最大期望经常用在机器学习和计算机视觉的数据集聚(DataClustering)领域。
6.PageRank
PageRank是Google算法的重要内容。2001年9月被授予美国专利,专利人是Google创始人之一拉里·佩奇(LarryPage)。因此,PageRank里的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。
PageRank根据网站的外部链接和内部链接的数量和质量俩衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票,被链接的越多,就意味着被其他网站投票越多。这个就是所谓的“链接流行度”——衡量多少人愿意将他们的网站和你的网站挂钩。PageRank这个概念引自学术中一篇论文的被引述的频度——即被别人引述的次数越多,一般判断这篇论文的权威性就越高。
7.AdaBoost
Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
8.kNN:k-nearestneighborclassification
K最近邻(k-NearestNeighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
9.NaiveBayes
在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(DecisionTreeModel)和朴素贝叶斯模型(NaiveBayesianModel,NBC)。朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。
10.CART:分类与回归树
CART,。在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。
⑹ 贝叶斯分类技术属于大数据分析技术中的什么技术
贝叶斯分类技山手术属于大数据分析技术中的预测技术。根据查询相关公开信息,主要用于从历史数据中推断或预测新数据逗羡嫌的概率。利用概率来预测未知事件的派斗结果,通过计算每个可能的结果的概率来得出最可能的结果。
⑺ 大数据分析工具详尽介绍&数据分析算法
大数据分析工具详尽介绍&数据分析算法
1、 Hadoop
Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
⒈高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
⒉高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
⒊高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
⒋高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
Hadoop带有用 Java 语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。
2、 HPCC
HPCC,High Performance Computing and Communications(高性能计算与通信)的缩写。1993年,由美国科学、工程、技术联邦协调理事会向国会提交了“重大挑战项目:高性能计算与 通信”的报告,也就是被称为HPCC计划的报告,即美国总统科学战略项目,其目的是通过加强研究与开发解决一批重要的科学与技术挑战问题。HPCC是美国 实施信息高速公路而上实施的计划,该计划的实施将耗资百亿美元,其主要目标要达到:开发可扩展的计算系统及相关软件,以支持太位级网络传输性能,开发千兆 比特网络技术,扩展研究和教育机构及网络连接能力。
该项目主要由五部分组成:
1、高性能计算机系统(HPCS),内容包括今后几代计算机系统的研究、系统设计工具、先进的典型系统及原有系统的评价等;
2、先进软件技术与算法(ASTA),内容有巨大挑战问题的软件支撑、新算法设计、软件分支与工具、计算计算及高性能计算研究中心等;
3、国家科研与教育网格(NREN),内容有中接站及10亿位级传输的研究与开发;
4、基本研究与人类资源(BRHR),内容有基础研究、培训、教育及课程教材,被设计通过奖励调查者-开始的,长期 的调查在可升级的高性能计算中来增加创新意识流,通过提高教育和高性能的计算训练和通信来加大熟练的和训练有素的人员的联营,和来提供必需的基础架构来支 持这些调查和研究活动;
5、信息基础结构技术和应用(IITA ),目的在于保证美国在先进信息技术开发方面的领先地位。
3、 Storm
Storm是自由的开源软件,一个分布式的、容错的实时计算系统。Storm可以非常可靠的处理庞大的数据流,用于处理Hadoop的批量数据。Storm很简单,支持许多种编程语言,使用起来非常有趣。Storm由Twitter开源而来,其它知名的应用企业包括Groupon、淘宝、支付宝、阿里巴巴、乐元素、Admaster等等。
Storm有许多应用领域:实时分析、在线机器学习、不停顿的计算、分布式RPC(远过程调用协议,一种通过网络从远程计算机程序上请求服务)、 ETL(Extraction-Transformation-Loading的缩写,即数据抽取、转换和加载)等等。Storm的处理速度惊人:经测 试,每个节点每秒钟可以处理100万个数据元组。Storm是可扩展、容错,很容易设置和操作。
4、 Apache Drill
为了帮助企业用户寻找更为有效、加快Hadoop数据查询的方法,Apache软件基金会近日发起了一项名为“Drill”的开源项目。Apache Drill 实现了 Google’s Dremel.
据Hadoop厂商MapR Technologies公司产品经理Tomer Shiran介绍,“Drill”已经作为Apache孵化器项目来运作,将面向全球软件工程师持续推广。
该项目将会创建出开源版本的谷歌Dremel Hadoop工具(谷歌使用该工具来为Hadoop数据分析工具的互联网应用提速)。而“Drill”将有助于Hadoop用户实现更快查询海量数据集的目的。
“Drill”项目其实也是从谷歌的Dremel项目中获得灵感:该项目帮助谷歌实现海量数据集的分析处理,包括分析抓取Web文档、跟踪安装在Android Market上的应用程序数据、分析垃圾邮件、分析谷歌分布式构建系统上的测试结果等等。
通过开发“Drill”Apache开源项目,组织机构将有望建立Drill所属的API接口和灵活强大的体系架构,从而帮助支持广泛的数据源、数据格式和查询语言。
5、 RapidMiner
RapidMiner是世界领先的数据挖掘解决方案,在一个非常大的程度上有着先进技术。它数据挖掘任务涉及范围广泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价。
功能和特点
免费提供数据挖掘技术和库
100%用Java代码(可运行在操作系统)
数据挖掘过程简单,强大和直观
内部XML保证了标准化的格式来表示交换数据挖掘过程
可以用简单脚本语言自动进行大规模进程
多层次的数据视图,确保有效和透明的数据
图形用户界面的互动原型
命令行(批处理模式)自动大规模应用
Java API(应用编程接口)
简单的插件和推广机制
强大的可视化引擎,许多尖端的高维数据的可视化建模
400多个数据挖掘运营商支持
耶鲁大学已成功地应用在许多不同的应用领域,包括文本挖掘,多媒体挖掘,功能设计,数据流挖掘,集成开发的方法和分布式数据挖掘。
6、 Pentaho BI
Pentaho BI 平台不同于传统的BI 产品,它是一个以流程为中心的,面向解决方案(Solution)的框架。其目的在于将一系列企业级BI产品、开源软件、API等等组件集成起来,方便商务智能应用的开发。它的出现,使得一系列的面向商务智能的独立产品如Jfree、Quartz等等,能够集成在一起,构成一项项复杂的、完整的商务智能解决方案。
Pentaho BI 平台,Pentaho Open BI 套件的核心架构和基础,是以流程为中心的,因为其中枢控制器是一个工作流引擎。工作流引擎使用流程定义来定义在BI 平台上执行的商业智能流程。流程可以很容易的被定制,也可以添加新的流程。BI 平台包含组件和报表,用以分析这些流程的性能。目前,Pentaho的主要组成元素包括报表生成、分析、数据挖掘和工作流管理等等。这些组件通过 J2EE、WebService、SOAP、HTTP、Java、JavaScript、Portals等技术集成到Pentaho平台中来。 Pentaho的发行,主要以Pentaho SDK的形式进行。
Pentaho SDK共包含五个部分:Pentaho平台、Pentaho示例数据库、可独立运行的Pentaho平台、Pentaho解决方案示例和一个预先配制好的 Pentaho网络服务器。其中Pentaho平台是Pentaho平台最主要的部分,囊括了Pentaho平台源代码的主体;Pentaho数据库为 Pentaho平台的正常运行提供的数据服务,包括配置信息、Solution相关的信息等等,对于Pentaho平台来说它不是必须的,通过配置是可以用其它数据库服务取代的;可独立运行的Pentaho平台是Pentaho平台的独立运行模式的示例,它演示了如何使Pentaho平台在没有应用服务器支持的情况下独立运行;
Pentaho解决方案示例是一个Eclipse工程,用来演示如何为Pentaho平台开发相关的商业智能解决方案。
Pentaho BI 平台构建于服务器,引擎和组件的基础之上。这些提供了系统的J2EE 服务器,安全,portal,工作流,规则引擎,图表,协作,内容管理,数据集成,分析和建模功能。这些组件的大部分是基于标准的,可使用其他产品替换之。
7、 SAS Enterprise Miner
§ 支持整个数据挖掘过程的完备工具集
§ 易用的图形界面,适合不同类型的用户快速建模
§ 强大的模型管理和评估功能
§ 快速便捷的模型发布机制, 促进业务闭环形成
数据分析算法
大数据分析主要依靠机器学习和大规模计算。机器学习包括监督学习、非监督学习、强化学习等,而监督学习又包括分类学习、回归学习、排序学习、匹配学习等(见图1)。分类是最常见的机器学习应用问题,比如垃圾邮件过滤、人脸检测、用户画像、文本情感分析、网页归类等,本质上都是分类问题。分类学习也是机器学习领域,研究最彻底、使用最广泛的一个分支。
最近、Fernández-Delgado等人在JMLR(Journal of Machine Learning Research,机器学习顶级期刊)杂志发表了一篇有趣的论文。他们让179种不同的分类学习方法(分类学习算法)在UCI 121个数据集上进行了“大比武”(UCI是机器学习公用数据集,每个数据集的规模都不大)。结果发现Random Forest(随机森林)和SVM(支持向量机)名列第一、第二名,但两者差异不大。在84.3%的数据上、Random Forest压倒了其它90%的方法。也就是说,在大多数情况下,只用Random Forest 或 SVM事情就搞定了。
KNN
K最近邻算法。给定一些已经训练好的数据,输入一个新的测试数据点,计算包含于此测试数据点的最近的点的分类情况,哪个分类的类型占多数,则此测试点的分类与此相同,所以在这里,有的时候可以复制不同的分类点不同的权重。近的点的权重大点,远的点自然就小点。详细介绍链接
Naive Bayes
朴素贝叶斯算法。朴素贝叶斯算法是贝叶斯算法里面一种比较简单的分类算法,用到了一个比较重要的贝叶斯定理,用一句简单的话概括就是条件概率的相互转换推导。详细介绍链接
朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。
SVM
支持向量机算法。支持向量机算法是一种对线性和非线性数据进行分类的方法,非线性数据进行分类的时候可以通过核函数转为线性的情况再处理。其中的一个关键的步骤是搜索最大边缘超平面。详细介绍链接
Apriori
Apriori算法是关联规则挖掘算法,通过连接和剪枝运算挖掘出频繁项集,然后根据频繁项集得到关联规则,关联规则的导出需要满足最小置信度的要求。详细介绍链接
PageRank
网页重要性/排名算法。PageRank算法最早产生于Google,核心思想是通过网页的入链数作为一个网页好快的判定标准,如果1个网页内部包含了多个指向外部的链接,则PR值将会被均分,PageRank算法也会遭到LinkSpan攻击。详细介绍链接
RandomForest
随机森林算法。算法思想是决策树+boosting.决策树采用的是CART分类回归数,通过组合各个决策树的弱分类器,构成一个最终的强分类器,在构造决策树的时候采取随机数量的样本数和随机的部分属性进行子决策树的构建,避免了过分拟合的现象发生。详细介绍链接
Artificial Neural Network
“神经网络”这个词实际是来自于生物学,而我们所指的神经网络正确的名称应该是“人工神经网络(ANNs)”。
人工神经网络也具有初步的自适应与自组织能力。在学习或训练过程中改变突触权重值,以适应周围环境的要求。同一网络因学习方式及内容不同可具有不同的功能。人工神经网络是一个具有学习能力的系统,可以发展知识,以致超过设计者原有的知识水平。通常,它的学习训练方式可分为两种,一种是有监督或称有导师的学习,这时利用给定的样本标准进行分类或模仿;另一种是无监督学习或称无为导师学习,这时,只规定学习方式或某些规则,则具体的学习内容随系统所处环境 (即输入信号情况)而异,系统可以自动发现环境特征和规律性,具有更近似人脑的功能。
⑻ 贝叶斯的概率理论和洛伦茨的混沌理论是不是相互矛盾
这两个理论呢,适用于不同的领域和对象。
据我所知,贝叶斯理论不能用于分析预测混沌系统。
⑼ 贝叶斯计算:为什么说数据是一种资产
第配册5章 贝叶斯法
5.3 贝叶斯计算:为什么说数据是一种资产
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
️5.3 贝叶斯计算:为什么说数据是一种资产?
️贝叶斯计算真正重要的其实不是计算,而是理解公式背后的原理和思路。
✨现象 B 出现的情况下事件 A 发生的概率,等于事件 A 发生时现象 B 出现的概率,乘以事件 A 发生的概率,再除以现象 B 出现的概率。
✨公式记不住不要紧,可以做个小卡片放在兜里,需要时随时拿出来看看。用小卡片帮助记忆一点儿不丢人。(小卡片可以辅助记忆知识点,以前上学那会儿背不到语文课文时,语文老师下午又要默写抽查,就会在便签纸上抄写下来,走在路上记不住时,就看一眼继续背,间接性的就辅助自己把长课文给背下来了。)
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
️先验概率可以任性设置,调整因子必须客观。
️“先验”辩绝就是先于经验。
✨“先验概率”就是在看到新现象、重新计算之前,基于经验,甚至主观猜测得到的概率。
️贝叶斯推理是一个反复迭代的过程,后面总能通过一次次调整,一步步逼近真相。
️设置先验概率的三个原则
️️️
相信历史数据。
参考专家意见。
平均设置概率。
️“调整因子”️️
️必须找到具体的客观值,而不能拍脑袋随培灶宏便设定。
️只有查过资料,才能客观地确定调整因子的大小。
️通过数据、资料确定调整因子是计算的关键。
️有数据的,计算结果就准确,如果瞎猜或者没有准确数据,就很可能会越算越错。(用数据说话,不要瞎猜,不然计算出来的结果会和现实差距很大。)
️根据结果改变调整因子。(比如现在的人工智能,给人工智能真实的结果,让它看成千上万张照片,告诉它“这是猫”“这是狗”,人工智能才会根据结果反过来改变调整因子,最终让调整因子逼近现实,从而得到越来越靠谱的判断。➡️这个不断看照片的学习过程,就叫“大数据训练”,或者叫“大数据喂养”。)
⑽ 大数据算法:分类算法
KNN算法,即K近邻(K Nearest Neighbour)算法,是一种基本的分类算法。其主要原理是:对于一个需要分类的数据,将其和一组已经分类标注好的样本集合进行比较,得到距离最近的K个样本,K个样本最多归属的类别,就是这个需要分类数据的类别。下面我给你画了一个KNN算法的原理图。
图中,红蓝绿三种颜色的点为样本数据,分属三种类别 、 、 。对于待分类点 ,计算和它距离最近的5个点(即K为5),这5个点最多归属的类别为 (4个点归属 ,1个点归属 ),那么 的类别被分类为 。
KNN的算法流程也非常简单,请看下面的流程图。
KNN算法是一种非常简单实用的分类算法,可用于各种分类的场景,比如新闻分类、商品分类等,甚至可用于简单的文字识别。对于新闻分类,可以提前对若干新闻进行人工标注,标好新闻类别,计算好特征向量。对于一篇未分类的新闻,计算其特征向量后,跟所有已标注新闻进行距离计算,然后进一步利用KNN算法进行自动分类。
读到这你肯定会问,如何计算数据的距离呢?如何获得新闻的特征向量呢?
KNN算法的关键是要比较需要分类的数据与样本数据之间的距离,这在机器学习中通常的做法是:提取数据的特征值,根据特征值组成一个n维实数向量空间(这个空间也被称作特征空间),然后计算向量之间的空间距离。空间之间的距离计算方法有很多种,常用的有欧氏距离、余弦距离等。
对于数据 和 ,若其特征空间为n维实数向量空间 ,即 , ,则其欧氏距离计算公式为
这个欧式距离公式其实我们在初中的时候就学过,平面几何和立体几何里两个点之间的距离,也是用这个公式计算出来的,只是平面几何(二维几何)里的n=2,立体几何(三维几何)里的n=3,而机器学习需要面对的每个数据都可能有n维的维度,即每个数据有n个特征值。但是不管特征值n是多少,两个数据之间的空间距离的计算公式还是这个欧氏计算公式。大多数机器学习算法都需要计算数据之间的距离,因此掌握数据的距离计算公式是掌握机器学习算法的基础。
欧氏距离是最常用的数据计算公式,但是在文本数据以及用户评价数据的机器学习中,更常用的距离计算方法是余弦相似度。
余弦相似度的值越接近1表示其越相似,越接近0表示其差异越大,使用余弦相似度可以消除数据的某些冗余信息,某些情况下更贴近数据的本质。我举个简单的例子,比如两篇文章的特征值都是:“大数据”“机器学习”和“极客时间”,A文章的特征向量为(3, 3, 3),即这三个词出现次数都是3;B文章的特征向量为(6, 6, 6),即这三个词出现次数都是6。如果光看特征向量,这两个向量差别很大,如果用欧氏距离计算确实也很大,但是这两篇文章其实非常相似,只是篇幅不同而已,它们的余弦相似度为1,表示非常相似。
余弦相似度其实是计算向量的夹角,而欧氏距离公式是计算空间距离。余弦相似度更关注数据的相似性,比如两个用户给两件商品的打分分别是(3, 3)和(4, 4),那么两个用户对两件商品的喜好是相似的,这种情况下,余弦相似度比欧氏距离更合理。
我们知道了机器学习的算法需要计算距离,而计算距离需要还知道数据的特征向量,因此提取数据的特征向量是机器学习工程师们的重要工作,有时候甚至是最重要的工作。不同的数据以及不同的应用场景需要提取不同的特征值,我们以比较常见的文本数据为例,看看如何提取文本特征向量。
文本数据的特征值就是提取文本关键词,TF-IDF算法是比较常用且直观的一种文本关键词提取算法。这种算法是由TF和IDF两部分构成。
TF是词频(Term Frequency),表示某个单词在文档中出现的频率,一个单词在一个文档中出现的越频繁,TF值越高。
词频:
IDF是逆文档频率(Inverse Document Frequency),表示这个单词在所有文档中的稀缺程度,越少文档出现这个词,IDF值越高。
逆文档频率:
TF与IDF的乘积就是TF-IDF。
所以如果一个词在某一个文档中频繁出现,但在所有文档中却很少出现,那么这个词很可能就是这个文档的关键词。比如一篇关于原子能的技术文章,“核裂变”“放射性”“半衰期”等词汇会在这篇文档中频繁出现,即TF很高;但是在所有文档中出现的频率却比较低,即IDF也比较高。因此这几个词的TF-IDF值就会很高,就可能是这篇文档的关键词。如果这是一篇关于中国原子能的文章,也许“中国”这个词也会频繁出现,即TF也很高,但是“中国”也在很多文档中出现,那么IDF就会比较低,最后“中国”这个词的TF-IDF就很低,不会成为这个文档的关键词。
提取出关键词以后,就可以利用关键词的词频构造特征向量,比如上面例子关于原子能的文章,“核裂变”“放射性”“半衰期”这三个词是特征值,分别出现次数为12、9、4。那么这篇文章的特征向量就是(12, 9, 4),再利用前面提到的空间距离计算公式计算与其他文档的距离,结合KNN算法就可以实现文档的自动分类。
贝叶斯公式是一种基于条件概率的分类算法,如果我们已经知道A和B的发生概率,并且知道了B发生情况下A发生的概率,可以用贝叶斯公式计算A发生的情况下B发生的概率。事实上,我们可以根据A的情况,即输入数据,判断B的概率,即B的可能性,进而进行分类。
举个例子:假设一所学校里男生占60%,女生占40%。男生总是穿长裤,女生则一半穿长裤一半穿裙子。假设你走在校园中,迎面走来一个穿长裤的学生,你能够推断出这个穿长裤学生是男生的概率是多少吗?
答案是75%,具体算法是:
这个算法就利用了贝叶斯公式,贝叶斯公式的写法是:
意思是A发生的条件下B发生的概率,等于B发生的条件下A发生的概率,乘以B发生的概率,除以A发生的概率。还是上面这个例子,如果我问你迎面走来穿裙子的学生是女生的概率是多少。同样带入贝叶斯公式,可以计算出是女生的概率为100%。其实这个结果我们根据常识也能推断出来,但是很多时候,常识受各种因素的干扰,会出现偏差。比如有人看到一篇博士生给初中学历老板打工的新闻,就感叹读书无用。事实上,只是少见多怪,样本量太少而已。而大量数据的统计规律则能准确反映事物的分类概率。
贝叶斯分类的一个典型的应用场合是垃圾邮件分类,通过对样本邮件的统计,我们知道每个词在邮件中出现的概率 ,我们也知道正常邮件概率 和垃圾邮件的概率 ,还可以统计出垃圾邮件中各个词的出现概率 ,那么现在一封新邮件到来,我们就可以根据邮件中出现的词,计算 ,即得到这些词出现情况下,邮件为垃圾邮件的概率,进而判断邮件是否为垃圾邮件。
现实中,贝叶斯公式等号右边的概率,我们可以通过对大数据的统计获得,当有新的数据到来的时候,我们就可以带入上面的贝叶斯公式计算其概率。而如果我们设定概率超过某个值就认为其会发生,那么我们就对这个数据进行了分类和预测,具体过程如下图所示。
训练样本就是我们的原始数据,有时候原始数据并不包含我们想要计算的维度数据,比如我们想用贝叶斯公式自动分类垃圾邮件,那么首先要对原始邮件进行标注,需要标注哪些邮件是正常邮件、哪些邮件是垃圾邮件。这一类需要对数据进行标注才能进行的机器学习训练也叫作有监督的机器学习。