机器学习——实践

目录

一、数据集划分

1、交叉验证

2、不平衡数据的处理

 代价敏感学习

二、评价指标

三、正则化、偏差和方差

为什么要标准化/归一化?

过拟合的处理——Dropout

过拟合的处理——Early stopping

过拟合的处理——数据增强

偏差和方差

 ​编辑


一、数据集划分

  1. 训练集(Training Set):帮助我们训练模型,简单的说就是通过训练集的数据让我们确定拟合曲线的参数。  
  2. 验证集(Validation Set):也叫做开发集( Dev Set ),用来做模型选择(model selection),即做模型的最终优化及确定的,用来辅助我们的模型的构建,即训练超参数,可选;
  3. 测试集(Test Set): 为了测试已经训练好的模型的精确度。

  •  三者划分:训练集、验证集、测试集
  • 机器学习:60%,20%,20%;70%,10%,20%
  • 深度学习:98%,1%,1% (假设百万条数据)

1、交叉验证

 1. 使用训练集训练出k个模型

2. 用k个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)

3. 选取代价函数值最小的模型

4. 用步骤3中选出的模型对测试集计算得出推广误差(代价函数的值)

2、不平衡数据的处理

数据不平衡是指数据集中各类样本数量不均衡的情况.

常用不平衡处理方法有采样和代价敏感学习

采样有欠采样、过采样和综合采样的方法.

 代价敏感学习

代价敏感学习是指为不同类别的样本提供不同的权重,从而让机器学习模型进行学习的一种方法

比如风控或者入侵检测,这两类任务都具有严重的数据不平衡问题,可以在算法学习的时候,为少类样本设置更高的学习权重,从而让算法更加专注于少类样本的分类情况,提高对少类样本分类的查全率,但是也会将很多多类样本分类为少类样本,降低少类样本分类的查准率。

二、评价指标

1. 正确肯定(True Positive,TP):  预测为真,实际为真
 2. 正确否定(True Negative,TN):预测为假,实际为假
 3. 错误肯定(False Positive,FP):  预测为真,实际为假
 4. 错误否定(False Negative,FN):预测为假,实际为真

  混淆矩阵(confusion_matrix)

 有100张照片,其中,猫的照片有60张,狗的照片是40张。

输入这100张照片进行二分类识别,找出这100张照片中的所有的猫。

  • 正例(Positives):猫
  • 负例(Negatives):狗

识别结果的混淆矩阵

1、正确率(Accuracy)=(TP+ TN)/S

TP+ TN =70,S= 100,则正确率为: Accuracy =70/100=0.7 

2、精度(Precision)=TP/(TP+ FP)

TP=40,TP+ FP=50。 Precision =40/50=0.8

3、召回率(Recall)=TP/(TP+ FN)

TP=40,TP+FN =60。则召回率为: Recall =40/60=0.67

ROC和PR曲线 

三、正则化、偏差和方差

为什么要标准化/归一化?

提升模型精度:不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

加速模型收敛:最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。

之前介绍过,过拟合可以通过正则化来处理,这里我们介绍另外几种方法  

过拟合的处理——Dropout

 Dropout的功能类似于L2正则化,与L2正则化不同的是,被应用的方式不同,dropout也会有所不同,甚至更适用于不同的输入范围

keep-prob=1(没有dropout)       keep-prob=0.5(常用取值,保留一半神经元)

在训练阶段使用,在测试阶段不使用!

过拟合的处理——Early stopping

Early stopping代表提早停止训练神经网络

Early stopping的优点是,无需尝试L2正则化超参数λ的很多值。

过拟合的处理——数据增强

数据增强:随意翻转和裁剪、扭曲变形图片

偏差和方差

 

偏差Bias:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据,如上图第二行所示。

方差Variance: 描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散,如上图右列所示。

方差、偏差和模型复杂度

下图是模型复杂度与误差的关系,一般来说,随着模型复杂度的增加,方差会逐渐增大,偏差会逐渐减小,在虚线处,差不多是模型复杂度的最恰当的选择,其“偏差”和“方差”也都适度,才能“适度拟合”。

 

1. 获得更多的训练实例——解决高方差
2. 尝试减少特征的数量——解决高方差
3. 尝试获得更多的特征——解决高偏差
4. 尝试增加多项式特征——解决高偏差
5. 尝试减少正则化程度λ——解决高偏差
6. 尝试增加正则化程度λ——解决高方差

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式案例(二)

系列文章目录 第一章 设计模式案例 (一) 第一章 设计模式案例 (二) 文章目录 系列文章目录前言一、责任链模式case 包 二、策略模式case 包 三、工厂模式case 包 前言 上一篇文章介绍了常用的几种设计模式和常用场景,便于对设计模式加深理解&#xff0…

ida81输入密码验证算法分析以及破解思路

本文分析了ida81对输入密码的验证流程,分别对输入密码到生成解密密钥、密码素材的生成过程以及文件数据的加密过程这三个流程进行分析,并尝试找一些可利用的破绽。很遗憾,由于水平有限,目前也只是有个思路未能完全实现&#xff0c…

【C++】单例模式【两种实现方式】

目录 一、了解单例模式前的基础题 1、设计一个类,不能被拷贝 2、设计一个类,只能在堆上创建对象 3、设计一个类,只能在栈上创建对象 4、设计一个类,不能被继承 二、单例模式 1、单例模式的概念 2、单例模式的两种实现方式 …

20231112_DNS详解

DNS是实现域名与IP地址的映射。 1.映射图2.DNS查找顺序图3.DNS分类和地址4.如何清除缓存 1.映射图 图片来源于http://egonlin.com/。林海峰老师课件 2.DNS查找顺序图 3.DNS分类和地址 4.如何清除缓存

CV学习基础

脸部检测是基于图像的明暗变化模式进行判断,需要将图像先进行灰度化处理 马赛克处理需先将图像缩小然后夸大回原尺寸。 保存训练好的算法用joblib 进行以下操作时已经使用cv2.cvtColor()完成了灰度化 图像平滑化(模糊处理):cv…

工业摄像机参数计算

在工业相机选型的时候有点懵,有一些参数都不知道咋计算的。有些概念也没有区分清楚。‘’ 靶面尺寸 CMOS 或者是 CCD 使用几分之几英寸来标注的时候,这个几分之几英寸计算的是什么尺寸? 一开始我以为这个计算的就是靶面的实际对角线的尺寸…

ASP.NETWeb开发(C#版)-day1-C#基础+实操

目录 .NET实操:创建项目执行 C#基础语法数据类型变量实操001_变量如何在一个解决方案 中创建另一个项目实操002结构实操003-if else实操004-多分支多行注释按钮实操:循环 面向对象基础如何在同一个项目下创建新的.cs文件实操-类的定义与访问实操-练习实操…

知乎日报第四周总结

这周基本完成了知乎日报的内容,主要写了点赞收藏的滑动刷新的保存,还有收藏文章的功能,主要用到FMDB库。 对于如何使用FMDB库 同样需要用cocopads引入FMDB库,使用时需要引入头文件 #import "FMDatabase.h"FMDB库的使用类似于C语…

Qt 自定义按钮 区分点按与长按信号,适配触摸事件

Qt 自定义按钮 区分点按与长按信号 适配触摸事件 效果 使用示例 // 点按connect(ui.btnLeft, &JogButton::stepclicked, this, &MainWindow::btnLeft_clicked);// 长按开始connect(ui.btnLeft, &JogButton::continueOn, this, &MainWindow::slotJogLeftOn);//…

Clickhouse学习笔记(11)—— 数据一致性

使用合并树引擎时,无论是ReplacingMergeTree还是SummingMergeTree,都只能保证数据的最终一致性,因为数据的去重、聚合等操作会在数据合并的期间进行,而合并会在后台以一个不确定的时间进行,因此无法预先计划&#xff1…

c语言:用指针解决有关字符串等问题

题目1&#xff1a;将一个字符串str的内容颠倒过来&#xff0c;并输出。 数据范围&#xff1a;1≤len(str)≤10000 代码和思路&#xff1a; #include <stdio.h> #include<string.h> int main() {char str1[10000];gets(str1);//读取字符串内容char* p&str1[…

有源RS低通滤波

常用的滤波电路有无源滤波和有源滤波两大类。若滤波电路元件仅由无源元件&#xff08;电阻、电容、电感&#xff09;组成&#xff0c;则称为无源滤波电路。无源滤波的主要形式有电容滤波、电感滤波和复式滤波(包括倒L型、LC滤波、LCπ型滤波和RCπ型滤波等)。若滤波电路不仅有无…

从0开始python学习-32.pytest.mark()

目录 1. 用户自定义标记 1.1 注册标记​编辑 1.2 给测试用例打标记​编辑 1.3 运行标记的测试用例 1.4 运行多个标记的测试用例 1.5 运行指定标记以外的所有测试用例 2. 内置标签 2.1 skip &#xff1a;无条件跳过&#xff08;可使用在方法&#xff0c;类&#xff0c;模…

[vuex] unknown mutation type: SET_SOURCE

项目中使用了vuex&#xff0c;并且以模块的形式分好之后。在调用的时候出现了以上问题 /*当我们commit的时候要注意要加上模块的名字 user是模块名称&#xff0c;SET_SOURCE是user模块中定义的方法 正确写法&#xff1a;*/ this.$store.commit("user/SET_SOURCE", th…

火爆进行中的抖音双11好物节,巨量引擎助5大行业商家开启爆单之路!

抖音双11好物节目前正在火热进行中&#xff0c;进入爆发期&#xff0c;各大商家“好招”频出&#xff0c;都想要实现高速增长。依托“人群、货品、流量”三大优势&#xff0c;巨量引擎一直都是商家生意增长的给力伙伴&#xff0c;在今年的抖音双11好物节&#xff0c;巨量引擎就…

Vue3 源码解读系列(二)——初始化应用实例

初始化应用实例 创建 Vue 实例对象 createApp 中做了两件事&#xff1a; 创建 app 对象保存并重写 mount /*** 创建 Vue 实例对象*/ const createApp ((...args) > {// 1、创建 app 对象&#xff0c;延时创建渲染器&#xff0c;优点是当用户只依赖响应式包的时候&#xff0…

网络的分类和特点

对于计算机网络&#xff0c;按照不同的标准有不同的分类方法。 ▶1.按计算机的物理连接方式分类 计算机连接的物理方式决定了网络的拓扑结构。按网络的拓扑结构可以分为星形拓扑网络、环形拓扑网络、总线型拓扑网络、网状拓扑网络等。 1)星形拓扑 星形拓扑的网络以一台中央…

Conda executable is not found 三种问题解决

如果在PyCharm中配置Python解释器时显示“conda executable is not found”错误消息&#xff0c;这意味着PyCharm无法找到您的Conda可执行文件。您可以按照以下步骤解决此问题&#xff1a; 1.方法一 确认Conda已正确安装。请确保您已经正确安装了Anaconda或Miniconda&#xff…

【毕业论文】基于python爬虫对豆瓣影评分析系统的设计与实现

题目 基于python爬虫对豆瓣影评分析系统的设计与实现 Design and Implementation of a Python-based Web Crawler for Analyzing Douban Movie Reviews 目录 目录 2 摘要 3 关键词 3 第一章 绪论 4 1.1 研究背景 4 1.2 研究目的与意义 5 1.3 国内外研究现状 6 1.4 研究内容和…

华为ensp:vrrp双机热备负载均衡

现在接口ip都已经配置完了&#xff0c;直接去配置vrrp r1上192.168.1.100 作为主 192.168.2.100作为副 r2上192.168.1.199 作为副 192.168.2.100作为主 这样就实现了负载均衡&#xff0c;如果两个都正常运行时&#xff0c;r1作为1.1的网关&#xff0c;r2作为2.1网关…