机器学习(科学计算库)完整教程(附代码资料)主要内容讲述:机器学习(常用科学计算库的使用)基础定位、目标,机器学习概述,1.1 人工智能概述,1.2 人工智能发展历程定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小案例,3 人工智能发展必备三要素:,4 人工智能、机器学习和深度学习,4 小结,学习目标,1 人工智能的起源,2 发展历程,3 小结。机器学习概述,1.3 人工智能主要分支,1.4 机器学习工作流程学习目标,学习目标,1 主要分支介绍,2 小结,学习目标,1 什么是机器学习,2 机器学习工作流程,3 小结。机器学习概述,1.5 机器学习算法分类,1.6 模型评估学习目标,学习目标,1 监督学习,2 无监督学习,3 半监督学习,4 强化学习,5 小结,学习目标,1 分类模型评估,2 回归模型评估,3 拟合,4 小结。机器学习概述,1.7 Azure机器学习模型搭建实验,1.8 深度学习简介,机器学习基础环境安装与使用,2.1 库的安装,2.2 Jupyter Notebook使用,一级标题,Matplotlib,3.1 Matplotlib之HelloWorld学习目标,学习目标,Azure平台简介,学习目标,1 深度学习 —— 神经网络简介,2 深度学习各层负责内容,4 小结,学习目标,学习目标,小结,学习目标,1 Jupyter Notebook介绍,2 为什么使用Jupyter Notebook?,3 Jupyter Notebook的使用-helloworld,二级标题,4 Jupyter Notebook中自动补全代码等相关功能拓展【了解】,5 小结,学习目标,学习目标,1 什么是Matplotlib,2 为什么要学习Matplotlib,3 实现一个简单的Matplotlib画图 — 以折线图为例,4 认识Matplotlib图像结构(了解),5 小结。Matplotlib,3.2 基础绘图功能 — 以折线图为例学习目标,学习目标,1 完善原始折线图 — 给图形添加辅助功能,2 在一个坐标系中绘制多个图像,3 多个坐标系显示— plt.subplots(面向对象的画图方法),4 折线图的应用场景,5 小结。Matplotlib,3.3 常见图形绘制,Numpy,4.1 Numpy优势学习目标,学习目标,1 常见图形种类及意义,2 散点图绘制,3 柱状图绘制,4 小结,学习目标,学习目标,1 Numpy介绍,2 ndarray介绍,3 ndarray与Python原生list运算效率对比,4 ndarray的优势,5 小结。Numpy,4.2 N维数组-ndarray学习目标,学习目标,1 ndarray的属性,2 ndarray的形状,3 ndarray的类型,4 总结。Numpy,4.3 基本操作学习目标,学习目标,1 生成数组的方法,2 数组的索引、切片,3 形状修改,4 类型修改,5 数组的去重,6 小结。Numpy,4.4 ndarray运算,4.5 数组间运算学习目标,学习目标,问题,1 逻辑运算,2 通用判断函数,3 np.where(三元运算符),4 统计运算,5 小结,学习目标,1 数组与数的运算,2 数组与数组的运算,3 小结。Numpy,4.6 数学:矩阵学习目标,学习目标,1 矩阵和向量,2 加法和标量乘法,3 矩阵向量乘法,4 矩阵乘法,5 矩阵乘法的性质,6 逆、转置,7 矩阵运算,7 小结。Pandas,5.1Pandas介绍,5.2 Pandas数据结构学习目标,学习目标,1 Pandas介绍,2 为什么使用Pandas,3 小结,学习目标,1.Series,2.DataFrame,3.MultiIndex与Panel,4 小结。Pandas,5.3 基本数据操作,5.4 DataFrame运算,5.5 Pandas画图学习目标,学习目标,1 索引操作,2 赋值操作,3 排序,4 总结,学习目标,1 算术运算,2 逻辑运算,3 统计运算,4 自定义运算,5 小结,学习目标,1 pandas.DataFrame.plot,2 pandas.Series.plot。Pandas,5.6 文件读取与存储,5.7 高级处理-缺失值处理学习目标,学习目标,1 CSV,2 HDF5,3 JSON,4 小结,学习目标,1 如何处理nan,2 电影数据的缺失值处理,3 小结。Pandas,5.8 高级处理-数据离散化,5.9 高级处理-合并,5.10 高级处理-交叉表与透视表,5.11 高级处理-分组与聚合学习目标,学习目标,1 为什么要离散化,2 什么是数据的离散化,3 股票的涨跌幅离散化,4 小结,学习目标,1 pd.concat实现数据合并,2 pd.merge,3 总结,学习目标,1 交叉表与透视表什么作用,2 案例分析,3 小结,学习目标,1 什么分组与聚合,2 分组API,3 星巴克零售店铺数据,4 小结。Pandas,5.12 案例,拓展阅读,完整机器学习项目的流程(拓展阅读),独立同分布IID(independent and identically distributed)学习目标,学习目标,1 需求,2 实现,1.独立同分布(i.i.d.),2.简单解释 — 独立、同分布、独立同分布,3.机器学习领域的重要假设,4.目前发展。
全套笔记资料代码移步: 前往gitee仓库查看
感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~
机器学习(常用科学计算库的使用)基础定位、目标
定位
作为人工智能领域(数据挖掘/机器学习方向)的基础课程,为长期从事人工智能方向打下坚实的基础。
目标
- 了解机器学习定义以及应用场景
- 掌握机器学习基础环境的安装和使用
- 掌握利用常用的科学计算库对数据进行展示、分析
机器学习概述
学习目标
- 了解人工智能发展历程
- 了解机器学习定义以及应用场景
- 知道机器学习算法监督学习与无监督学习的区别
- 知道监督学习中的分类、回归特点
- 知道机器学习的开发流程
1.1 人工智能概述
学习目标
- 了解人工智能在现实生活中的应用
- 知道人工智能发展必备三要素
- 知道人工智能和机器学习、深度学习三者之间的关系
1 人工智能应用场景
2 人工智能小案例
案例一:
参考链接:[
案例二:
参考链接:[
案例三:
查看更多:[
3 人工智能发展必备三要素:
- 数据
- 算法
- 计算力
- CPU,GPU,TPU
-
计算力之CPU、GPU对比:
-
CPU主要适合I\O密集型的任务
-
GPU主要适合计算密集型任务
-
提问:什么类型的程序适合在GPU上运行?
(1)计算密集型的程序。
所谓计算密集型(Compute-intensive)的程序,就是其大部分运行时间花在了寄存器运算上,寄存器的速度和处理器的速度相当,从寄存器读写数据几乎没有延时。可以做一下对比,读内存的延迟大概是几百个时钟周期;读硬盘的速度就不说了,即便是SSD, 也实在是太慢了。
(2)易于并行的程序。
GPU其实是一种SIMD(Single Instruction Multiple Data)架构, 他有成百上千个核,每一个核在同一时间最好能做同样的事情。
CPU和GPU的区别:
[
Google TPU 介绍:
[
4 人工智能、机器学习和深度学习
-
人工智能和机器学习,深度学习的关系
-
机器学习是人工智能的一个实现途径
- 深度学习是机器学习的一个方法发展而来
4 小结
-
人工智能应用场景【了解】
-
网络安全、电子商务、计算模拟、社交网络 … ...
-
人工智能必备三要素【知道】
-
数据、算法、计算力
-
人工智能和机器学习,深度学习的关系【知道】
-
机器学习是人工智能的一个实现途径
- 深度学习是机器学习的一个方法发展而来
1.2 人工智能发展历程
学习目标
- 了解人工智能阶段发展历程
1 人工智能的起源
1.1 图灵测试
测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。
多次测试(一般为5min之内),如果有超过30%的测试者不能确定被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。
1.2 达特茅斯会议
1956年8月,在美国汉诺斯小镇宁静的达特茅斯学院中,
约翰·麦卡锡(John McCarthy)
马文·闵斯基(Marvin Minsky,人工智能与认知学专家)
克劳德·香农(Claude Shannon,信息论的创始人)
艾伦·纽厄尔(Allen Newell,计算机科学家)
赫伯特·西蒙(Herbert Simon,诺贝尔经济学奖得主)等科学家正聚在一起,讨论着一个完全不食人间烟火的主题:
用机器来模仿人类学习以及其他方面的智能。
会议足足开了两个月的时间,虽然大家没有达成普遍的共识,但是却为会议讨论的内容起了一个名字:
人工智能
因此,1956年也就成为了人工智能元年。
2 发展历程
人工智能充满未知的探索道路曲折起伏。如何描述人工智能自1956年以来60余年的发展历程,学术界可谓仁者见仁、智者见智。我们将人工智能的发展历程划分为以下6个阶段:
- 第一是起步发展期:1956年—20世纪60年代初。
人工智能概念提出后,相继取得了一批令人瞩目的研究成果,如机器定理证明、跳棋程序等,掀起人工智能发展的第一个高潮。
- 第二是反思发展期:20世纪60年代—70年代初。
人工智能发展初期的突破性进展大大提升了人们对人工智能的期望,人们开始尝试更具挑战性的任务,并提出了一些不切实际的研发目标。然而,接二连三的失败和预期目标的落空(例如,无法用机器证明两个连续函数之和还是连续函数、机器翻译闹出笑话等),使人工智能的发展走入低谷。
- 第三是应用发展期:20世纪70年代初—80年代中。
20世纪70年代出现的专家系统模拟人类专家的知识和经验解决特定领域的问题,实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。专家系统在医疗、化学、地质等领域取得成功,推动人工智能走入应用发展的新高潮。
- 第四是低迷发展期:20世纪80年代中—90年代中。
随着人工智能的应用规模不断扩大,专家系统存在的应用领域狭窄、缺乏常识性知识、知识获取困难、推理方法单一、缺乏分布式功能、难以与现有数据库兼容等问题逐渐暴露出来。
- 第五是稳步发展期:20世纪90年代中—2010年。
由于网络技术特别是互联网技术的发展,加速了人工智能的创新研究,促使人工智能技术进一步走向实用化。1997年国际商业机器公司(简称IBM)深蓝超级计算机战胜了国际象棋世界冠军卡斯帕罗夫,2008年IBM提出“智慧地球”的概念。以上都是这一时期的标志性事件。
- 第六是蓬勃发展期:2011年至今。
随着大数据、云计算、互联网、物联网等信息技术的发展,泛在感知数据和图形处理器等计算平台推动以深度神经网络为代表的人工智能技术飞速发展,大幅跨越了科学与应用之间的“技术鸿沟”,诸如图像分类、语音识别、知识问答、人机对弈、无人驾驶等人工智能技术实现了从“不能用、不好用”到“可以用”的技术突破,迎来爆发式增长的新高潮。
3 小结
-
人工智能的起源【了解】
-
图灵测试
-
达特茅斯会议
-
人工智能的发展经历了六个阶段【了解】
-
起步发展期
- 反思发展期
- 应用发展期
- 低迷发展期
- 稳步发展期
- 蓬勃发展期
机器学习概述
学习目标
- 了解人工智能发展历程
- 了解机器学习定义以及应用场景
- 知道机器学习算法监督学习与无监督学习的区别
- 知道监督学习中的分类、回归特点
- 知道机器学习的开发流程
1.3 人工智能主要分支
学习目标
- 了解人工智能的主要分支
1 主要分支介绍
通讯、感知与行动是现代人工智能的三个关键能力,在这里我们将根据这些能力/应用对这三个技术领域进行介绍:
- 计算机视觉(CV)、
- 自然语言处理(NLP)
-
在 NLP 领域中,将覆盖文本挖掘/分类、机器翻译和语音识别。
-
机器人
1.1 分支一:计算机视觉
计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。物体检测和人脸识别是其比较成功的研究领域。
当前阶段:
计算机视觉现已有很多应用,这表明了这类技术的成就,也让我们将其归入到应用阶段。随着深度学习的发展,机器甚至能在特定的案例中实现超越人类的表现。但是,这项技术离社会影响阶段还有一定距离,那要等到机器能在所有场景中都达到人类的同等水平才行(感知其环境的所有相关方面)。
发展历史:
1.2 分支二:语音识别
语音识别是指识别语音(说出的语言)并将其转换成对应文本的技术。相反的任务(文本转语音/TTS)也是这一领域内一个类似的研究主题。
当前阶段:
语音识别已经处于应用阶段很长时间了。最近几年,随着大数据和深度学习技术的发展,语音识别进展颇丰,现在已经非常接近社会影响阶段了。
语音识别领域仍然面临着声纹识别和「鸡尾酒会效应」等一些特殊情况的难题。
现代语音识别系统严重依赖于云,在离线时可能就无法取得理想的工作效果。
发展历史:
- 百度语音识别:
- 距离小于1米,中文字准率97%+
- 支持耳语、长语音、中英文混合及方言
1.3 分支三:文本挖掘/分类
这里的文本挖掘主要是指文本分类,该技术可用于理解、组织和分类结构化或非结构化文本文档。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。
当前阶段:
我们将这项技术归类到应用阶段,因为现在有很多应用都已经集成了基于文本挖掘的情绪分析或垃圾信息检测技术。文本挖掘技术也在智能投顾的开发中有所应用,并且提升了用户体验。
文本挖掘和分类领域的一个瓶颈出现在歧义和有偏差的数据上。
发展历史:
1.4 分支四:机器翻译
机器翻译(MT)是利用机器的力量自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)。
当前阶段:
机器翻译是一个见证了大量发展历程的应用领域。该领域最近由于神经机器翻译而取得了非常显著的进展,但仍然没有全面达到专业译者的水平;但是,我们相信在大数据、云计算和深度学习技术的帮助下,机器翻译很快就将进入社会影响阶段。
在某些情况下,俚语和行话等内容的翻译会比较困难(受限词表问题)。
专业领域的机器翻译(比如医疗领域)表现通常不好。
发展历史:
1.5 分支五:机器人
机器人学(Robotics)研究的是机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理。
机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。
当前阶段:
自上世纪「Robot」一词诞生以来,人们已经为工业制造业设计了很多机器人。工业机器人是增长最快的应用领域,它们在 20 世纪 80 年代将这一领域带入了应用阶段。在安川电机、Fanuc、ABB、库卡等公司的努力下,我们认为进入 21 世纪之后,机器人领域就已经进入了社会影响阶段,此时各种工业机器人已经主宰了装配生产线。此外,软体机器人在很多领域也有广泛的应用,比如在医疗行业协助手术或在金融行业自动执行承销过程。
但是,法律法规和「机器人威胁论」可能会妨碍机器人领域的发展。还有设计和制造机器人需要相对较高的投资。
发展历史:
总的来说,人工智能领域的研究前沿正逐渐从搜索、知识和推理领域转向机器学习、深度学习、计算机视觉和机器人领域。
大多数早期技术至少已经处于应用阶段了,而且其中一些已经显现出了社会影响力。一些新开发的技术可能仍处于工程甚至研究阶段,但是我们可以看到不同阶段之间转移的速度变得越来越快。
2 小结
-
人工智能主要分支【了解】
-
计算机视觉
- 语音识别
- 文本挖掘/分类
- 机器翻译
- 机器人
1.4 机器学习工作流程
学习目标
- 了解机器学习的定义
- 知道机器学习的工作流程
- 掌握获取到的数据集的特性
1 什么是机器学习
机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。
2 机器学习工作流程
-
机器学习工作流程总结
-
1.获取数据
- 2.数据基本处理
- 3.特征工程
- 4.机器学习(模型训练)
- 5.模型评估
- 结果达到要求,上线服务
- 没有达到要求,重新上面步骤
2.1 获取到的数据集介绍
- 数据简介
在数据集中一般:
- 一行数据我们称为一个样本
- 一列数据我们成为一个特征
-
有些数据有目标值(标签值),有些数据没有目标值(如上表中,电影类型就是这个数据集的目标值)
-
数据类型构成:
-
数据类型一:特征值+目标值(目标值是连续的和离散的)
-
数据类型二:只有特征值,没有目标值
-
数据分割:
-
机器学习一般的数据集会划分为两个部分:
- 训练数据:用于训练,构建模型
- 测试数据:在模型检验时使用,用于评估模型是否有效
-
划分比例:
- 训练集:70% 80% 75%
- 测试集:30% 20% 25%
2.2 数据基本处理
即对数据进行缺失值、去除异常值等处理
2.3 特征工程
2.3.1什么是特征工程
特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
- 意义:会直接影响机器学习的效果
2.3.2 为什么需要特征工程(Feature Engineering)
机器学习领域的Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ”
注:业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
2.3.3 特征工程包含内容
- 特征提取
- 特征预处理
- 特征降维
2.3.4 各概念具体解释
-
特征提取
-
将任意数据(如文本或图像)转换为可用于机器学习的数字特征
-
特征预处理
-
通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程
-
特征降维
-
指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程
2.4 机器学习
选择合适的算法对模型进行训练(具体内容见1.5)
2.5 模型评估
对训练好的模型进行评估(具体内容见1.6)
拓展阅读:
完整机器学习项目的流程
3 小结
- 机器学习定义【掌握】
-
机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测
-
机器学习工作流程总结【掌握】
- 1.获取数据
- 2.数据基本处理
- 3.特征工程
- 4.机器学习(模型训练)
-
5.模型评估
- 结果达到要求,上线服务
- 没有达到要求,重新上面步骤
-
获取到的数据集介绍【掌握】
- 数据集中一行数据一般称为一个样本,一列数据一般称为一个特征。
-
数据集的构成:
- 由特征值+目标值(部分数据集没有)构成
-
为了模型的训练和测试,把数据集分为:
- 训练数据(70%-80%)和测试数据(20%-30%)
-
特征工程包含内容【了解】
-
特征提取
- 特征预处理
- 特征降维