machine learning笔记(一)-基础知识梳理

基础概念梳理:

 

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,

非均等代价错误率与代价曲线

非监督式学习性能度量:

内部指标:考察聚类结果的簇内相似度与簇间相似度

外部指标:将结果与参考模板进行比较

 

思维导图:

machine learning笔记(一)-基础知识梳理

 

机器学习工作流程:

1 抽象为具体的数学问题,明确目标是分类还是回归还是聚类问题,如果不是则规划为其中某一类问题,并选择性能指标,

2 获取数据,查看数据的结构,数据要有代表性,否则容易出现过拟合问题。对于分类问题,数据偏斜不能过于严重,不能类别的数据数量不能有数量级的差距。同时对数据的量级要有评估,估算对内存消耗的程度,考虑在训练过程中是否能存放下,如果放不下则要考虑对算法进行改进或者降维,如果仍然无法解决,则要考虑分布式的方法。

创建测试集,训练集和验证集。

3 特征预处理与特征选择

良好的特征能够使得算法的效果和性能得到显著的提高。筛选显著特征,摈弃非显著特征。特征缺失的解决,进行特征放缩,标准化与归一化,是让不同维度之间的特征在数值上有一定比较性。

4 模型训练及调优,模型诊断,模型融合

对算法的参数进行调整,从而使结果变得更加优良。

模型诊断用于确定模型的调优方向,(过拟合(正则化用于解决过拟合问题),欠拟合判断)。常见的方式是交叉验证,绘制学习曲线。对于过拟合是要增加数据的数量并对模型的复杂度进行优化减小。对于欠拟合的情况则是要提升特征数量和质量,增加模型复杂度。误差分析得出误差的产生原因,参数还是算法选择,特征还是数据本身。模型微调:网络搜索,随机搜索与集成模型。

5 上线运行

模型在线上运行的效果会决定模型的成败。包括多方面的情况,准确度,误差,时间复杂度、空间复杂度、稳定性等一系列的问题,并对输入输出进行实时监控。

 

问题记录:

1, 强化学习是监督式的还是非监督式的?

 

强化学习属于有延迟监督式学习,奖励机制的结果可视为监督。

2,数据不平衡的分类如何处理?

重采样,欠采样,过采样,集群。

3,训练集数据分类模糊,如何进行机器学习?

如果影响较大可以人为介入,如果对性能提升不大,可容忍。

4,如何正确理解强化学习的流程和各个角色?

machine learning笔记(一)-基础知识梳理