【吴恩达机器学习二刷笔记Part 4】进行机器学习的一些建议以及最后一个监督学习算法:支撑向量机

由于前段时间返校报道,完成导师布置的论文,进度落下了!但是论文也完成的不好啊!同组的同学研一刚开学就发论文了,而我连论文都看不懂、代码都还不会写。其实能感觉到老师对我要求是很高的,而我目前是远远达不到她的要求的,能感觉到她的不满意(虽然老师很温柔,从来不骂人,但是都成年人了,一些潜在的意思还是能体会出来的)

对于应用机器学习的建议 Advice for applying ML

决定下一步做什么 Deciding what to do next

例子:房价预测算法泛化程度不好。
获取更多的训练集数据在很多时候都是没有多大用处的
所以在遇到问题时,我们应该在我们可以想到的方法中做出预测,提前确定那些方法是有用的,对于解决问题是有利的
在这里插入图片描述
在这里插入图片描述

机器学习诊断法
所以接下去会学习一系列的机器学习诊断法,帮我们把时间用在刀刃上
在这里插入图片描述


评估算法 Evaluating a hypothesis

其实就是表示出模型的准确率
总是想画出假设函数观察拟合程度是不合理的,因为很多时候假设函数都有总多的特征在这里插入图片描述

所以我们提出一种新的方法,把数据分为训练集和测试集,然后用训练集计算出theta后再计算其代价函数的误差
在这里插入图片描述
在这里插入图片描述


模型选择和训练、验证、测试集 Model selection and training/validation/test sets

为什么要进行模型选择?因为对于一个未知的训练集,我们是不知道应该用什么模型去拟合它的,所以我们要进行模型的选择。对多个不同的拟合函数进行训练,之后比较他们的代价函数,从而选出对于训练集以及测试集拟合程度最好的函数。但现实情况中遇到的数据很有可能是和训练集以及测试集中的数据是很不一样的,换句话说这个模型可能只是仅仅对于训练集和测试集的拟合程度好,它的泛化能力是很差的。所以就引出了训练、验证、测试集去得到泛化能力更好的模型。
在这里插入图片描述

训练集:测试集:验证集(交叉验证集)常见比例 = 6:2:2
在这里插入图片描述

所以接下去要定义各部分数据集的误差去选择更好的模型
在这里插入图片描述

之后应该用训练集得到每一个模型的theta,之后再用验证集合去选择得到最好的模型,最后用从未见过的测试集去检查该模型的泛化能力
在这里插入图片描述


诊断偏差和方差 Diagnose bias vs. variance

方差就是过拟合问题,可以很好地拟合数据,但是曲线波动太大;偏差就是欠拟合问题,就是模型对于数据的拟合程度差在这里插入图片描述


正则化和偏差、方差 Regulation and bias/variance

lambda和偏差、方差的关系:
lambda过大则会出现高偏差的问题,过小则会出现高方差的问题
在这里插入图片描述

正则化参数的选择,和theta的选择的过程一样,都是要用到训练集、验证集、测试集
在这里插入图片描述

图像关系
在这里插入图片描述


学习曲线 Learning curves

其实就是利用曲线去判断模型到底是具有高偏差、高方差还是两者都有在这里插入图片描述

高偏差
在这里插入图片描述

高方差
在这里插入图片描述


机器学习系统设计 Machine Learning system design

确定执行的优先级 Prioritizing what to work on :Spam classification example

举了一个垃圾邮件分类的例子,起始就是讲了遇到一个机器学习问题,是有很多方法去改进其算法的。


误差分析 Error analysis

遇到一个机器学习问题时,不要一来就想着要做得多完善,而是先做一个简单粗暴的模型跑起来,即使这个模型有很多不足。这样的话可以快速发现算法的不足以及难以处理的数据
之后再用前一章学过的学习曲线去判断模型具有高方差还是高偏差问题,再去解决问题
之后再进行错误分析,看看分类出问题的实例都是有什么共同特征的在这里插入图片描述

数值评估是十分重要的,也就是说要让算法返回一个可以衡量其执行效果的数字
在这里插入图片描述


不对称性分类的误差评估 Error metrics for skewed classes

skewed classes:偏斜类的定义,貌似不太懂在这里插入图片描述

查准率和召回率综合评价一个模型
在这里插入图片描述

精确率和召回率的权衡 Trading off precision and recall

当改变阈值时,精确率和召回率都会受到影响
在这里插入图片描述

自主决定这两个值,老实说,不太懂
在这里插入图片描述


机器学习数据 Data for machine learning

什么时候获取大量数据去进行机器学习会得到很好的效果?
感觉也没说清楚是什么时候啊???


Support Vector Machines 支撑向量机

优化目标 Optimization objective

在监督学习中,算法的性能都非常相似,所以选择算法A还是算法B不是我们应该考虑的。应该考虑的是在构建算法时用的数据量,例如数据特征的选择、正则化参数的选择

SVM是由logistic回归得来的,它和logistic回归的效果很相似,但会使得SVM计算有优势、优化问题变简单在这里插入图片描述

代价函数形式在这里插入图片描述

假设函数形式
在这里插入图片描述


直观上对大间隔的理解 Large Margin Intuition

SVM也叫大间距分类器,相当于在SVM中构建了一个安全距离在这里插入图片描述在这里插入图片描述

大间距分类器的直观展示在这里插入图片描述

SVM对异常点极为敏感
C类似于1/lambda
在这里插入图片描述


大间隔分类器后的数学原理

老实说,听了之后介于懂和不懂之间

核函数 Kernels

改造支撑向量机来实现复杂的非线性函数
当我们遇到复杂的非线性分类问题时,我们可能会想到用高阶多项式去拟合一个很好的函数,但是这种方法的运算量是很大的在这里插入图片描述

定义一个高斯核函数来衡量x和l的相似性在这里插入图片描述

通过定义标记点和核函数来训练得到复杂的判定边界,实例说明
在这里插入图片描述

怎么选定标记点?把训练样本都当做标记点在这里插入图片描述

还没写完,待续!因为老师让我去学强化学习,所以这个课程先放一放,以后要用到再回来看吧!发现机器学习的理论其实也不是很难理解,主要就是如何动手!感觉有时候写了作业也不太理解到底是怎么运行的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值