吴恩达机器学习笔记十六 如何debug一个学习算法 模型评估 模型选择和训练 交叉验证测试集

news/2025/2/14 8:20:43/

 如果算法预测出的结果不太好,可以考虑以下几个方面:

获得更多的训练样本

采用更少的特征

尝试获取更多的特征

增加多项式特征

增大或减小 λ 

模型评估(evaluate model)

例如房价预测,用五个数据训练出的模型能很好的拟合这几个数据,但不能泛化到新的数据。

将数据按70%、30%的比例分成两份,一份是训练集,一份是测试集。

模型选择

一种有缺陷的方法:

可以计算一阶多项式、二阶多项式、...、十阶多项式的J(w,b),看看哪一个更小 ,就选择哪个作为模型。但这样仍可能出现泛化的不好的情况。

好的方法:

 将数据集分成三部分,60%训练集(training set) ,20%交叉验证集(cross validation set  / developent set / dev set),20%测试集(test set)

三个部分的 error 计算公式如下

 

 可以选择交叉测试集误差最小的那个,然后用测试集误差来评估模型泛化的好坏。模型的选择要看模型在训练集和交叉验证集的好坏!不看测试集的结果。


http://www.ppmy.cn/news/1379256.html

相关文章

独家原创!基于遗传算法的综合能源系统优化调度程序代码!

适用平台:MatlabYalmipCplex 程序以风能、光伏、火电以及储能作为主要设备建立了综合能源优化调度模型,提出了多种群变异交叉概率自适应变化遗传算法对模型进行求解,该算法可以根据遗传算法的运行中的表现来调整交叉和变异概率,具…

Python中的并发编程:多线程与多进程的比较【第124篇—多线程与多进程的比较】

Python中的并发编程:多线程与多进程的比较 在Python编程领域中,处理并发任务是提高程序性能的关键之一。本文将探讨Python中两种常见的并发编程方式:多线程和多进程,并比较它们的优劣之处。通过代码实例和详细的解析,…

Vue3:watch监视的5种情况

一、情景说明 在Vue2中,watch的用法如下 https://blog.csdn.net/Brave_heart4pzj/article/details/135604394 这一篇,来学习Vue3中的watch用法 二、案例 1、监视ref定义的数据【基本类型】 引入函数 import {ref,watch} from vue定义变量 // 数据le…

uniapp列表进入动画

app列表入场动画 - DCloud 插件市场 列表入场动画https://ext.dcloud.net.cn/plugin?id16957

MacBook2024苹果免费mac电脑清理垃圾软件CleanMyMac X

CleanMyMac X是一款专业的Mac清理软件,具备多种强大功能。首先,它能够智能清理Mac磁盘上的垃圾文件和多余语言安装包,从而快速释放电脑内存。其次,CleanMyMac X可以轻松管理和升级Mac上的应用,同时强力卸载恶意软件并修…

淘宝电商产品价格官方防爬取采集设计机制,如何破?|淘宝电商API数据采集看完你也会!

在当今数字化时代,电商平台如淘宝已经成为人们购物的主要渠道之一。然而,随着电子商务的蓬勃发展,涌现出大量的第三方工具和应用,试图通过采集淘宝电商产品价格等信息来进行数据分析和竞争优势的获取。为了维护市场秩序和保护商家…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:PluginComponent)

提供外部应用组件嵌入式显示功能,即外部应用提供的UI可在本应用内显示。 说明: 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。本组件为系统接口。 子组件 无 接口 PluginComponent(value:…

PostgreSQL 安装部署

文章目录 一、PostgreSQL部署方式1.Yum方式部署2.RPM方式部署3.源码方式部署4.二进制方式部署5.Docker方式部署 二、PostgreSQL部署1.Yum方式部署1.1.部署数据库1.2.连接数据库 2.RPM方式部署2.1.部署数据库2.2.连接数据库 3.源码方式部署3.1.准备工作3.2.编译安装3.3.配置数据…