人工智能
什么是人工智能
人工智能定义:
人工智能是研究、开发用于模拟、延申和扩展人的智能的理论、方法、技术及应用系统的一门新的技术学科
强人工智能:具备与人类同等或者超越人类智慧,具有心智和意识,能根据自己意图开展行动
弱人工智能:面向特定的问题或任务
1. 计算机视觉
1. 语音识别
1. 自然语言处理
1. 推荐系统
1. 专家系统
人工智能、机器学习、深度学习的关系
机器学习
机器学习是人工智能中产生的一个重要学科分类,是实现智能化的关键
什么是机器学习
机器学习:
经典定义: 利用经验改善系统自身的性能
机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获得新知识或技能
基本术语
有监督学习与无监督学习
有标记的学习是监督学习,无标记的学习是无监督学习
半监督学习:有监督学习与无监督学习的结合
机器学习的步骤
准备阶段
数据预处理:数据清洗、数据采样、数据拆分
特征工程:特征编码、特征选择、特征降维、规范化
机器学习
数据建模:一般过程、回归问题、分类问题、聚类问题
模型评估:查准率、查全率、F1值、PR曲线
数据预处理
数据清洗、数据采样、数据拆分
数据清洗
对各种肮脏数据进行对应方式的处理,得到 **标准、干净、连续的数据 ** ,提供给数据统计、数据挖掘等使用。
数据清理的原则:
- 数据的完整性
- 数据的合法性
- 数据的一致性
- 数据的唯一性
- 数据的权威性
数据清理的方法:
- 丢弃部分数据
- 补全缺失的数据
- 不处理数据
- 真值转换法
数据采样
数据不平衡:指数据集的类别分布不均
解决方法:过采样、欠采样
过采样:通过随机复制少数类来增加其中的实例数量,从而可增加样本中少数类的代表性。
欠采样:通过随机地消除占多数地类地样本来平衡类分布
数据拆分
机器学习中将数据划分为3份:
- 训练数据集:用来构建机器学习的模型
- 验证数据集:辅助构建模型,用于在构建过程中评估模型,提供无偏估计,进而调整参数模型
- 测试数据集:用来评估训练好的最终模型的性能
常用的拆分方法:
- 留出法
- K-折交叉验证法
K-折交叉验证:
K折交叉验证用于模型调优,找到使得模型泛化性能最优的超参值。
K折交叉验证使用了无重复抽样技术的好处:每次迭代过程中每个样本点只有一次被划入训练集或测试集的机会。
如果训练数据集相对较小,则增大k值。增大k值,在每次迭代过程中将会有更多的数据用于模型训练,能够得到最小偏差,同时算法时间延长。且训练块间高度相似,导致评价结果方差较高。
如果训练集相对较大,则减小k值。减小k值,降低模型在不同的数据块上进行重复拟合的性能评估的计算成本,在平均性能的基础上获得模型的准确评估。
特征工程
特征编码、特征选择、特征降维、规范化
特征编码
数据集中经常会出现字符串信息,不能直接用于算法计算,需要将这些数据转化为数值形式进行编码。
one-hot编码
语义编码
特征选择
特征选择的方法:
- 过滤法
- 包裹法
- 嵌入法
特征降维
特征选择完成后,可能由于特征矩阵过大,导致计算量大、训练时间长,因此降低特征矩阵维度也是必不可少的
特征降维的方法:
- 主成分分析
- 线性判别分析
规范化
不同属性具有不同量级时会导致:①数量级的差异将导致量级较大的属性占据主导地位;②数量级的差异将导致迭代收敛速度减慢;③依赖于样本距离的算法对于数据的数量级非常敏感。
规范化方法:
-
标准化
通过减去均值然后除以方差(或标准差),将数据按比例缩放,使之落入一个小的特定区间。
适用于:如果数据的分布本身就服从正态分布,就可以用这个方法。 -
区间缩放
将属性缩放到一个指定的最大和最小值(通常是1-0)之间。
-
归一化
将某一属性特征的模长转化成1。