Mechine Learing一:工程刚需的 “算法” 评估指标

当你的产品经理给你提出一系列看似合理却又矛盾的要求时,你该怎么优化你的算法来确保算法拥有:

  1. 运算速度快   (算   力)
  2. 准确率高      (识别率)
  3. 抗干扰性强   (噪   声)

TP (True Positive):被正确预测的正样本数
FP (False Positive):被错误预测的正样本数
TN (True Negative):被正确预测的负样本数
FN (False Negative):被错误预测的负样本数
正样本是指属于某一类别的样本,反样本是指不属于某一类别的样本 
比如说在做字母A的图像识别,字母A的样本就属于正样本,不是字母A的样本就属于负样本 。

由这四个概念,我们可以定义如下所示指标:

1、精确率(Precision): 
即:所研究样本中有多少被正确预测的;

2、准确率(Accuracy): 
即:所有样本中有多少被正确预测;

3、召回率(Recall): 
即:所研究的样本中有多少被正确预测;
 

一. 算法优化评估指标:

我留意到,那些效率很高的机器学习专家有个特点,对于调整某个参数,来达到某个效果,非常清楚。

这个步骤,我们称之为【正交化】。

什么是正交化?

正交化:

它可以同时影响多件事情。正交性是一种系统设计属性,它确保修改一条指令或算法的一个组件不会给系统的其他组件带来或传播副作用。独立验证算法变得更加容易,减少了测试和开发时间。

当设计监督学习系统时,这4个假设需要是真正的正交。

1. 在成本函数中设置合适的培训如果它不适合,使用更大的神经网络或切换到更好的优化算法可能会有所帮助

2. 在成本功能上适合开发如果不适合,正则化或使用更大的训练集可能会有所帮助

3.成本函数的拟合测试如果不太合适,使用更大的开发集可能会有所帮助。

4. 在现实世界中表现良好如果它执行得不好,则开发测试集没有正确设置,或者成本函数没有正确设置。没有计算正确的值。

所有的算法优化都需要遵从一个硬性的评估指标,这样你的进展会快的多,有了目标,就不会走偏路了。当你对工作流程上有一个可优化的想法时,尝试实现它,看看这个效果好不好,这个评估指标可以快速的告诉你,新尝试的手段,比之前的手段好还是坏。所以我们来看一下【单实数评估指标】:

  • 查准率P    找到目标物之后被系统识别出的准确度
  • 查全率R   

它确实能提高你的算法选择,以及提高你的团队做出这些决策的效率。

 

这个时候,两个指标需要折中,他们都希望最终的结果是一个正确的并准确率高的结果。但使用查准率和查全率作为评估指标时,有个问题,分类器A在查准率表现好,分类器B在查全率表现好,这时你就无法区分那个分类器会更好。

 如果你是想要在10个里面找到最好的那个分类器,就需要找到一个新的优化评估指标,来结合查准率和查全率来判断。

满足和优化指标】:

当你已经达到一个非常好的算法的准确度的时候,设为F1分数,但除了准确度之外,我们还需要考虑运行时间,就需要再进一步的优化算法带来的时效性的快慢问题。比如有A,B,C三个分类器,所运行的时间如下:

 

这时,就需要将准确度  和  运行时间  组合成一个整体的评估指标(evaluation metric)。

比如:

总体成本 = 准确度 - 0.5 * 运行时间

cost    =   accuracy - 0.5 * running_time

但是这种公式又稍显刻意死板,这时你要选择一个分类器,能够最大限度的提高准确率,但必须满足运行时间要求(eg:times<=100ms),这时,你主要保证尽可能准确率高,但是对于运行时间(就是满足指标),它只要达到最低要求,最大限度的保证准确度高,便是相当合理的权衡方式。

通过定义满足和优化指标,就可以提供一个明确的方式,来选择“最好的”那个分类器,在这种情况下,分类器B最好。

它代表,在所有<= 100s的运行时间满足指标中,它的准确度最高。

所以一般来说,如果你要考虑N个指标:

  • 选择其中一个指标作为优化指标是合理的,所以这时候你需要尽量优化那个指标
  • 剩下N-1个指标都是满足指标。意味着只要他们达到一定的阈值(门槛要求)
  • 满足这个唤醒词,再来选择优化指标(准确度高的那一个)

##########################

二. 训练集/开发集/测试集

如何设立训练集/开发集/测试集,将会大大影响你的团队。更多的时候会使得团队的进展变慢而不是加快,这是为什么呢?我们有应该如何设立这些数据集逼近最终的目标,来让你的团队效率最大化?

贝叶斯最优误差:

一定不能在没有评估指标和开发集时,跑太久training。明确的目标,才会带来事半功倍的效果。

今天,机器学习算法可以与人类水平的性能竞争,因为它们在很多应用中更高效、更可行。同时,设计和构建机器学习系统的工作流程也比以前更加高效。此外,人类所做的一些任务接近“完美”,这就是机器学习的原因。哭声模仿人类水平的表现。下图显示了人类和机器学习在一段时间内的表现。贝叶斯最适条件机AoBunooB学习人类时间的当机器学习超过人类水平的表现时,它进展缓慢。其中一个原因是,人类水平的性能可以接近贝叶斯最优误差,特别是自然感知oroblem贝叶斯最优误差定义为可能的最佳误差。换句话说,这意味着从x到y的任何函数映射都不能超过一定的精度。而且,当机器学习的性能不如人类时,你可以用不同的工具来证明它。一旦其性能超过人类水平,它们就很难使用了。这些工具是:从人类那里获取标记的数据从人工错误分析中获得洞察力:为什么一个人会做对这件事?更好的偏见/方差分析。

三. 人工误差分析:可避免偏差

该如何选择,使用偏差,还是方差?

  • 训练误差
  • 开发误差

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值