课堂学习笔记
机器学习导论二
机器学习关于数据集的概念(掌握)
- 数据集的行—样本
- 数据集的列—特征
- 特征组成的空间----特征或属性空间
- 组成属性空间中的点----特征或属性向量
- 将数据集切分成训练集和测试集
- 误差:进行校验结果情况
- 如果对于非数值的特征,需要进行特征转换(label encode、one-hot encode)
- 如何对二分类问题进行评价?
- 绝对值误差函数
- 平方误差函数
- 训练误差
- 测试误差
- 泛化误差
- 性能矩阵(混淆矩阵)
- Accuracy准确率
- Precsition 精确率
- Recall=Tpr 真正率或召回率
- FPR假正率
- F1-Score 精确率和召回率的调和平均
- ROC曲线的AUC指标
概念学习
- 分类问题:目标标记为类别型数据(离散值预测)
- 回归问题:目标标记为连续性数值
- 机器学习处理问题框架:
- 1.将数据集切分为训练集和测试集
- 2.通过训练集训练模型
- 3.通过测试集测试模型,给出评价指标
机器学习分类详解(理解)
- 监督学习:训练数据集每个样本均有个已知的输出项。
- 分类算法:
决策树算法
KNN
贝叶斯算法
SVM算法
LR算法 - 回归:线性回归、LASSO回归、Ridge回归
- 监督学习和无监督学习区别:是否有类别标签
- 监督学习
- 是否具备连续值的预测
- 分类
- 回归
- 是否具备连续值的预测
- 无监督学习(非监督学习)
- 聚类(KMeans):
- 在没有类别标签的情况下,通过特征之间的相似性或相异性进行分类
- 降维(PCA、LDA):
- 将高维特征降低到低维特征。通过机器学习算法达到降维目的,区别于特征选择
- 聚类(KMeans):
- 半监督学习(了解):一部分有类别标签,一部分没有类别标签。
- 主动学习
- 纯半监督学习/直推学习
- 强化学习:(了解)
- 解决连续决策问题
- 迁移学习:(了解)
- 解决小数据集和个性化问题,对环境做出反应。
- 深度(特征)+强化(连续决策)+迁移(模型适应性问题)
- 监督学习
机器学习经典案例举例-手写体识别(了解)
- 32*32矩阵—转化为1*1024列的矩阵----通过SVM算法-----识别结果
机器学习三要素详解及概念强化(熟悉)
标签
标签是我们要预测的事物,即简单线性回归中的 y 变量。标签可以是小麦未来的价格、图片中显示的动物品种、音频剪辑的含义或任何事物。
特征
特征是输入变量,即简单线性回归中的 x 变量。简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征,按如下方式指定:
- 机器学习模型=数据+算法+策略
- 数据:参考上面图示
- 算法:提供求解参数的方法
- 解析解------平常方法
- 最优解------梯度下降法(最优解)、牛顿法
- 策略:损失函数
- 模型学习模型=模型+算法+策略
- 模型:
- 决策函数—输出0或1
- 条件概率函数----按照概率进行输出
如何设计机器学习系统(了解)
- 首先明确:
- 该问题是否为机器学习问题?---- 是
- 该问题是机器学习哪方面的问题?----监督学习、无监督学习
- 当拿到数据之后从下面两个角度思考问题:
- 从数据角度思考:
- 根据具备的数据看能够做监督学习or无监督学习or半监督学习
- 从业务的角度思考
- 根据业务部门指定的业务方向,整理数据,从而建模
- 从数据角度思考:
- 特征工程
- 对特征处理
- 对数据的处理
- 数据+选择的算法==>模型
- 通过测试集测试模型,给定最终模型
- 如果有新数据,通过模型给出预测结果
模型选择-泛化性能体现(掌握)
- 对于多个模型如何选择?
- 模型的泛化能力:
- 1.欠拟合
- 模型在训练集和测试集的效果都很差
- A:60% B:58%
- 欠拟合出现原因:模型过于简单
- 欠拟合出现的场景:模型训练初期
- 欠拟合解决办法:
- 增加模型的多项式的项
- 增加模型多项式的项的次数
- 较减少正则罚项
- 2.过拟合
- 模型在训练集上的效果很好,但是测试效果很差
- A:100% B:80%
- A:100% B:40%
- 过拟合的出现原因:模型过于复杂、数据不纯、训练数据量太少
- 过拟合的出现场景:出现在模型训练的中后期
- 过拟合解决办法:
- 针对模型过于复杂的特性,增加正则罚项的
- 重新清洗数据
- 增加训练数据量
- 对样本抽样或特征进行抽样
- dropout—随机丢弃一些点(深度学习)
- 防火防盗防过拟合
- 奥卡姆剃刀原则:如果具有相同泛化误差的模型,选择较为简单的模型(防止过拟合)
- 1.欠拟合
15.机器学习三要素数学理论补充(理解)
- 数据
- 算法
- 策略
- 损失函数、目标函数、误差函数
- 损失函数越小越好
- 损失函数的期望越小越好p(x,y)不容易求解
- 经验损失-----------平均损失-----------经验风险最小化
- 结构风险-----------在经验风险基础上增加了正则罚项-----结构风险最小化
- 参考图示:
- 随着模型的复杂度的增加,模型在训练集上的误差越小的,但是模型在测试集上的误差先减少然后增加,这里需要找到一个合适的点,该点需要模型具备很好的泛化误差能力,因此得到了结构风险最小化的点对应的就是求解的最佳的点,该点对应的参数即为所求解参数。
16.正则化(了解)
- 正则项
- 目的:为了降低模型的复杂度
- 有几个正则项:
- L1正则+lambda*|w|
- L2正则+lambda*|w|**2
17.交叉验证(了解)
- 简单交叉验证:
- 将数据集切分为:训练集和测试集=7:3 6:4 8:2
- K则交叉验证:
- 将数据集平均随机切分为K等分,将其中一份数据作为测试集,其余数据作为训练集,训练K个模型,得到平均准确率
- 留一验证:
- 特殊的K则交叉验证
18.为什么先在是进入机器学习最佳时机(了解)
- 因为现在有了很多的成熟的机器学习库
- 希望大家能够在深入原理的基础上,结合已有的机器学习框架,解决实际问题
- 那些库?
- 基于Python的sklearn(scikit-learn库)
- 基于spark的mllib库
- 基于spark的sparkR库
- 基于Java的Weka库
- 深度学习库:
- 基于java的dl4j
- 基于python的tensorflow
- 基于tensorflow之上的pytorch、keras等
- 课程中重点以Python为主展开