0.人工智能概述:
(1)必备三要素:
- 数据
- 算法
- 计算力
- CPU、GPU、TPU
- GPU和CPU对比:
- GPU主要适合计算密集型任务;
- CPU主要适合I/O密集型任务;
【笔试问题】什么类型程序适合在GPU上运行?——面试题<1>
(2)人工智能、机器学习、深度学习区别?
- 机器学习是人工智能的一个实现阶段;
- 深度学习是机器学习的一个方法发展而来(神经网络);
(3)起源:
- 图灵测试:
- 机器与人隔开情况下,人提问机器回答测试5min,测试完成后让人回答:在你对面的是人还是机器?若30%的人无法判断,这个机器就通过了测试。该测试提出者:艾伦.麦席森.图灵。
- 达特茅斯会议:
- 1956年8月,提出机器模仿人类学习,无实质东西,会议长达2个月,1956年是人工智能元年。
(4)发展经历:
- 起步
- 反思
- 应用
- 低迷
- 稳步
- 蓬勃
(5)分支:
- 计算机视觉(CV)
指机器感知环境能力,这一技术类别中经典任务有图像形成、图像处理、图像提取和图像的三位推理。物体检测和人脸识别是其比较成功的研究领域。
- 自然语言处理(NLP)
- 覆盖文本挖掘/分类、机器翻译和语音识别。
语言识别:指识别语言(说出语言)并将其转换成文本的技术。仍面临声纹识别和[鸡尾酒会效应]等一些特殊情况的难题。语言识别验证依赖于云平台,离线处理可能无法取得利息的工作原理。
文本挖掘和分类:对文字进行情绪分析、对里面垃圾信息检测。面临:可能出现歧义。
机器翻译:将A语言翻译B语言。面临:方言、行话表现不好。
- 机器人
固定机器人:工业应用;
移动机器人:工业和家庭应用。
一.机器学习介绍
1.步骤:
- 获取数据
- 数据基本处理(科学计算库)
- Matplotlib
- Pandas
- Numpy
- Seaborn
- 特征工程
- 机器学习算法
- 模型评估与调优
2.概述:
(1)定义:
机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。
(2)工作流程:
机器学习工作流程总结:
- 获取数据
- 数据基本处理
- 特征工程
- 机器学习(模型训练)
- 模型评估
- 结果达到要求,上线任务
- 没有达到要求,重新上面步骤
3.工作流程详述:
(1)获取数据:
- 在数据集中一般:
- 一行数据是一个样本;
- 一列数据是一个特征;
- 有些数据有目标值(标签值),有些数据没有目标值(如上表中,电影类型就是这个数据集中的目标值)
- 数据类型构成:
- 数据类型一:特征值+目标值(目标值是连续的和离散的)
- 数据类型二:只有特征值,没有目标值(典型算法:聚类算法)。
- 数据分割:
- 机器学习一般数据集划分为两个部分:
- 训练数据:用于训练,构建模型;
- 测试数据:在模型检验时使用,用于评估模型是否有效。
- 划分比例:
- 训练集:70% 80% 75%
- 测试集:30% 20% 25%
- 机器学习一般数据集划分为两个部分:
(2)数据基本处理:
即对数据进行缺失值,去除异常值等处理。
(3)特征工程:
- 定义:特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
- 为什么需要?
- 数据和特征决定机器学习上限,而模型和算法只是逼近这个上限而已。
- 包含内容:
- 特征提取
- 将任意数据(如文本或图像)转换为可用于机器学习的特征工程;
- 特征预处理
- 通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程;
- 特征降维
- 指在某些特定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程;
- 特征提取
(4)机器学习(模型训练):
选择合适算法对模型进行训练。
(5)模型评估:
对训练好模型进行评估。
二.机器学习算法分类:
1.监督学习:
1.1.定义:
- 输入数据是由输入特征值和目标值所组成;
- 函数的输出可以是一个连续的值(称为回归);
- 或是输出有限个离散值(称为分类);
(1)回归问题:
例如:预测房价,根据样本集:拟合出一条连续曲线。
(2)分类问题:
例如:根据肿瘤特征判断良性还是恶性,得到结果是“良性”或者“恶性”,是离散的。
2.无监督学习:
2.1.定义:
- 输入数据是由输入特征值组成,没有目标值;
- 输入数据没有被标记,也没有确定的结果。样本数据类别未知;
- 需要根据样本间的相似性对样本集进行类别划分。
- 例:
【无监督与有监督对比】:
3.半监督学习:
3.1.定义:
- 训练集同时包含有标记样本数据和未标记样本数据;
- 例:
监督:从数据库中得到未标记数据,让专家预测,得到大量标记过数据,通过标记过数据训练预测模型;
半监督:从数据库中得到少部分未标记数据,让专家预测,得到少量标记过数据,通过少量数据训练初步模型,再用未标记的数据进行模型得出(优化)。
总之:半监督是通过少量标记数据训练初步模型,再利用大量未标记数据进行模型优化。
4.强化学习:
4.1.定义:
- 实质是make decisions问题,即自动进行决策,并且可以做到连续决策。
- 例:小孩走路,首先站起来,保持平衡,接下来先迈出左腿还是右腿,迈出一步再迈出一步。
小孩就是agent,他试图通过采取行动来操纵环境,并且从一个状态转变到另一个状态,当他完成任务的子任务时,孩子得到奖励;并且当他不能走路时就不会给奖励。
主要包含五个元素: agent ,action, reward,environment, observation
【强化与监督对比】
监督学习 | 强化学习 | |
反馈映射 | 输出的是之间的关系,可以告诉算法什么样的输入对应着什么样的输出 | 输出的是给机器反馈reward function,即用来判断这个行为是好是坏 |
反馈时间 | 做了比较坏的选择会立刻反馈给算法 | 结果反馈有延迟,有时候可能需要走了很多步以后才知道以前的某一步的选择是好还是坏 |
输入特征 | 输入是独立同分布的 | 面对的输入总是在变化,每当算法做出一个行为,它影响下一次决策的输入 |
【拓展概念】什么是独立同分布?
概念:西瓜书中解释:输入空间中的所有样本服从一个隐含未知的分布,训练数据所有样本都是独立的从这个分布上采样而得。
- 独立:每次抽样之间没有关系,不会相互影响;
- 举例:给一个骰子,每次抛骰子抛到几就是几,这是独立;如果我要骰子两次之和大于8,那么第一次和和第二次抛就不独立,因为第二次抛的结果和第一次相关;
- 同分布:每次抽样,样本服从同一个分布
- 举例:给一个骰子,每次抛骰子得到任意点数的概率都是1/6,这个就是同分布;
- 独立同分布:i.i.d.,每次抽样之间独立而且同分步。
5.小结:
in | out | 目的 | 案例 | |
监督(supervised learning) | 有标签 | 有反馈 | 预测结果 | 猫狗分类、房价预测 |
无监督(unsupervised learning) | 无标签 | 无反馈 | 发现潜在结构 | “物以类聚人以群分” |
半监督(Semi-Supervised learning) | 部分有标签,部分无标签 | 有反馈 | 降低数据标记难度 | |
强化(reinforcement learning) | 决策流程及激励系统 | 一系列行动 | 长期利益最大化 | 学下棋 |
三.模型评估:
1.分类模型评估:
- 准确率:
- 预测正确的数站样本总数的比例;
- 其他评价指标:精确率、召回率、F1-score、AUC指标等。
2.回归模型评估:
- 均方根误差( Root Mean Squared Error,RMSE)
- RMSE是一个衡量回归模型误差率的常用公式。不过,它仅能比较误差是相同单位的模型。
a = actual target真实值
p = predicted target预测值
- 例:
- RSE:(预测值 - 真实值 )的平方和 /(真实值的均值 - 真实值的平方和)
- MAE:(预测值 - 真实值)的绝对值的和 / 样本数量
- RAE:(预测值 - 真实值的绝对值和)/ (真实值的均值 减 真实值的绝对值的和)
3.拟合:
模型评估用于评价训练好的模型的表现效果,其效果大致分为:过拟合、欠拟合。
在训练过程中,可能会遇到:
训练数据训练的很好,误差不大,为什么在测试集上有问题,出现这种情况就是拟合问题。
3.1.欠拟合(under-fitting):
- 模型学习太过粗糙,连训练集中的样本数据特征关系都没有学出来。
- 训练集与测试集中表现不好;
3.2.过拟合(over-fitting):
- 所建成的机器学习模型或者深度学习模型在训练样本中表现的过于优越,导致在测试数据集中表现不佳。
- 训练集表现比较好,测试集中表现不好;
四.深度学习简介:
1.概念:
- 深度学习(deep learning)(也称为速度结构学习【deep structure learning】、层次学习【Hierarchical learning】或者深度机器学习【deep machine learning】)是一类算法集合、是机器学习的一个分支。
- 深度学习近些年来,在会话识别、图像识别和对象侦测等领域出现出来惊人的准确性。
- 但是,“深度学习”在1986年有Dechter在机器虚席领域提出,然后在2000年有Aizenberg等人引入到人工神经网络中。而现在,由于Alex Krizhevsky在2012年使用卷积网络结构赢得了ImageNet比赛后受到大家瞩目。
- 卷积网络之父:Yann LeCun
2.各层负责内容:
- 1层负责识别颜色及简单纹理;
- 2层一些神经元可以识别更加细化的纹理,布纹、刻纹、叶纹等;
- 3层一些神经元负责感受黑夜里的黄色烛光,高光,萤火,鸡蛋黄色等;
- 4层一些神经元识别萌狗的脸,宠物形貌,圆柱体事物,七星瓢虫等存在;
- 5层一些神经元负责识别花,黑眼圈动物,鸟,键盘,原型屋顶等;
五.Jupyter Notebook
1.定义:
Jupyter 项目是一个非盈利的开源项目,源于2014年的ipython项目,因为它逐渐发展为支持夸所有编程语言的交互数据科学和数据计算。
- Jupyter Notebook,原名IPython Notebook,是IPython的加强网页版,一个开源Web应用程序;
- 名字源自Julia、Python和R(数据科学的三种开源语言)
- 是一款程序员和科学工作者的编程/文档/笔记/展示软件;
- .ipynb文件格式使用于计算型叙述的JSON文档格式的正式规范;
2.为什么使用:
- 传统软件开发:工程/目标明确
- 需求分析:设计框架,开发模版,测试
- 数据挖掘:艺术/目标不明确
- 目的是具体的洞察目标,而不是机械的完成任务;
- 通过执行代码来解决问题;
- 迭代式改进代码来解决方法;
实时运行代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来叙述故事。