前言
图灵奖获得者、著名数据库专家James Gray 博士观察并总结人类自古以来,在科学研究上,先后历经了实验、理论、计算和数据四种范式。
科学研究第一种范式:实验
在古代,人们的认知水平较低,对事物的认识很大程度上是主观的。比如,地心论,限于人们的认知水平和科技水平,人民对事物的认知是主观定义的,并没有任何实践可以证明。直到,1590年,伽利略在比萨斜塔做两个铁球同时落地实验,实验见证了重量不同的两个铁球同时落地,推翻了亚里士多德物体下落速度与物体重量成正比的结论,实验纠正了持续了接近2000年的错误结论。
科学研究第二种范式:理论
实验科学的研究会受到当时条件的限制,比较难以完成对自然现象更精准的理解,比如:我们想知道地球的质量,基于我们目前的设备,是无法通过实验来称量地球的质量
所以随着科学的进度,我们开始采用数学,几何,物理等来构建问题的模型和解决的方案;很多理论的证明和运用对人类的生活和思想产生了很大的影响,并且在很大程度上推动了人类进步和发展
科学研究第三种范式:计算
1946年人类历史上第一台计算机ENIAC
的诞生,人类社会步入了计算机的时代,人类的科学研究进入了以计算为中心的全新的时期,在实际应用中,计算科学主要用于对各个科学问题进行计算机的模拟和其他形式的计算,通过设计算法,并通过编写相应的程序,然后输入计算机去运行,我们就可以借助于计算机的高速的运算能力去帮我们解决各种各样的问题,而且计算机存储容量大,计算速度快,精度高,可重复执行
这些特点,所以是科学研究的利器,极大推动了人类社会的发展。
科学研究第三种范式:大数据
大数据时代,以数据为中心
随着数据日已累计,其宝贵的价值日益得到体现,物联网和云计算的出现更是促成了事物从量变到质变的转变。从此人类社会开启了全新的大数据时代。这时计算机不仅仅是做一次模拟仿真,而且还能进行分析总结,并且帮助我们得到结论。在大数据环境下,一切都是以数据为中心,从数据中发现问题,解决问题,从而真正体现数据的价值,而且大数据也称为我们科学工作的保障,从数据中挖掘未知的模式和有价值的信息,从而更好的服务于生产和生活,来推动科技的进步和社会的创新
虽然第三和第四范式都是利用计算机来进行计算,但是他们是有本质区别的
在第三种范式中,一般是先提出可能的理论,在搜集数据,然后通过计算来验证
第四种范式,现有大量已知的数据,然后通过计算机得出之前未知的理论
,比如我们比较熟悉的啤酒尿布的案例
基本概念
背景
1952年一位IBM的工程师Arthur Samuel研发了一个西洋跳棋程序,然后一些知名的棋手都输给了这个程序,有点像阿法狗。后来1956年,这位工程师受邀,在达沃斯会议上介绍自己的这项研究,第一次提出了“Machine Learning”
这个词汇, Arthur Samuel也因为被称为“机器学习之父”。
定义
Arthur Samuel将“Machine Learning”定义为`“不需要确定性编程就可以赋予机器某项技能的研究领域“,让机器像人一样学习起来。
进过不断的发展和总结,最终机器学习的定义为:
机器学习,是一门研究如何让计算机从历史数据中去更好地学习,从而产生一个优秀模型可以提升系统某项性能的学科。但实际应用远远不是研究算法这么简单。
相关内容
人工智能包括弱人工智能和强人工智能;
弱人工智能
(Artificial Narrow Intelligence)是无意识的计算智能或者擅长某一方面的人工智能。目前人们所能接触到的人工智能产品都属于弱人工智能产品,如苹果公司的Siri、谷歌的AlphaGo等。因为是Siri只具备语音识别功能和自然语言回答的能力,AlphaGo也只是围棋领域的世界冠军。
强人工智能
(Artificial General Intelligence)即机器对任何问题都具有智能处理的能力。强人工智能也是人工智能的主要研究目标,希望机器能够像人类一样进行思考、计划、解决问题、理解复杂理念,能够快速学习并从经验中学习和总结等。也正因如此,创造强人工智能要比创造弱人工智能难得多。
而机器学习是实现人工智能的方式。强化学习和深度学习都属于机器学的范畴,都是机器学习的技术。
概念区分
在我们学习中经常会遇到几个相近的概念:机器学习、数据挖掘和数据分析。他们之间有什么区别和联系呢?
机器学习:从数据中学习和提取有用的信息,不断提升机器的性能。
数据挖掘:从大量数据中,通过多种方法挖掘信息的过程。
数据分析:根据目的处理分析数据,提取有价值的信息,形成有效结论的过程。
数据分析重在根据目的形成结论
数据挖掘是一种应用,使用挖掘技术来挖掘信息
机器学习可以认为是数据挖掘的理论知识或者前提。
基本分类
机器学习按照学习方式分类可分为监督学习、无监督学习、半监督学习、强化学习
学习中最常见的是监督学习和无监督学习
监督学习:
- 有标记的训练数据是指每个训练实例都包括输入和期望的输出。一句话:给定数据,预测标签。
- 常见算法:朴素贝叶斯(Naive Bayes)、决策树(Decision Tree)、Logistic回归(Logistic Regression)、K近邻(K-Nearest Neighbours)、支持向量机(Support Vector Machine)
无监督学习:
- 最典型的无监督学习就是聚类分析,它可以在探索性数据分析阶段用于发现隐藏的模式或者对数据进行分组。一句话:给定数据,寻找隐藏的结构。
- 常见算法:K均值聚类、Mean-Shift、DBSCAN、主成分分析(Principal Component Analysis ,PCA)、奇异值分解(Singular Value Decomposition ,SVD)、潜在狄里克雷特分配( Latent Dirichlet allocation, LDA)
基本流程
机器学习是一个很大的概念,作为一个机器学习工程师,需要从数据集成、数据预处理、数据探索分析、特征工程、模型训练、验证优化、线上任务部署和最终结果的应用都要了解。
数据集成:是指将数据从不同的业务系统或者存储方式中集中整合成需要的数据。
数据预处理:主要是对数据的清洗,包括缺失值、重复值、数据格式等尽心处理。
EDA:数据探索分析,主要是分析数据、认识数据,看看数据的质量以及数据内容,对于接下来的特征工程提供帮助。
特征工程:是将原始数据转化成更好的表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精度。这里面包含的内容较多,在下一节专门讲。
模型训练:主要选取相应的机器学习算法进行训练。不同的场景需要用不同的算法。
验证优化:包括A/B test验证、模型评估等。
任务:训练完成的模型,需要发布到线上进行调用,一般是集成到用户页面或者API调用,实现实时预测。
结果:最红预测的结果需要返回到业务进行使用才能发挥价值。