吴恩达机器学习---随笔1

博主只是初学机器学习的新人一枚,这篇博客旨在对吴恩达机器学习课程第12章的内容做一个简介,分享一些自己的理解,让自己理解的更加的透彻,理性讨论,不喜勿喷

Machine learing system design-----机器学习系统设计

顾名思义,本章旨在说明一些在设计机器学习系统时会碰到的一些问题以及解决办法,比如对于误判较高系统如何去优化,对于一些具有特殊特点的数据集如何设计学习系统以及对某些参数如何进行取舍。

在进行初始系统设计时,不需要去过分追求系统的完美性,或者说不需要考虑太复杂的系统,譬如上一篇博客中说的那个题目那样,对数据拟合,可以先设计一个最简单的直线拟合,即hθ(x) = θ0 + θ1X,随后,根据系统对数据集的拟合情况(也就是我们选用的模型呈现出来的效果)来判断模型存在哪些问题,比如高偏差,高方差等问题。因此在设计系统时,应该先选取一个较为简单的模型去尝试,根据结果来修正,而不是先经过大量的思考,讨论,来试图一次性创建一个非常完美的学习系统,这是不切实际的。

  1. 错误分析
    当我们选择了模型之后,需要对数据集进行测试,当然可能就会有各种各样的错误,对于线性回归来说,可能会有一些不适当的拟合情况出现,比如高方差,高偏差等情况,这在上一篇博客有提到解决办法;对于逻辑回归来说,可能会出现一些错误分类的情况,当错误分类比例较高时,我们就需要对系统进行调整,譬如说根据关键词分类等情况,我们需要对出错的那些例子进行分析,找出他们的共同点,然后在系统中加入对他们共同点的判断进而提高系统的准确性,但有些时候我们可能没办法直接的判断对于算法的改进是好还是坏的,这时候需要一个指标,也就是数值评估(numerical evaluation)。通过对算法进行某一个改进之后再次对数据集进行判断,根据误判率来判断这个改进是好还是坏。

  2. 一些特别的数据类—偏斜类
    在进行学习时,可能会出现一些极端的情况,譬如课程中举的例子,癌症病人,如果1000个人中有5个人患癌症,我们的算法可能会预测有20个人患有癌症,但是如果我们直接说,这1000个人里面没有人患癌症,他们都是健康的,这样前者的错误率肯定比后者高,但是显然我们不能说后者比前者要更好,算法更优秀。因此这里就涉及到对这种偏斜类的处理方法----Precision/Recall(准确率/召回率),具体的实施如下图
    在这里插入图片描述
    其中,Actual class代表实际的数据集中样本的状态,Predicted class代表我们的系统预估的数据集中某一个样本的状态,通过这个表格,我们将可能发生的四种情况都表示了出来,随后,我们来表示准确率和召回率这两个概念,其中,准确率是指预测为1的样本数占整体样本数的比率,即Precision = True positive / (True positice + False positive);召回率指的是预测为1的样本数占整体预测样本数的比率,即Recall = True positive / (True positive + False negative)。
    对于不同的样本,我们对这两个值的取值情况应该不同,但总的来说,我们不希望出现过于极端的情况,例如Precision = 1,Recall = 0.02或者Precision = 0.02,Recall = 1这种情况的出现,因此我们用下列公式来对准确率和召回率进行判断 F1 = P*R/(P+R),通过判断F1的大小来判断当前准确率和召回率的情况,优先选取F1值较大时的情况。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值