当前位置: 首页 > news >正文

网站建设公司 专题制作google搜索引擎入口

网站建设公司 专题制作,google搜索引擎入口,网站建设和网站优化的区别,做抖音风的网站上一章——多分类问题和多标签分类问题 文章目录算法诊断模型评估交叉验证测试算法诊断 如果你为问题拟合了一个假设函数#xff0c;我们应当如何判断假设函数是否适当拟合了#xff1f;我们可以通过观察代价函数的图像#xff0c;当代价函数达到最低点的时候#xff0c;此…上一章——多分类问题和多标签分类问题 文章目录算法诊断模型评估交叉验证测试算法诊断 如果你为问题拟合了一个假设函数我们应当如何判断假设函数是否适当拟合了我们可以通过观察代价函数的图像当代价函数达到最低点的时候此时的拟合状态是最好的因此我们才需要对其进行梯度下降。 上图的代价函数J是经过了正则化的假设当前代价函数J的拟合误差较大如何来减小误差在过拟合与正则化这一章中列举了几种方法在上图中也写出了 增加训练样本尝试减少特征集增加一些额外的特征添加多项式特征试着改变正则化系数λ 有的时候我们的机器学习算法并不能达到想要的效果那么也许是哪里出问题了解决问题并不难关键在于找到问题出在哪里因此我们需要对神经网络进行诊断。 诊断是一种测试我们可以运行它来深入算法了解算法中那些是有效的那些是无效的从而提升算法的性能。因此学习算法诊断是必要的不过在此之前我们看看应当如何评估我们的算法。 模型评估 如图是一个四阶多项式的拟合函数通过观察图像我们知道这个函数的拟合效果很好但是好到过头了我们也说过这种过度拟合的状态称为过拟合。如果增加新的数据这个拟合函数显然是不具有泛化性的我们认为这样的过拟合的函数不能推广到新的数据集中的数据。并且我们给出了四个特征而上图中用于函数拟合的只使用了size这一特征显然只用一个特征拟合也是不适当的。然而哪怕我们想要使用四个特征绘制函数身为三微生物的我们也无法画出四维图像。 因此上述模型存在两个问题 如何保证拟合其他数据对于三个以上的特征我们无法通过图像判断性能能否更系统地判断模型的性能 我们的方法是将数据集划分为两个子集其中一个称为训练集(training set)我们取70%,另一个称为测试集取30%。 我们用(x,y)(x,y)(x,y)来表示测试样例其中(xm,ym)(x^m,y^m)(xm,ym)代表训练集第m项测试样例(xtestm,ytestm)(x^m_{test},y^m_{test})(xtestm​,ytestm​)来表示测试集第m项测试样例。 接下来我们可以通过式子①最小化代价函数来找到拟合参数w,bw,bw,b因为假设函数是包括了多个特征的多项式因此我们会采取正则化来减小拟合误差。 式子②称为测试误差通过式子①我们找到了拟合参数w,bw,bw,b现在将其带入到假设函数并用式子②算出测试集的测试误差我们并不是在拟合函数而是计算测试误差的大小因此该式子是不用正则化的最后计算的结果即为测试误差。 式子③与式子②同理。注意式子①J(w,b)J(w,b)J(w,b)是代价函数而式子②③中的Jtest(w,b)J_{test}(w,b)Jtest​(w,b)和Jtrain(w,b)J_{train}(w,b)Jtrain​(w,b),是计算误差的函数从本质上来讲误差函数(损失函数)和代价函数是一个东西但是它们的功能并不相同理解概念并注意区分。 现在让我们看看拟合图像如果数据点如上图所示红点代表训练集数据绿点代表测试集数据我们会发现一个问题 Jtrain(w,b)J_{train}(w,b)Jtrain​(w,b)较低代表了训练误差低这是必然的因为我们是基于训练集的数据来最小化代价函数进行参数选择的因此拟合出来的函数的训练误差一定是较小的。与训练集的误差在于正则化 然而如果测试集的数据点如图所示就会发现Jtrain(w,b)J_{train}(w,b)Jtrain​(w,b)较高这代表着测试误差较大这意味着对于测试集这个拟合函数的拟合状态并不是很好因此我们可以认为这个函数并不具有泛化性这个模型是有问题的。 那么分类问题也是同样的道理把我们使用分类问题的代价函数损失函数来进行计算 不过在分类问题中我们对于误差的定义有点不同 在二分问题里通常我们将0.5作为阈值当阈值分类为1阈值分类为0我们将代价函数的预测值称为y^\hat yy^​分类问题中的误差指的是对于同一个输入样例有多少个预测值y^\hat yy^​与实际值yyy不同这个误差指的是这些被错误分类的y^\hat yy^​的数量比例。 通过训练集和测试集你可以系统地对模型误差进行评估从而创建更好的模型。 交叉验证测试 那么假如我们按照刚才的模型评估的步骤来建立一个拟合函数我们首先通过训练集的数据的正则化最小化代价函数找到了合适的w和bw和bw和b,我们将当前的拟合出来的多次项的项数记为dndndn,把对应项数的参数记为wn,bnw^{n},b^{n}wn,bn,最后计算的测试误差记为Jtest(wn,bn)J_{test}(w^{n},b^{n})Jtest​(wn,bn),现在我们要做的就是找到最小的测试误差JtestJ_{test}Jtest​所对应的w,b和dw,b和dw,b和d,现在假设找到了最小测试误差是在当d5d5d5时我们是否可以认为现在选择的模型是最适宜的 实际上答案是否定的因为我们的估计流程依然存在着问题导致了JtestJ_{test}Jtest​很可能乐观估计了泛化误差也就是说虽然我们计算出来的测试误差与实际的泛化误差相比可能偏小了实际误差将会比计算结果要大。原因在于多项式的次数d因为d是在测试集上确定的用测试集确定的d来检验测试集的误差那必然能得到一个较小的误差就像我给我自己监考这显然是不公平的。 我们解决问题的方法是将数据集分为三个子集训练集60%交叉验证集20%测试集20%。其中新加入的交叉验证集(cross validation set)的作用是用于检查不同验证集合的准确性,你也可以叫他验证集(validation set)或者开发集(development set 或dev set)。 w,bw,bw,b还是用最小化代价函数计算现在我们要计算的误差总共有三个它们的公式是一样的交叉验证集的误差被称为验证误差或者开发误差。 现在再让我们回到之前的步骤我们首先通过训练集的数据的正则化最小化代价函数计算不同次数的wbwbwb,我们带入验证误差来计算对应次数的JcvJ_{cv}Jcv​,假设现在我们找到了d4d4d4时的验证误差最小那么我们就可以用d,w4,b4d,w^{4},b^{4}d,w4,b4去计算测试误差JtestJ_{test}Jtest​,因为w,bw,bw,b是训练集确定的ddd是交叉验证集确定的因此没有一个参数与测试集有关这样就保证我们的误差计算结果相对公平。 在整个神经网络模型的选择上我们也是这样测试的例如这三个模型的隐藏层我们计算得到二号模型的参数对应的验证误差较小那么我们就可以使用第二个神经网络训练的参数如果想要得到泛化误差的估计值我们就可以用这个参数带入计算测试误差JtestJ_{test}Jtest​来判断神经网络的性能使用交叉验证集来选择模型也是目前最佳的决定方法。不过想要作出决定只需要训练集和交叉验证集来确定参数即可在确定参数之后我们可以在测试集进行评估。这种方法可以确保测试集的公平估计而非对泛化误差的乐观估计。一个重要原则就是在未决定模型之前千万不要使用测试集的数据来保证估计的公平性。
http://www.dnsts.com.cn/news/220581.html

相关文章:

  • 网站流量统计 设计图图网
  • 深圳网站搭建费用有什么网站可以兼职做翻译
  • h5建站系统合肥专业做网站公司有哪些
  • thinkphp怎么做网站会员管理系统下载
  • 网站建设与开发 教材网站开发调查表
  • 江门免费模板建站智慧团建登录网站入口
  • 网站建设 经营范围网站开发具体做什么的
  • 网站的视频做gif企业vi是什么
  • 档案网站建设的步骤什么是二级域名网站
  • 建个企业网站网站建设要域名和什么
  • asp 网站访问统计tk注册网站
  • 网站建设开发合同范本怎么制作表格教程
  • 济南快速建站模板河南网站推广
  • 怎样做自己的个人网站商标注册查询app
  • 网站建设答辩ppt模板腾讯学生服务器可以做网站吗
  • 学生诚信档案建设网站wordpress id乱码
  • 湖南网站营销推广设计网站建设开始学什么
  • 做网站公司大连江苏定制网站建设费用
  • 浙江网站备案查询天津自助建站软件
  • 自己网站做第三方支付合肥网络推广公司哪家专业
  • 深圳网站建设需要多少费用物联网出来做什么工作
  • 宁波住房和城乡建设部网站模板网站怎么用
  • 鄂州网站设计制作公司跳转网站怎么做的
  • 推广网站的方法有搜索引擎云主机怎么装网站
  • 车辆管理网站开发教育网站建设规划书
  • 建设一个门户网站需要多久山西省工程招标网
  • 学习网站建设的步骤兴化建设局网站
  • 电子商务网站建设的需求磁力链接 网站怎么做的
  • 北京定制网站开发公司浩森宇特北京企业做网站
  • vvic一起做网站网站系统维护中