基础概念梳理:
Supervised Learning -- 监督学习
通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),
再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。
根据已知分类结果的样本集(通常是人工已经进行分类了,结果没有异议的)来训练或许一个最优化的模型,从而对未知的数据来进行一个分析处理。
Unsupervised Learning — 无监督学习
直接对数据进行建模
一个聚类算法通常只需要知道如何计算相似度就可以开始工作。
把相似的东西放到一起进行分类。
Reinforcement Learning — 强化学习
通过观察通过什么样的动作获得最好的回报, 每个动作都会对环境有所影响, 学习对象通过观察周围的环境进行判断。
回归regression:用于对连续数据的预测
单一变量线性回归:梯度下降法gradient descent
多变量线性回归:梯度下降法与正规方程法(normal equation)
分类classify:用于对离散数据的预测
二分类:logistics regression(sigmoid函数),对数损失函数
多分类:拆分策略(1v1,1vR,NvN),把多分问题拆成多个二分问题。
OVO:把N个类别两两配对,产生N(N-1)/2的分类任务。
OVR:一个类为正,其他类为反例,产生N个分类任务。若预测结果只有一个分类器预测为正类,则对应类为最终结果;若多个分类器的结果为正,则选择置信度大的。
NVN:若干正,若干反。ECOC技术,编码→解码,返回距离最小的类别作为预测结果。
类别不平衡问题:欠采样,去掉部分负例,算法EASYEnsemble,利用集成学习,对反例划分为若干集合供不同学习器来使用;过采样,增加正例使用插值;再放缩。
softmax regression:多分类
求解最优解(cost函数最小)
梯度下降法:针对每一个系数,都采用对其取偏导数,然后使用一个合适的学习率参数a进行相乘并递减,重复这个过程,直到代价函数收敛到某个范围内。
正规方程法:一次性给出最优的系数向量解。通常当特征变量小于10000个的时候,不适用于逻辑回归。
生成模型:根据联合概率分布,生成模型可以获得到判别模型,同类数据之间的相似度。
判别模型:根据条件概率分布,判别模型无法获得到生成模型,异类数据之间的差异,找到最优划分。
模型评估方法:对数据集进行划分,产生训练集和测试集,测试集必须要与训练集互斥。训练集又划分为训练集与验证集。
训练集用于模型的构建与训练。
验证集用于模型的选择与调参
超参数(人为设定的参数)调节:
1.学习率(learning rate)
学习率的调整应该是一个很常见的操作。一般随着迭代次数的提高,当loss下不去的时候会先暂停训练模型,然后将learning rate调整至原来的1/10再继续进行训练。
2.有关过拟合
利用drop out、batch normalization、data argument等方法可以有效防止过拟合,通过调整drop out中每个神经元被抛弃的概率可以调整模型的泛化能力。
3.网络层数
一般来说,网络层数越多,模型的性能(包括灵敏度、收敛等)就会越好,相应地,对计算能力的要求就会更高。但是层数越多,神经元节点数越多,过拟合的概率就会越高。
4.Batch_Size
数据集划分方法:留出法;交叉验证法;自助法。
过拟合:学习能力过强,获取到不太一般的特性。
欠拟合:学习能力太低,模型不够复杂。解决办法:决策树中增加分支,神经网络增加轮数。
监督学习性能度量:
回归:均方误差
分类:错误率与精度
(二分问题)查准率(所有查出结果是正的里面有多少是对的),查全率(所有正例中有多少被查出来了),
F1,Fβ度量,ROC曲线(两个ROC曲线,面积大的比面积小的性能好)与AUC,
非均等代价错误率与代价曲线
非监督式学习性能度量:
内部指标:考察聚类结果的簇内相似度与簇间相似度
外部指标:将结果与参考模板进行比较
思维导图:
机器学习工作流程:
1 抽象为具体的数学问题,明确目标是分类还是回归还是聚类问题,如果不是则规划为其中某一类问题,并选择性能指标,
2 获取数据,查看数据的结构,数据要有代表性,否则容易出现过拟合问题。对于分类问题,数据偏斜不能过于严重,不能类别的数据数量不能有数量级的差距。同时对数据的量级要有评估,估算对内存消耗的程度,考虑在训练过程中是否能存放下,如果放不下则要考虑对算法进行改进或者降维,如果仍然无法解决,则要考虑分布式的方法。
创建测试集,训练集和验证集。
3 特征预处理与特征选择
良好的特征能够使得算法的效果和性能得到显著的提高。筛选显著特征,摈弃非显著特征。特征缺失的解决,进行特征放缩,标准化与归一化,是让不同维度之间的特征在数值上有一定比较性。
4 模型训练及调优,模型诊断,模型融合
对算法的参数进行调整,从而使结果变得更加优良。
模型诊断用于确定模型的调优方向,(过拟合(正则化用于解决过拟合问题),欠拟合判断)。常见的方式是交叉验证,绘制学习曲线。对于过拟合是要增加数据的数量并对模型的复杂度进行优化减小。对于欠拟合的情况则是要提升特征数量和质量,增加模型复杂度。误差分析得出误差的产生原因,参数还是算法选择,特征还是数据本身。模型微调:网络搜索,随机搜索与集成模型。
5 上线运行
模型在线上运行的效果会决定模型的成败。包括多方面的情况,准确度,误差,时间复杂度、空间复杂度、稳定性等一系列的问题,并对输入输出进行实时监控。
问题记录:
1, 强化学习是监督式的还是非监督式的?
强化学习属于有延迟监督式学习,奖励机制的结果可视为监督。
2,数据不平衡的分类如何处理?
重采样,欠采样,过采样,集群。
3,训练集数据分类模糊,如何进行机器学习?
如果影响较大可以人为介入,如果对性能提升不大,可容忍。
4,如何正确理解强化学习的流程和各个角色?