0


大数据智能决策系统架构:决策系统性能与可扩展性

作者:禅与计算机程序设计艺术

1.简介

概述

随着互联网、移动互联网、物联网等新型信息社会的发展,以及无数数据产生的实时、快速、准确,如何有效利用这些海量数据的力量来提高企业效益、优化管理、改善产品质量,成为当下企业面临的最大课题。本文将会从大数据智能决策系统角度,讨论智能决策系统的架构设计与实现,以及如何解决决策系统的性能与可扩展性问题。

引言

什么是“大数据”?作为现代经济发展的一个重要组成部分,大数据被定义为超大规模数据集合。在过去的几年里,大数据技术的广泛应用已经成为各行各业都需要具备的知识。例如:航空航天、金融保险、医疗、制造、电信、影视、社交网络、互联网等。但对于像银行这样的传统金融机构来说,并没有像互联网公司一样能够顺利投入大数据处理的资源,因此对大数据技术的运用也不完全是一种先进的方式。而对于智能决策系统而言,由于大数据处理能力的需求,很多初创企业都面临着如何提升决策系统的处理性能与可扩展性的问题。 所以,可以认为,智能决策系统的架构设计和实现是当前面临的一个难点。那么,本文就从智能决策系统架构设计和实现的角度出发,对智能决策系统的性能与可扩展性进行分析和探索。

目标

本文试图通过“大数据智能决策系统架构:决策系统性能与可扩展性”这一题目,深入浅出地阐述智能决策系统的性能与可扩展性问题。文章的主要目标如下:

  • 介绍智能决策系统相关的基本概念、术语及其特点;
  • 详细分析智能决策系统的架构设计及关键组件,以及每个组件的作用及其特性;
  • 探讨智能决策系统的性能与可扩展性问题,包括决策效率、响应时间、模型构建时间、容错性、可用性、可靠性等指标的评价方法和工具;
  • 提供相应的解决方案,其中包括确定性能测试方案、选择合适的数据结构和算法、实现数据分片、使用分布式计算框架等方式。## 2.概念、术语及特点### 2.1 数据集市#### 2.1.1 数据集市的定义及特征 数据集市(data market)是一个开放且竞争激烈的平台,它提供大量的公共数据和服务。这里所说的公共数据,是指那些来源于政府、私营部门、学术界、科研机构以及互联网等各个方面的信息,这些信息以各种形式存在,可以用于研究、应用、商业化甚至是风险控制。数据集市的特征之一就是自由交易。即使个人没有相关权限也能自由地访问到这些数据。数据集市的另一个特点是共享。任何具有数据的个人或组织都可以通过数据集市购买或发布数据。 数据集市的另一个重要功能是数据市场整合。数据集市整合了许多不同来源的数据,用户可以根据自己需求找到最匹配的数据。此外,数据集市还有一个巨大的潜在客户群体——数据科学家、政客、企业家、教育者等。他们都希望得到更加便捷、准确的反馈信息,从而更好地理解数据的意义和价值,以及如何更有效地应用这些数据。#### 2.1.2 数据集市的目标与功能 数据集市的目标是建立一个开放且竞争激烈的平台,让消费者和生产者之间建立起更紧密的联系。它提供大量的公共数据和服务,并且致力于帮助所有人参与到公共数据的获取和共享中来。其主要功能包括:
  1. 数据共享:数据集市支持个人、机构、团体以及研究机构等对公共数据进行发布和交易。任何人都可以发布数据并对该数据进行交易。数据集市鼓励数据发布者设置交易规则、付费标准和数据质量要求,旨在促进公众对数据和服务的参与。
  2. 数据发现:数据集市提供了一系列的搜索和查询功能,允许用户检索感兴趣的公共数据。用户可以输入关键字、过滤条件、分类条件等,然后搜索满足这些条件的公共数据。数据集市还支持基于主题的检索,比如“工业出版物”,“医疗服务”,“农业农村”。
  3. 服务发现:数据集市还提供公共服务目录,用户可以在其中查找符合自身需求的公共服务,例如“办理信用卡”、“找房子”。数据集市不仅提供直接的服务,而且还提供网络服务。用户可以在网上咨询或者提交需求,平台将把所有的请求合起来,统一安排人员进行处理,提供最佳服务。
  4. 数据分析:数据集市收集的大量的公共数据足够支撑数据科学家进行分析。数据集市中的大数据处理平台对数据的存储和分析提供强大的支持。数据科学家可以进行数据的清洗、汇总、统计、预测、可视化等。数据集市还支持机器学习、深度学习、数据挖掘等领域的应用,让用户可以使用不同的方法对数据进行分析。
  5. 数据应用:数据集市的目标之一是让所有人都能参与到公共数据的获取和共享中来。这也是数据集市提供的一项重要功能。数据集市上的服务和应用使得用户可以轻松地获取数据,并通过对数据的分析和预测,从而帮助用户更好地解决实际问题。
  6. 风险控制:数据集市的数据呈现的是公共资源,因此很容易受到各种形式的危害。数据集市的运营者要始终对数据安全、隐私、法律等问题保持高度重视。数据集市对数据提供者进行核查,通过严格审核和监控,确保数据真实可靠。### 2.2 数据采集 数据采集是指从不同的源头,按固定的频率、间隔或者按条件收集数据。数据采集的目的一般是为了建立有效的知识库或数据仓库。通过数据采集,可以从多个渠道收集到大量的数据,包括网络爬虫、数据库查询、文件下载、API接口等。除此之外,还有一些数据采集的方法,如手机GPS采集、摄像头拍摄等。 数据采集方法主要有:
  • 文件采集:顾名思义,就是从文件中采集数据,如CSV、XML、Excel等。文件采集的优点是简单易用,缺点则是不能及时获取最新的数据。
  • API采集:API全称Application Programming Interface,应用程序编程接口。指某个计算机软件或硬件设备提供给外部程序调用的一套接口,常见的RESTful API,如OpenWeatherMap、Twitter API等。API采集的数据更新速度快,缺点则是需要编写代码。
  • 爬虫采集:爬虫是一种程序,它自动扫描互联网,抓取网站上的网页,并按照一定规则解析网页内容,提取有用的信息。爬虫采集的优点是采集速度快,缺点则是获取的内容较少,且依赖于网站的维护。
  • 模拟登录采集:通过模拟登陆网站,自动填充用户名和密码,模仿浏览器行为,完成自动化登录过程,从而获取网站的用户数据。模拟登录采集的优点是获取速度快、灵活性高,缺点则是数据质量难以保证。### 2.3 数据清洗与准备 数据清洗(Data Cleaning)是指删除、修改或添加数据中可能存在的错误、异常或脏数据,使其成为结构化、整齐、完整、正确的信息。数据清洗的任务通常包括数据预处理、数据转换、数据编码等步骤。 数据清洗的重要作用是:消除重复数据、降低数据噪声、提高数据质量、提升数据分析效率、节省空间、增加数据分析的效果。数据清洗方法包括:
  • 清除无效数据:数据清洗过程需要删除掉无效数据,比如垃圾邮件、广告、误入侵的网址等。
  • 修正缺失数据:数据清洗过程中,需要识别并纠正数据中的错误、缺失、不完整等情况,增强数据集的完整性。
  • 合并数据:数据清洗过程中,需要把数据集中相似的数据合并为一条记录,增强数据的关联性和一致性。
  • 数据变换:数据清洗过程中,需要对数据进行转化、压缩、加密等操作,减少数据的体积,同时又不丢失数据的精细信息。
  • 数据标准化:数据清洗过程中,需要对数据进行标准化,确保数据之间的比较可以进行。
  • 数据编码:数据清洗过程中,需要对字符串类型的数据进行编码,使其变成数字、布尔型、日期型等形式。
  • 数据校验:数据清洗过程中,需要验证数据是否有效、完整、正确,并进行必要的修复。### 2.4 数据分析 数据分析(Data Analysis)是指从原始数据中提取有价值的信息,并对这些信息进行分析、分类、归类、总结和概括,形成一个有用且有意义的结论或判断。数据分析涉及数据建模、数据挖掘、数据报告、数据展示等技术,主要涉及数据分析语言R、Python、SQL等。 数据分析的核心目标是,从大量的数据中找寻有效的信息和模式,对数据的价值进行洞察,从而为公司或部门提供有价值的洞见。数据分析方法包括:
  • 关联分析:关联分析是指通过分析两个变量之间的关系,判断它们之间是否存在线性或非线性的联系。关联分析通过计算统计学的方法,确定变量间的相关系数、因果关系、相关系数矩阵等指标,进行相关分析。
  • 时序分析:时序分析是指对随时间变化的数据进行分析。时序分析可以确定数据的趋势、周期、季节性,发现动态和周期变化的模式。时序分析常用方法如季节性分析、ARIMA模型、VAR模型等。
  • 分类和聚类:分类和聚类是数据挖掘的两个主要任务。分类是指将数据分成多个类别,根据类别之间的差异性、内在逻辑和相似性进行数据划分。聚类是指根据数据之间的相似性将数据集分割为几个子集,发现隐藏在数据中的结构。常用的方法如K-means算法、层次聚类、凝聚分析、GMM聚类等。
  • 回归分析:回归分析是指根据已知的变量值,预测其他变量的值。回归分析的目标是根据样本数据构建一个函数,使其能够描述一组数据的波动规律,并对所预测的结果做出估计。常用的回归分析方法如线性回归、二次曲线回归、多项式回归、逻辑回归等。
  • 预测分析:预测分析是指根据已知数据,预测将来的事件或现象。预测分析的目标是通过对历史数据进行分析,预测将来的某种情况出现的可能性。预测分析常用方法如随机森林、梯度 boosting、时间序列预测、神经网络等。### 2.5 数据仓库与数据湖 数据仓库(Data Warehouse)是面向主题的、集成的、非重复的、高度标准化的、集成后的、可查询的数据库。数据仓库是对企业内部的各种事务和数据进行集成和汇总,并提供方便使用的统一视图。数据仓库的关键作用之一是数据集成,通过提供统一的、标准化的视图,可以实现数据的快速准确地获取、整合、分析和报表生成。数据仓库的另一个作用是数据质量,数据仓库中的数据是经过完全清洗、验证、标准化的,因此可以确保数据质量的高效性。 数据湖(Data Lake)是一种数据存储形式,是指多种异构数据源(如日志、文本、图像、音频、视频、应用程序数据)的汇总存储。数据湖可以存储各种格式的数据,包括结构化数据、半结构化数据、非结构化数据等。数据湖是为了满足复杂的业务需求而出现的一种新型数据仓库。数据湖的作用有:
  • 数据分析:数据湖具有良好的可扩展性,可以快速导入、存储和分析海量数据。它可以进行实时数据分析、批量数据分析、数据挖掘、数据挖掘建模等。
  • 数据转换:数据湖可以用于数据转换,可以将各种数据源的数据转换为一个数据湖。数据湖可以进行数据交换,跨部门数据共享,提升工作效率。
  • 数据湖建设:数据湖建设由三个阶段组成:数据的抽取、数据的存储、数据的分析和查询。第一阶段是数据抽取阶段,负责从各种数据源抽取数据,例如,日志、文本、图像、音频、视频等。第二阶段是数据存储阶段,保存数据。第三阶段是数据的分析和查询阶段,对数据进行分析和查询。数据湖具有更高的灵活性、弹性和易扩展性。## 3.智能决策系统的架构设计及关键组件### 3.1 基本概念 决策系统(decision system)是指对各种信息和信息之间的关系进行评判,并据此作出决策的计算机程序或硬件设备。决策系统通常包括四个基本模块:输入模块、处理模块、决策模块和输出模块。如下图所示:#### 3.1.1 数据与知识##### 数据 数据(data)是指在一段时间内,通过观察、测定、记录、计量等方式获得的能够用来做出决策的信息。数据可以是静态的、动态的,也可以来源于不同的源头。例如:智能手机、航空航天器、银行存款、股票价格、城市汽车流量、婚姻状况等都是数据。##### 知识 知识(knowledge)是指对数据所包含的信息所形成的观念、认识或理解。它由三部分组成:事实、概念、规则。例如:航空管制知识就是关于飞行的规则,而飞机的规格知识则是关于飞机性能的知识。##### 知识库 知识库(knowledge base)是对各种知识的集合,是为了能够对知识进行总结、归纳、整理和储存而制作的一种系统。知识库由若干事实、概念、规则组成,这些知识既可以直接来自于人的观察、观点和思考,也可以从其他渠道中获取。知识库中的事实往往非常复杂,它可以用来描述客观世界的一切,包括实体、事件、人、物以及混沌。知识库中的概念是抽象的符号和抽象的理论,是人们对客观世界、现象、现象背后的原因、机制等概念的描述。知识库中的规则则是用来推导出知识的有效、简洁的模式,是人们对世界的直觉、经验、习惯、法则等规范的总结。##### 知识表示与推理 知识表示与推理(Knowledge Representation and Reasoning,KR)是指从数据中提取信息,并利用这些信息来推理出新的知识。知识表示与推理通常包括三种基本方法:基于规则的推理、基于模式的推理、基于学习的推理。 基于规则的推理:基于规则的推理(Rule-based inference)是指基于一组规则进行推理,每一条规则都对应了一个判断的句式,系统根据接收到的输入,依次匹配这些句式,执行匹配成功的规则对应的操作。例如,基于规则的售货机系统可以根据不同时间的日气情况来调整其行为,从而避免降雨导致订单延期。 基于模式的推理:基于模式的推理(Pattern-based inference)是指采用模式匹配的技术来推理,系统首先收集一系列事例,这些事例可以是结构化的、半结构化的或是非结构化的,然后系统分析这些事例的模式,并尝试找到与输入模式最接近的事例。例如,基于模式的推荐系统会分析用户过去的行为,并推荐同类型的商品给用户。 基于学习的推理:基于学习的推理(Learning-based inference)是指通过学习来改善系统的推理能力,系统通过监督学习或非监督学习的方式,学习输入与输出的映射关系,并根据这个映射关系来推理。例如,基于学习的推荐系统会学习到用户的偏好,并根据这些偏好为用户推荐商品。### 3.2 智能决策系统的架构设计 智能决策系统的架构设计通常包括以下几个步骤:
  • 抽取:从现实世界中获取数据,包括数据采集、数据清洗、数据准备等。
  • 存储:将数据存储至数据仓库,并对数据进行预处理。
  • 分析:对数据进行分析,提取数据中的知识。
  • 决策:基于知识对现实世界进行决策。
  • 发出:输出决策结果。### 3.3 智能决策系统的关键组件 智能决策系统的关键组件包括四个,分别是输入、处理、决策、输出。#### 3.3.1 输入模块 输入模块负责从外部环境、用户、传感器等处获取信息,包括数据采集、数据预处理、数据同步等。输入模块的输入信息有两种:原始数据和经过加工的数据。 原始数据是指通过直接获取的方式获得的数据,包括图片、文本、音频、视频、环境数据等。经过加工的数据是对原始数据进行加工,比如图像处理、文本分析、数据清洗、数据转换等,目的是使数据符合计算机处理的格式要求。#### 3.3.2 处理模块 处理模块负责对信息进行处理,包括数据存储、数据分析、知识抽取、决策支持等。处理模块的处理过程可以分为以下几个步骤:
  • 数据存储:对原始数据进行持久化存储。
  • 数据分析:对数据进行统计分析、数据挖掘、数据挖掘建模、数据可视化等。
  • 知识抽取:对数据中的知识进行抽取,包括数据挖掘、规则抽取、关联规则挖掘、语义分析等。
  • 决策支持:利用知识进行决策,包括决策树、贝叶斯网络、规则学习、神经网络、支持向量机等。#### 3.3.3 决策模块 决策模块根据各种因素对信息进行综合分析,并做出决策。决策模块包括决策支持模块、解释模块、优化模块、调节模块等。 决策支持模块用于从一组候选方案中选择出最优的决策,如分类决策、回归决策等。 解释模块负责为决策提供一定的解释,包括将决策路径、置信水平等信息转换成可读性较好的语言。 优化模块用于提升决策效率和准确率,包括参数优化、数据预处理、特征工程等。 调节模块用于调整系统的运行参数,使系统能更好地适应环境的变化。#### 3.3.4 输出模块 输出模块负责将决策结果反馈给外部环境、用户、控制器等处。输出模块的输出结果可以是指令、通知、命令、结果数据等。输出模块的输出方式包括打印、语音、文字、表情、视频、图像等。

本文转载自: https://blog.csdn.net/universsky2015/article/details/132798162
版权归原作者 禅与计算机程序设计艺术 所有, 如有侵权,请联系我们删除。

“大数据智能决策系统架构:决策系统性能与可扩展性”的评论:

还没有评论