【深度之眼——机器学习在IoT机器中的应用】笔记和思考

【深度之眼——机器学习在IoT机器中的应用】

  • 概念介绍
  • 实例
  • 应用
    • 预测性维护
    • 预测方法
  • 分类算法评估
    • 混淆矩阵
    • AUC
  • 不平衡数据的处理方法
  • 归纳总结

课程来自深度之眼,有兴趣的小伙伴下面是连接
在这里插入图片描述
其实我觉得标题有点牵强附会,其实就是个数据处理而已啦

概念介绍

【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第1张图片
internet of things万物互联的5G时代要来临啦

实例

【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第2张图片

应用

预测性维护

【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第3张图片

预测方法

【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第4张图片

  • 第一种方法偏向于前因后果的关系
  • 第二种方法感觉就是二分类问题
  • 第三类就是回归问题了,上面的例子感觉可以很好地解决运维成本问题
    其实上面这种方法我们可以在平常的生活中见到,比如针对问题二,我们骑小蓝车的时候如果很快就停车手机上就会收到短信是否小车故障,我猜这可能就是二分类算法预测的结果并向用户求证

分类算法评估

混淆矩阵

【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第5张图片
可能这张图不能很好地说明,我来解释一下,参考链接

  • 准确率accuracy 相当于是(正确的正样本+正确的负样本)/(总样本数),也就是判断正确的样本数/总样本数,也就是混淆矩阵左对角线上的值相加除以总的值
    虽然准确率可以判断总的正确率,但是在样本不平衡的情况下,并不能作为很好的指标来衡量结果。举个简单的例子,比如在一个总样本中,正样本占90%,负样本占10%,样本是严重不平衡的。对于这种情况,我们只需要将全部样本预测为正样本即可得到90%的高准确率,但实际上我们并没有很用心的分类,只是随便无脑一分而已。这就说明了:由于样本不平衡的问题,导致了得到的高准确率结果含有很大的水分。即如果样本不平衡,准确率就会失效。
    【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第6张图片

  • 精度precision又叫查准率,它是针对预测结果而言的,它的含义是在所有被预测为正的样本中实际为正的样本的概率,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确,相当于(正确的正样本)/(正确的正样本+错误的正样本)
    精准率和准确率看上去有些类似,但是完全不同的两个概念。精准率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本
    【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第7张图片

  • 召回率recall又叫查全率,它是针对原样本而言的,它的含义是在实际为正的样本中被预测为正样本的概率,相当于(正确的正样本)/(正确的正样本+错误的负样本),想一下(错误的负样本不就是应该是正样本的嘛所以正确的正样本+错误的负样本就是原来的实际正样本数鸭)
    召回率的应用场景:比如拿网贷违约率为例,相对好用户,我们更关心坏用户,不能错放过任何一个坏用户。因为如果我们过多的将坏用户当成好用户,这样后续可能发生的违约金额会远超过好用户偿还的借贷利息金额,造成严重偿失。召回率越高,代表实际坏用户被预测出来的概率越高,它的含义类似:宁可错杀一千,绝不放过一个
    【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第8张图片

  • F1,精准率和召回率的分子是相同,都是TP,但分母是不同的,一个是(TP+FP),一个是(TP+FN)。两者的关系可以用一个P-R图来展示:
    【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第9张图片

有的朋友疑惑:这条曲线是根据什么变化的?为什么是这个形状的曲线?其实这要从排序型模型说起。拿逻辑回归举例,逻辑回归的输出是一个0到1之间的概率数字,因此,如果我们想要根据这个概率判断用户好坏的话,我们就必须定义一个阈值。通常来讲,逻辑回归的概率越大说明越接近1,也就可以说他是坏用户的可能性更大。比如,我们定义了阈值为0.5,即概率小于0.5的我们都认为是好用户,而大于0.5都认为是坏用户。因此,对于阈值为0.5的情况下,我们可以得到相应的一对查准率和查全率。
但问题是:这个阈值是我们随便定义的,我们并不知道这个阈值是否符合我们的要求。因此,为了找到一个最合适的阈值满足我们的要求,我们就必须遍历0到1之间所有的阈值,而每个阈值下都对应着一对查准率和查全率,从而我们就得到了这条曲线。
有的朋友又问了:如何找到最好的阈值点呢?首先,需要说明的是我们对于这两个指标的要求:我们希望查准率和查全率同时都非常高。但实际上这两个指标是一对矛盾体,无法做到双高。图中明显看到,如果其中一个非常高,另一个肯定会非常低。选取合适的阈值点要根据实际需求,比如我们想要高的查全率,那么我们就会牺牲一些查准率,在保证查全率最高的情况下,查准率也不那么低。
但通常,如果想要找到二者之间的一个平衡点,我们就需要一个新的指标:F1分数。F1分数同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡。F1分数的公式为 = 2*(查准率*查全率) / (查准率 + 查全率)。我们在图中看到的平衡点就是F1分数得来的结果

【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第10张图片
针对上面的一些定义做出解释后这个图也很好理解啦,当然是希望寻找到左上角的值啦,这样才是纵坐标大横坐标小嘛
还不懂我就在解释下吧TPR=RECALL ,FPR=FP / (FP + TN)借用下上面RECALL的图,FPR就是对应第二列,实际是负样本中被预测为正样本的占比

【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第11张图片

AUC

【深度之眼——机器学习在IoT机器中的应用】笔记和思考_第12张图片

不平衡数据的处理方法

  • (OverSample):过采样会随机复制少数类的样例以增大它们的规模使数据平衡,会减少少数类数据的变化和增加异常值数据
  • (UnderSample):欠采样会随机地少采样主要的类的数据,使数据平衡,会丢失多数类里的数据
  • (SMOTE):SMOTE的思想概括起来就是在少数类样本之间进行插值来产生额外的样本。具体地,对于一个少数类样本a使用K近邻法,求距离最近的k个少数类样本,然后从k个近邻点中随机选取一个b,生成的样本一般就在a和b相连的直线上
    SMOTE的问题:
    如果选取的少数类样本周围都是多数类样本,这类的样本可能是噪音,则新合成的样本会与周围的多数类样本产生大部分重叠,致使分类困难。
  • (Class Weight)Class weight:对训练集里的每个类别加一个权重。如果该类别的样本数多,那么它的权重就低,反之则权重就高.这个权重用于loss function计算Sklearn大部分模型都可以调整class weight和oversample的效果差不多(不是随机的),但是不需要产生一个oversample后的大数据集
  • (EnsembleResampling):小模型组合,多次undersample

归纳总结

  • 评估二元分类模型时,ROC和PR曲线很有用,AP和AUC能概括曲线的表现
  • Undersamplingttoversmapling更有用
  • Undersampling和ensemble结合起来可以取得好的效果
  • 可以用SMOTE产生少数类数据

你可能感兴趣的:(【深度之眼——机器学习在IoT机器中的应用】笔记和思考)