机器学习系统设计

提示:本文是基于吴恩达老师机器学习视频总结


一、误差分析

在实际的工作过程中,我们应该明白哪些事情要优先处理,接下来我们以一个垃圾邮件分类器算法为例子进行讨论。为了解决这样一个问题,我们首先要做的决定是如何选择并表达特征向量x xx。我们可以选择一个由100个最常出现在垃圾邮件中的词所构成的列表,根据这些词是否在邮件中出现来获得我们的特征向量(出现为1,不出现为0),尺寸为100×1。
在实际应用中,我们会在训练集中挑选出出现频率最多的n个单词(n一般在10,000-50,000之间),然后将它们作为我们的特征向量,这显然不同于现在手动挑选的100个单词的训练样本。
如何在有限的时间内让我们的垃圾分类器具有高精准度和低错误率?
  1. 收集更多的数据,让我们有更多的垃圾邮件和非垃圾邮件样本(例如,Honey Pot项目通过创建虚假的邮箱地址,并故意将这些地址暴露给垃圾邮件的发送者以此来收集大量的垃圾邮件,然后得到大量的垃圾邮件数据来训练分类算法);
  2. 通过邮件的标题来构建一个基于邮件的路由信息的更为复杂的特征,来捕捉到邮件信息的来源并以此来判断邮件是否垃圾邮件;
  3. 对邮件的主体部分构建更为复杂的特征(例如,单词“discount”和“discounts”是否应该被视为同一单词,或者是否应该把“deal”和“dealer”视为同一个单词,在这个例子中可以关注单词首字母的大小写或者通过标点符号来构建复杂的特征);
  4. 为了检测故意出现的拼写错误构建更复杂的算法,例如,“m0rtgage”、“med1cine”、“w4tches”。

二、不对称分类的误差分析

在本小节中,我们接着前面提到的判断病人是否得了癌症的例子。当我们的训练集中只有0.5%的人得了癌症,剩下的人都没有患病,就有可能造成计算误差失效的情况,如下图所示:
在这里插入图片描述

上图中的这个程序十分简单,忽略x,然后直接返回y=0(不患病),这个程序的误差率就会十分的小,因为实际患病的人也就才0.5%。
因此,对于上面这种情况,我们把正样本数量和负样本数量相差特别大的情况,称为偏斜类。
因此对于这种失效的情况,我们引入了两个新的指标:Precision(查准率)和Recall(查全率)。具体定义如下图所示:
在这里插入图片描述

对于上图,我们需要了解清楚以下几个方面:
1、首先左边的2*2的表格,代表预测值和实际值的关系。True positive(正确预测阳性)、True negative(正确预测阴性)、Fasle positive(假阳性)、False negative(假阴性)。
2、Precision(查准率):正确预测阳性的(True positive)/预测为阳性的。其实这个概念就相当于前面提到的预测准确率
3、Recall(查全率):正确预测阳性的(True positive)/实际为阳性的。这个概念就相当于实际阳性中正确预测阳性的比重。
4、通过查准率和召回率这两个指标,我们就可以有效避免偏斜类造成的误差失效情况。
5、当查准率和召回率都比较高的时候,我们就可以称这个算法的性能是比较好的。

三、查准率和查全率的权衡

对于大多数回归模型来说,我们都需要对查准率和查全率进行平衡,因此它们经常会呈现一个此消彼长的趋势,如下图所示:

在这里插入图片描述
因此,我们通常的做法就是根据不同的实际情况确定不同的阈值,来平衡查准率和查全率,我们想要哪个更好。
在这里插入图片描述
查准率和查全率的变化关系通常会如下图所示,但也可能会呈现其他图形
在这里插入图片描述
因此我们会想到用一个指标来表示查准率和查全率的平衡,我们可能会想到用均值的方法,但是这很明显不是一个好方法。按照下图,我们会选择算法3,这是因为他拥有十分高的查全率造成的。
在这里插入图片描述
因此,我们通常会利用一个叫F值(或叫F1值)的方法来进行评估。可以看到这个方法,如果查准率和查全率有一个趋近于0,那么整个式子就会等于0.如果查准率和查全率都趋近于1,那么表达式就会等于1。这个特点符合我们想要的方法,因此我们通常会利用这个来进行评估。

四、机器学习数据

在一些情况下,增大数据量是可以帮助我们改善模型的拟合程度的。
我们希望模型具有较小的偏差和方差。我们会尽可能拥有许多特征,从而得到一个较低偏差的算法,并且通过使用大量数据,从而进一步得到一个低方差的模型,最终得到一个Jtrain(θ)≈Jcv(θ)的模型。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习人工智能的核心,是使计算机具有智能的根本途径。 随着统计学的发展,统计学习在机器学习中占据了重要地位,支持向量机(SVM)、决策树和随机森林等算法的提出和发展,使得机器学习能够更好地处理分类、回归和聚类等任务。进入21世纪,深度学习成为机器学习领域的重要突破,采用多层神经网络模型,通过大量数据和强大的计算能力来训练模型,在计算机视觉、自然语言处理和语音识别等领域取得了显著的成果。 机器学习算法在各个领域都有广泛的应用,包括医疗保健、金融、零售和电子商务、智能交通、生产制造等。例如,在医疗领域,机器学习技术可以帮助医生识别医疗影像,辅助诊断疾病,预测病情发展趋势,并为患者提供个性化的治疗方案。在金融领域,机器学习模型可以分析金融数据,识别潜在风险,预测股票市场的走势等。 未来,随着传感器技术和计算能力的提升,机器学习将在自动驾驶、智能家居等领域发挥更大的作用。同时,随着物联网技术的普及,机器学习将助力智能家居设备实现更加智能化和个性化的功能。在工业制造领域,机器学习也将实现广泛应用,如智能制造、工艺优化和质量控制等。 总之,机器学习是一门具有广阔应用前景和深远影响的学科,它将持续推动人工智能技术的发展,为人类社会的进步做出重要贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值