目录
人工智能:
人工智能的基础是哲学、数学、经济学、神经科学、心理学、计算机工程、控制论、语言学。
- 深度学习:深度学习是基于现有的数据进行学习操作,是机器学习研究中的一个新的领域,机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
- 自然语言处理:自然语言处理是用自然语言同计算机进行通讯的一种技术。人工智能的分支学科,研究用电子计算机模拟人的语言交际过程,使计算机能理解和运用人类社会的自然语言如汉语、英语等,实现人机之间的自然语言通信,以代替人的部分脑力劳动,包括查询资料、解答问题、摘录文献、汇编资料以及一切有关自然语言信息的加工处理。例如生活中的电话机器人的核心技术之一就是自然语言处理
- 计算机视觉:计算机视觉是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。计算机视觉就是用各种成象系统代替视觉器官作为输入敏感手段,由计算机来代替大脑完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。计算机视觉应用的实例有很多,包括用于控制过程、导航、自动检测等方面。
- 智能机器人:如今我们的身边逐渐开始出现很多智能机器人,他们具备形形色色的内部信息传感器和外部信息传感器,如视觉、听觉、触觉、嗅觉。除具有感受器外,它还有效应器,作为作用于周围环境的手段。这些机器人都离不开人工智能的技术支持。科学家们认为,智能机器人的研发方向是,给机器人装上“大脑芯片”,从而使其智能性更强,在认知学 习、自动组织、对模糊信息的综合处理等方面将会前进一大步。
- 自动程序设计:自动程序设计是指根据给定问题的原始描述,自动生成满足要求的程序。它是软件工程和人工智能相结合的研究课题。自动程序设计主要包含程序综合和程序验证两方面内容。前者实现自动编程,即用户只需告知机器“做什么”,无须告诉“怎么做”,这后一步的工作由机器自动完成;后者是程序的自动验证,自动完成正确性的检查。其目的是提高软件生产率和软件产品质量。自动程序设计的任务是设计一个程序系统,接受关于所设计的程序要求实现某个目标非常高级描述作为其输入,然后自动生成一个能完成这个目标的具体程序。该研究的重大贡献之一是把程序调试的概念作为问题求解的策略来使用。
- 数据挖掘:数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。它通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。它的分析方法包括:分类、估计、预测、相关性分组或关联规则、聚类和复杂数据类型挖掘。
大数据:
Volume(海量化): 数据量巨大,从TB到PB级别。
Velocity(时效性): 数据量在持续增加(两位数的年增长率)。
从数据的生成到消耗,时间窗口非常小。数据的变化速率,还有处理过程,越来越快。例如变化速率,从以前的按天变化,变成现在的按秒甚至毫秒变化。
Variety(多样化): 数据类型复杂,超过80%的数据是非结构化的。
数据的形式是多种多样的,包括数字(价格、交易数据、体重、人数等)、文本(邮件、网页等)、图像、音频、视频、位置信息(经纬度、海拔等),等等,都是数据。
数据又分为结构化数据和非结构化数据。
Value(价值密度): 低密度高价值,低成本创造高价值。
文件存储:Hadoop HDFS、Tachyon、KFS
离线计算:Hadoop MapReduce、Spark
实时计算:Storm、Spark Streaming、Flink
NOSQL数据库:HBase、Redis、MongoDB
资源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系统:Kafka、StormMQ、RabbitMQ
查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式协调服务:Zookeeper
集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager
数据挖掘、机器学习:Mahout、Spark MLLib
数据同步:Sqoop
任务调度:Oozie、Azkaban
……
数据采集:大数据处理的第一步,数据来源主要是两类,第一类是各个业务系统的关系数据库,通过Sqoop或者Cannal等工具进行定时抽取或者实时同步;第二类是各种埋点日志,通过Flume进行实时收集。
数据存储:收集到数据后,下一步便是将这些数据存储在HDFS中,实时日志流情况下则通过Kafka输出给后面的流式计算引擎。
数据分析:这一步是数据处理最核心的环节,包括离线处理和流处理两种方式,对应的计算引擎包括MapReduce、Spark、Flink等,处理完的结果会保存到已经提前设计好的数据仓库中,或者HBase、Redis、RDBMS等各种存储系统上。
数据应用:包括数据的可视化展现、业务决策、或者AI等各种数据应用场景。
云计算:
云计算(cloud computing),分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。
透过这项技术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和 “ 超级计算机 ” 同样强大效能的网络服务。
最简单的云计算技术在网络服务中已经随处可见,例如搜寻引擎、网络信箱等,使用者只要输入简单指令即能得到大量信息。
云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS):
SaaS:Software as a Service,软件即服务,将应用作为服务提供给客户。
PaaS:Platform as a Service,平台即服务,将一个开发平台作为服务提供给用户。
IaaS:Infrastructure as a Service, 基础设施即服务,提供虚拟机或者其他资源作为服务提供给用户。