google 机器学习复习及重点笔记(二)

1、机器学习分类模型-Logistics回归

通过Sigmod函数,将回归值压缩入(0,1),用以表示分类概率。逻辑回归模型关键在于如何选择分类阈值,根据分类阈值进行回归值到类别的映射。

此分类阈值由TP与TN的重要性决定,例如欺诈用户检验,是欺诈用户为TP,非欺诈用户为TN,该模型的作用在于甄别欺诈用户,因此应该提高TP的精确率,仅仅在意准确率是每没有参考意义的。一般需要同时考虑精确率和召回率,其中

准确率:Accuracy= (TP+TN)/(TP+TN+FP+FN),即 所有正确预测的样本数/所有样本数

精确率:Precesion = TP/(TP+FP), 即 预测正确的正类样本数/所有预测为正类的样本数

召回率:recall= TP/(TP+FN),即 预测正确的正类的样本数/所有正类的样本数

ROC是一种衡量模型性能工具,能够体现分类模型在不同分类阈值下的效果,主要利用真正率(TPR)和假正率(FPR)

                      上图为在不同分类阈值下TPR和FPR

如果采用不同的分类阈值计算ROC上的点,效率将会很低,一般采用AUC来评价模型,即ROC曲线下面积。

AUC对所有可能的分类阈值的效果进行综合衡量,一种解读方式是看作模型将某个随机正类别样本排列在某个随机负样本之上的概率,也即是AUC以相对预测为依据,考虑的是样本的相对排名情况。

应用AUC衡量模型性能需要注意:

(1)值衡量模型质量,不考虑模型应用的分类阈值;

(2)例如对分类阈值敏感的“垃圾邮件”模型,并非总是要求分类阈值不变,此时AUC不太适用。

2、L0正则化

特征过于稀疏时,如果进行特征交叉组合,将得到更为稀疏的组合特征,此时创建一种正则项:减少模型中非零系数值的计数,只有在模型与数据拟合时增加此计数才有意义。但是这种方法会将凸优化问题变得非凸,即NP困难。可采用具有类似作用的L1正则化,L1具有凸优化优势。

3、神经网络

神经网络解决非线性可分问题。在隐藏层中采用非线性激活函数,将模型转化为非线性模型。

                                                            包含激活函数的三层网络模型


如果继续添加带有激活函数逇隐藏层,那么在原有非线性模型上继续堆叠非线性,我们就能够对输入和预测之间复杂的关系进行建模。

神经网络中很多常见情况都会导致反向传播算法出错。

梯度消失

较低层(更接近输入)的梯度可能会变得非常小。在深度网络中,计算这些梯度时,可能涉及许多小项的乘积。

当较低层的梯度逐渐消失到 0 时,这些层的训练速度会非常缓慢,甚至不再训练。

ReLU 激活函数有助于防止梯度消失。

梯度爆炸

如果网络中的权重过大,则较低层的梯度会涉及许多大项的乘积。在这种情况下,梯度就会爆炸:梯度过大导致难以收敛。

批标准化可以降低学习速率,因而有助于防止梯度爆炸。

ReLU 单元消失

一旦 ReLU 单元的加权和低于 0,ReLU 单元就可能会停滞。它会输出对网络输出没有任何贡献的 0 激活,而梯度在反向传播算法期间将无法再从中流过。由于梯度的来源被切断,ReLU 的输入可能无法作出足够的改变来使加权和恢复到 0 以上。

降低学习速率有助于防止 ReLU 单元消失。

丢弃正则化

这是称为丢弃的另一种形式的正则化,可用于神经网络。其工作原理是,在梯度下降法的每一步中随机丢弃一些网络单元。丢弃得越多,正则化效果就越强:

  • 0.0 = 无丢弃正则化。
  • 1.0 = 丢弃所有内容。模型学不到任何规律。
  • 0.0 和 1.0 之间的值更有用。
4、多类别神经网络-Softmax

在多类别问题中,Softmax 会为每个类别分配一个用小数表示的概率。这些用小数表示的概率相加之和必须是 1.0。与其他方式相比,这种附加限制有助于让训练过程更快速地收敛。
Softmax 层紧邻输出层,且必须和输出层具有相同的节点数:

值得注意的是,softmax假设每一个样本只属于一个类别,如果样本同时可隶属于多个类别,那么
(1)不能使用softmax构造多分类神经网络模型。
(2)需要采用多个逻辑回归解决问题。
例如,对于一张只包含一种水果的图片,softmax可用于判断此图中是苹果、草莓,还是香蕉,但是一张图片中同时有三种水果,那么就不适合使用softmax,此时需要修改为多个逻辑回归的方法。

5、嵌套(Emmbedding)
嵌套将大型稀疏的输入矢量映射到一个保留语义关系的低维空间中。
嵌套是一个矩阵,例如针对NLP,所有词构成一个字典,每一个词都对应一个one-hot的稀疏矢量,对一句话而言,可以将其中涉及的词稀疏向量相加,从而得到句子的密集矢量。
Word2vec一种获取嵌套的算法。

6、反馈环
在开发机器学习模型时,模型代码开发只是其中一部分,为获得稳定、准确的模型,首先需要控制模型的输入质量。我们知道,输入数据不仅会影响模型,同样模型的结果也会对数据集的产生造成影响,例如模型的出会直接、间接为自身或另一模型的输入。
(1)图书推荐模型:根据小说的欢迎程度(如借阅或销售量)向读者推荐小说。
该模型可能会吸引读者购买小说,销量增加的数据会作为输出,进一步提升该类小说受欢迎的程度,从而促使该模型向着推荐该类小说方向迭代变化。
(2)交通状况预测模型:使用海滩上的人群规模作为特征之一预测附近各个高速路口的拥堵情况。
前往海滩的用户会根据拥堵预测情况制定出行计划。如果海滩人数规模很大使得模型做出拥堵的预测,那么用户将会另做计划,促使拥堵状况减缓,模型从而做出畅通的预测,那么前往海滩的人数又会增加,周而复始。模型预测的结果,影响输出数据集的变化,数据集又对模型的输出产生影响,形成反馈环。

7、标签泄露
特征与标签具有强关联性,并不代表此特征就是一种包含丰富信息的良好特征。在实际应用过程中可能训练欺骗性的模型,例如癌症预测模型,数据特征中的“医院名称”这一特征就具有欺骗性,因为训练集合与测试集的医院名称已经隐含了该样本是否为癌症的信息,当将该模型应用于某一患者时,由于尚未分配到相应的医院,此特征包含的隐藏信息缺失,预测结果十分不准确。就事实而言,患者是否患癌症的确与医院无关,但是在训练样本和测试样本为医院就医患者,默认掩藏了是否为癌症患者的信息,对于新的病人,却不包含此信息,所以该特征导致标签信息泄露,得到具有欺骗性的模型。

8、数据集随机划分
(1)必须明确数据代表的含义,尤其产生的场景、类别与预测标签的关联性。
(2)在随机划分训练集、验证集与测试集时,确保数据集的样本不会信息交叉,尽量保证样本个体的独立性,否则测试样本的信息会在训练集中泄露,致使产生模型准确很高的假象。测试集应当为“未知数据”。

9、机器学习应用准则
  • 确保第一个模型简单易用。具有良好表现的线性模型时最佳选择。
  • 着重确保数据管道的正确性。初始情况下,小心监控,保证数据端到端的准确性,否则在后期很那验证。
  • 使用简单且可观察的指标进行训练和评估。
  • 拥有并监控您的输入特征。
  • 将您的模型配置视为代码:进行审核并记录在案。
  • 记下所有实验的结果,尤其是“失败”的结果。不同结果作对比,有利于分析模型的表现,尤其是避免欺骗性的应用结果。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值