一、人工智能概念
-
人工智能
- 分类
- 机器学习
- 深度学习
- 数据挖掘
- 模式识别
- 机器学习
- 落地
依靠机器学习
- 分类
-
数据
即观测值 -
信息
可信的数据 -
数据分析
从数据到信息的整理、筛选和加工过程 -
数据挖掘
对信息进行价值化的分析 -
用机器学习的方法进行数据挖掘
- 机器学习为方法
- 数据挖掘为任务
- 模式识别也是任务
-
机器学习
- 机器学习=CPU+GPU+数据+算法
- 研究如何通过计算的手段利用经验改善系统自身的性能的学科
- 人工智能核心
- 数据+算法=机器学习模型
- 判断问题是否为机器学习问题
- 非机器学习问题
- 确定性问题
- 基础统计问题
- 机器学习问题
- 有预测的过程
- 非机器学习问题
- 机器学习学习的是什么?
- 模型及其参数
-
基于规则的学习
- 硬编码(人工)
-
基于模型的学习
- 拟合模型(智能)
二、机器学习基础(一)
数据集
- 对比
- 关系型数据库
- 行:记录
- 列:字段
- 机器学习
- 行:样本或实例
- 列:
- 特征属性
- 类别标签
- 关系型数据库
- 先统计样本、属性、类别数量
- 特征或属性空间
- 定义
- 由特征张成的空间
- 特征或属性向量
- 组成特征或属性空间中的样本点(行)
- 特征或属性值
- 组成特征向量中的值
- 定义
- 包含
- 样本X
- 标签Y
- 训练/测试集划分比例
- 6:4
- 7:3
- 8:2
- 非数值特征
- 标签编码(label encoder)
0、1、2…… - 独热码(onehot encoder)
如001、010、100
- 标签编码(label encoder)
基本训练流程
- 训练集训练模型
- 测试集通过模型得到预测结构y_pred
误差(error)/损失函数/误差函数/目标函数
- 简单误差:y-y_pred
- 绝对误差:|y-y_pred|
- 平方误差:(y-y_pred)**2
- 训练误差:训练集
- 测试误差:测试集
- 泛化误差:新的数据集
性能矩阵/混淆矩阵/分类预测结果判断矩阵(真实值-预测值关系)
- True Positive(TP): Positive - Positive
- False Negative(FN): Positive - Negative
- False Positive(FP): Negative - Positive
- True Negative(TN): Negative - Negative
性能评价标准
- 准确率 Accuracy = (TP + TN) / ALL
- 精确率 Precision = TP / (TP + FP)
- 召回率 Recall = 真正率 (true positive rate) = TP / (TP + FN)
- 假正率 FPR(false positive rate) = FP / (FP + TN)
- F1-Score(F1值)
- 精确率和召回率的调和平均
- F1_score = 2/(1/precision + 1/ recall) = 2 * pre * recall / (recall + precision)
- ROC(受试者工作)曲线
- 二分类
- x轴:FPR
- y轴:TPR
- 标准:AUC(area under curve)in [0, 1](一般认为大于随机分类的0.5,效果比较好)
概念学习
- 关于布尔函数的学习方式
- f:X(特征集)->Y(类标签)
问题分类
- 按结果类型分
- 分类:离散型
- 回归:连续型
- 按有无标签分
- 监督学习(supervised learning):训练集有标记
- 半监督学习(semi-supervised learning):部分样本有标记
- 无监督学习(unsupervised learning):训练集无标记
- 监督学习
- 任务驱动
- 回归算法
- 简单线性回归
- 多元线性回归
- Lasso回归
- Ridge回归
- ElasticNet
- 分类算法
- 决策树
- KNN
- SVM
- Perception & NeuralNetwork
- Bayes
- LogisticRegression
无监督学习
- 数据驱动
- 聚类
- 在没有类标签的情况下,根据特征相似性或相异性进行分类
- 特征降维
- 根据算法将高维特征降为低维特征
- 区别于特征选择,降维得到的低维特征不具有可解释性
半监督学习
- 廉价
- 区别于主动学习:依赖于人工标记标签
- 聚类假设
将有标记数据和无标记数据混合在一起,通过特征之间的相似性将样本分成若干个组或若干个簇,使得组内相似性较大,组间相异性较大。将样本点都进行分组,此时分组的样本点即包含了有标签的和无标签的。根据有标签的样本,按少数服从多数的投票原则对没有标记的样本添加标记,从而全部转化为标记数据 - 分类
- 纯半监督学习
- 直推学习
强化学习
- 对环境做出反应
- 主要解决连续决策的问题
迁移学习
- 对于两相关联领域,一个领域数据集小,一个领域数据集大,用大数据集训练的模型迁移到数据小的领域做预测
- 模型适应性问题
三、机器学习基础(二)
-
机器学习三要素
- 机器学习模型 = 数据 + 算法 + 策略
- 算法
- 提供求解参数的方法
- 解析解:平常方法
- 最优解:梯度下降法(最优法)、牛顿法
- 策略
- 损失函数
- 算法
- 模型学习模型 = 模型 + 算法 + 策略
- 模型
- 决策函数
- 输出0或1
- 条件概率函数
- 按概率输出
- 决策函数
- 模型
- 机器学习模型 = 数据 + 算法 + 策略
-
如何设计机器学习系统
- 首先确定问题
- 是否为机器学习问题
- 监督还是无监督?
- 拿到数据从以下两个角度思考
- 从数据角度
- 监督
- 无监督
- 半监督
- 从业务角度
- 根据业务部门指定的业务方向整理数据进行建模
- 从数据角度
- 特征工程
- 对特征处理
- 对数据处理
- 模型 = 数据 + 选择的算法
- 通过测试集测试模型,给定最终模型
- 若有新数据,通过模型给出预测结果
- 首先确定问题
-
模型泛化
- 好的泛化能力
- 指模型不但在训练数据集上表现效果很好,对于新数据的适应能力也有很好的效果
- 过拟合
- 模型在训练数据上表现良好,在未知数据或测试集上表现差
- 出现原因
- 模型过于复杂、数据不纯、训练数据太少
- 出现场景
- 模型训练中后期
- 解决办法
- 增加正则罚项
- 重新清理数据
- 增加训练数据量
- 对样本或特征进行抽样
- dropout(深度学习、随机丢弃)
- 欠拟合
- 在训练数据和测试数据甚至未知数据上表现都很差
- 出现原因
- 模型过于简单
- 出现场景
- 模型训练初期
- 解决办法
- 增加模型的多项式的项
- 增加模型多项式项的次数
- 减少正则罚项
- 奥卡姆剃刀原则
- 如果具有相同泛化误差的模型,选择较为简单的模型(防止过拟合)
- 好的泛化能力
-
损失的数学思考
-
损失函数越小越好
-》损失函数的期望越小越好,p(x,y)越不易求解
-》经验风险最小化,平均损失
-》结构风险最小化,在经验风险的基础上增加正则罚项 -
随着模型复杂度的增加,模型在训练集上的误差越小,但模型在测试集上的误差先减小再增加。这就需要找到一个合适的点,该点使模型具有很好的泛化误差能力,因此得到结构风险最小化的点即为最佳点,该点对应的参数即所求参数
-
-
正则化
- 目的:降低模型复杂度
- l1正则: + λ∣w∣
- l2正则:+ λ|w|^2
-
交叉验证
- 简单交叉验证
- 按比例分割数据集
- k折交叉验证
- 将数据集平均切成k等分,每次取一份作为测试集,其余为训练集,训练k个模型,得到平均准确率
- 留一验证
- 有多少样本就分成多少份的特殊k折交叉验证
- 简单交叉验证