掌握数据科学的学科地位;理解机器学习、统计学、可视化理论对数据科学的主要影响;了解:数据科学的理论基础—机器学习、统计学、可视化理论—的知识体系及代表性方法。知识点:
2.1数据科学的学科地位
2.2 统计学
2.3 机器学习
2.4 数据可视化
重点:数据科学的学科地位;数据科学视角下的机器学习知识体系;数据科学视角下的统计学知识体系;数据科学视角下可视化理论知识体系。
难点:机器学习、统计学、数据可视化之间的区别及它们在数据科学中的不可替代作用;统计学、机器学习和数据可视化之间的融合。
2.1.1 概念及地位
数据科学并不是以一个特定理论为基础发展起来的,而是基于计算机科学(数据库、数据挖掘、机器学习等)、数学与统计学、数据工程与知识工程、特定学科领域的理论在内的多个理论相互融合后形成的一门新兴的交叉学科,也是指以数据为中心的科学。
从学科地位看,数据科学处于数学与统计知识、黑客精神与技能和领域实务知识三大领域的重叠之处:
“数据与统计知识”是数据科学的主要理论基础之一,但数据科学与(传统)数学和统计学是有区别的。其主要区别如下:
数据学科中的“数据” != “数值” and “数据” != “数值”
数据科学中的“计算” != “加、减、乘、除等数学运算”,还包括数据的查询、挖掘、洞见、分析、可视化等更多类型
数据科学的问题!= “单一学科”的问题,还涉及到多个学科的研究范畴,它强调的是跨学科视角
数据学科!= 纯理论研究 and 数据学科 != 领域实务知识,它关注和强调的是二者的结合。
“黑客精神与技能”是数据科学家的主要精神追求和技能要求--- 大胆创新、喜欢挑战、追求完美和不断改进。
Tips : 此处涉及到黑客道德准则,感兴趣的朋友可以查阅史蒂夫 · 利维的代表作《黑客---计算机革命的英雄》。
“领域实务知识”是对数据科学家的特殊要求--- 不仅需要掌握数学与统计知识以及具备黑客精神与技能,而且还需要精通某一个特定领域的实务知识与经验。
基础库• Pandas,Numpy,Scipy
绘图及可视化• Matplotlib,Seaborn,Bokeh,Basemap,Plotly, NetworkX
机器学习• SciKit-Learn,TensorFlow,Theano,Keras
统计建模• Statsmodels
自然语言处理、数据挖掘及其他• NLTK,Gensim,Scrapy,Pattern
数据科学的理论、方法、技术和工具往往来源于统计学。统计学是数据科学的主要理论基础之一。
a.从行为目的与思维方式看,统计方法可以分为两大类:描述统计和推断统计。
描述统计:
采用图表或数学方法描述数据的统计特征,如分布状态、数值特征等。
集中趋势分析:数值平均数、位置平均数等。
离中趋势分析:极差、分位差、平均差、方差、标准差、离散系数等。
相关分析:正相关、负相关、线性相关、线性无关等。
推断统计:
常用的推断方法有:参数估计和假设检验。
b.从方法论角度看,基于统计的数据分析方法又可分为:基本分析法和元分析法。
基本分析法
用于对“低层数据(零次或一次数据)”进行统计分析的基本统计分析方法。
元分析法
用于对“高层数据(二次或三次数据)”,尤其是对基本分析法得出的结果进行进一步分析的方法。
常用的元分析法:加权平均法和优化方法
从理论和方法角度看,统计学方法可以应用于机器学习,反之亦然。
统计学需要事先对处理对象的概率分布做出假定而机器学习不用。
二者之间存在着联系:
不是随机样本,而是全体数据;
不是精确性,而是混杂性;
不是因果关系,而是相关关系。
数据的读入➡数据的理解➡数据的规整化处理➡模型的训练➡模型的解读与评价➡模型的优化与重新选择➡模型假定的分析与讨论
机器学习为数据科学中充分发挥计算机的自动数据处理能力,拓展人的数据处理能力以及实现人机协同数据处理提供了重要手段。
基本思路:以现有的部分数据(称为训练集)为学习素材(输入),通过特定的学习方法(机器学习算法),让机器学习到(输出)能够处理更多或未来数据的新能力(称为目标函数)。
常用机器学习算法:
•任务(T)
•性能指标(P)
•经验来源(E)
•主要解决训练样本集中的每个样本的分类标签已知的条件下,如何为一个新增数据给出对应的分类标签。
•关键在于“计算新增数据的特征与已有样本特征之间的相似度”。
本质:从有关某个布尔函数的输入输出训练样本中推算出该布尔函数。
• 具体方法:Find-S算法、候选消除算法等
本质:一种逼近离散值目标函数的过程。(决策树代表一种分类过程)
其中:
根节点:代表分类的开始
叶节点:代表一个实例的结束
中间节点:代表相应实例的某一属性
节点之间的边:代表某一个属性的属性值
从根节点到叶节点的每条路径:代表一个具体的实例,同一个路径上的所有所有属性之间是“逻辑与”关系。
核心算法:ID3算法。
人工神经元是人工神经网络的最基本的组成部分。
根据连接方式的不同,通常把人工神经网络分为无反馈的向前神经网络和相互连接型网络(反馈网络)。
• 实现人工神经元的方法:感知器( Perceptron)、线性单元( Linear Unit)和 Sigmoid单元( Sigmoid Unit)等。
• 特征学习方法:深度学习
深度学习的关键在于计算观测数据的分层特征及其表示,其中高层特征或因子由底层得到。
贝叶斯学习是一种以贝叶斯法则为基础的,并通过概率手段学习的方法。
• 常用方法:朴素贝叶斯分类器
主要研究的问题:
从候选假设空间中搜索出最佳假设: “最佳假设”指“适应度( Fitness)”指标为最优的假设。
遗传算法借鉴的生物进化的三个基本原则:适者生存、两性繁衍及突变,分别对应遗传算法的三个基本算子:选择、交叉和突变。
• 遗传算法:GA算法
分析学习是相对于归纳学习的提法。
特点:使用先验知识来分析或解释每个训练样本,以推理出样本的哪些特征与目标函数相关或不相关。因此,这些假设能使机器学习系统比单独依靠数据进行泛化有更高的精度。
主要研究:如何协助自治Agent的学习活动,进而达到选择最优动作的目的。
基本思路:当Agent在其环境中做出某个动作时,施教者会提供奖赏或惩罚信息,以表示结果状态的正确与否。
• 根据学习任务的不同,机器学习算法分为:有监督学习、无监督学习和半监督学习。
拓展:Agent定义
1. 弱定义
Agent用来最一般地说明一个软硬件系统,具有四个特性:
(1)自治性。在无人或其他系统的直接干预下可自主操作,并能控制其行为和内部状态。
(2)社会性。能够通过某种通信语言与其他Agent(也可能是人)进行交互。
(3)反应性。感知所处的环境,对环境的变化做出实时的反应,并可通过行为改变环境。
(4)能动性。不仅仅简单地对环境做出反应,而且可以主动地表现出目标驱动的行为。
2. 强定义
Agent除具备弱定义中所有特性外,还应具备一些人类才具有的特性,如知识、信念、义务、意图等。
数据的读入➡数据理解➡数据规整化处理➡数据建模➡模型评估➡模型预测➡结果显示
数据集 • Salaries
目的及分析任务 • 数据分布分析• 理解数据科学中的可视化方法
方法及语言• Python语言 • R语言
(1)视觉是人类获得信息的最主要途径。
视觉感知是人类大脑的最主要的功能之一。
眼睛是感知信息能力最强的人体器官之一。
(2)相对于统计分析,数据可视化的主要优势体现在两个方面:
数据可视化处理可以洞察统计分析无法发现的结构和细节。
数据可视化处理结果的解读对用户知识水平的要求较低。
(3)可视化能够帮助人们提高理解与处理数据的效率。
确定可视化目的➡数据理解➡读入文件➡数据准备➡导入Python包➡可视化绘图➡改进可视化效果