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

基于逻辑回归和支持向量机的前馈网络进行乳腺癌组织病理学图像分类

CNN(卷积神经网络)通过使用反向传播方法来学习特征,这种方法需要大量的训练数据,并且存在梯度消失问题,从而恶化了特征学习。

CNN卷积神经网络

CNN由一个多层神经网络组成,该网络从标记的训练数据集中学习一组卷积滤波器。传统上,滤波器学习是通过迭代优化过程(反向传播算法)来实现的,该算法逐步更新滤波器,直到分类误差达到预定于的阈值。

①难以对大量超参数(层数、滤波器的数量和大小)进行调优;②滤波器学习过程缓慢,并且需要庞大的训练图像数据集;③用于学习滤波器的反向传播算法存在梯度消失问题。

由于组织病理学图像的固有特征(高视觉可变性),最先进的CNN方法需要大量的计算资源,以及可用的标记组织病理学图像数据集的规模较小,仍然存在大量的开放研究领域。

组织病理学图像分类

传统的方法是基于从这些图像中提取的手工特征进行分类,通常提取三种类型的特征:

低级、对象级和高级。

低级特征与纹理、强度和颜色有关;

对象级技术提取组织学对象的形状和形态信息;

高级技术提取组织学对象之间的空间关系。

用于组织病理学图像分类的传统分类方法:支持向量机、随机森林、Adaboost、朴素贝叶斯、集成学习、决策树和KNN分类器。

前向传播方法使用预定义的 滤波器 或者在模型外部学习的滤波器以前馈方式应用。

两种前馈方法的适用性:卷积逻辑回归网络(CLR)组织病理学图像的卷积支持向量机网络(CSVM-H),两种方法能够有效地从少量乳腺癌图像中学习表示,减少了全切片组织病理学图像分类中的内存占用。

主要研究内容

  1. 采用卷积支持向量机网络对组织病理学图像进行分类
  2. 提出了两种基于前向传播卷积网络的组织病理学图像分类方法。使用逻辑回归和支持向量机学习网络中的滤波器
  3. 在小型数据集上使用前馈方法优于反向传播

相关工作

CNN使用了两种滤波器学习方法:反向传播方法和前向传播方法

反向传播方法

在反向传播方法中,卷积滤波器权重最初被赋予随机值,这些值以前馈方式跨网络层应用,然后将得到的预测值与真值进行比较。执行反向滤波器更新过程以纠正计算出的预测误差。

前向传播方法

首先在模型外部学习滤波器,然后以前馈方式应用于提取特征。将提取到的特征输入到分类器中对组织病理学图像进行分类。

SQUH数据集

该数据集由158个不同患者的图像组成。采集标本作为手术活检和切除标本,用厚度为3 μm的切片机进行转化;然后将它们安装在载玻片上,使用苏木精和伊红(HE)染色。染色过程后,每个样品都用盖盖安装。SQUH的解剖病理学分析师在光学显微镜下通过对组织切片的视觉分析确定了每张幻灯片中的肿瘤区域。数据集的每张图像都有4种放大倍数(4倍、10倍、20倍和40倍)。在这项工作中,我们使用了所有的放大图像。该数据集由158张1920 × 1200大小的组织病理图像组成,其中58张为良性肿瘤,100张为恶性肿瘤。

网络的主要模块

滤波器学习、特征提取层、分类层

滤波器学习

滤波器是从输入训练图像提取的补丁中学习的。首先,从训练集中提取p个补丁,x_{1},x_{2},\dots x_{p}及其对应的标签。补丁大小与目标滤波器大小相同,然后随机选择r个补丁进行滤波器学习。通过最小化目标函数来学习滤波器:

min_{F,b_{0}}\frac{1}{2}F^{T}F+C\sum_{i=1}^{r}l(F,b_{0};x_{i},y_{i})

其中C>0为正则化参数,F和b_{0}分别为滤波器和偏置,{(xi, yi)}为patch及其标签的集合,l(F,b_{0};x_{i},y_{i})是损失函数

对于CSVM-H模型

min_{F,b_{0}}\frac{1}{2}F^{T}F+C\sum_{i=1}^{r}max(1-y(tr(F^{T}x_{i})),0)

对于CLR模型

min_{F,b_{0}}\frac{1}{2}F^{T}F+C\sum_{i=1}^{r}log(1+e^{-y_{i}(tr(F^{T}x_{i}))})

特征提取层

从滤波器学习阶段学习到的滤波器与图像(来自前一层的训练图像或特征映射)进行卷积,然后将ReLU激活函数应用于结果,以处理类的非线性可分性,并强制结果的稀疏性,从而促进泛化,最后加入池化操作,在不丢失重要信息的情况下减小特征映射的大小。然后,引入全局池化层提取最终的特征。

分类层

进行滤波器的学习之后,可以将训练过程应用到分类层。

在此过程中,训练数据集的图像在输入到分类器之前经过两次转换:

①使用学习到的滤波器进行特征提取

②然后进行全局池化以提取判别性高级特征(提取特征图与两种类别之间存在的相关性,避免过拟合)

CSVM-H和CLR的体系结构是基于对几种体系结构的实证分析而选择的,这些体系结构是通过改变以下超参数产生的:(i)网络中的总层数,(ii)过滤器的总数,以及(iii)过滤器的大小。

我们提出了一种基于前馈的CNN方法用于组织病理学图像的分类。该方法在小数据集上优于常用的反向传播方法VggNet-16、ResNet-50。所提出的方法得到的结果总体上优于VggNet-16、CSVM和最先进的方法ResNet-50。我们将我们的结果与最先进的工作进行了比较,并说明了所提出模型的局限性和未来的工作。对于二元分类任务,所提模型获得了最佳的AUC和灵敏度,优于所有其他深度学习模型。

相关文章:

基于逻辑回归和支持向量机的前馈网络进行乳腺癌组织病理学图像分类

CNN(卷积神经网络)通过使用反向传播方法来学习特征,这种方法需要大量的训练数据,并且存在梯度消失问题,从而恶化了特征学习。 CNN卷积神经网络 CNN由一个多层神经网络组成,该网络从标记的训练数据集中学习…...

35-4 fastjson漏洞复现

环境准备:35-2 fastjson反序列化漏洞介绍 及漏洞环境搭建-CSDN博客 fastjson_tool.jar下载:fastjson_rce_tool: fastjson命令执行自动化利用工具, remote code execute,JNDI服务利用工具 RMI/LDAP (gitee.com) 一、攻击机kali开启nc监听6666端口(或其他端口也行,只要不…...

Qt-控件篇

QPushbutton 1、设置按钮文本 pushButton->setText("按钮"); 2、获取按钮文本 pushButton->text(); 3、设置按钮的大小为特定值(宽度和高度) pushButton->setFixedSize(width,height); 4、设置按钮悬停时的工具提示文本。 pushButto…...

实现 Table 的增加和删除,不依赖后端数据回显

需求 删除前 删除后 分析 首先写一个 Table <a-card style"width:100%"><template#extra><a-button type"text" click"addSelectItem" style"margin-right: 5px">添加</a-button><a-button type&quo…...

个人网站开发记录(七)——三系统后端nodejs+express

前言 这种已经完全工程化了的&#xff08;&#xff09;后端其实已经没啥好说的了&#xff0c;因为就是单纯的写接口然后调用接口就完事了&#xff01; 正文 唯一值得一提的大概是我在写这个系统的时候搞了https的链接&#xff0c;具体来说就是先申请一个ssl证书&#xff0c;…...

C#入门理解设计模式的6大原则

**设计模式的原则是指导设计模式创建和应用的基本原则&#xff0c;这些原则有助于创建灵活、可维护且可扩展的软件系统。**1. 单一职责原则&#xff08;Single Responsibility Principle, SRP&#xff09; 单一职责原则指出一个类应该只有一个引起它变化的原因。换句话说&…...

Linux如何切换root用户

Linux如何切换root用户 sudosudo -i想一直使用root权限&#xff0c;可以使用su命令 sudo 执行命令后&#xff0c;输入用户密码可以短暂的获取root权限 sudo -i 通过此命令直接输入当前管理员用户的密码就可以进入root用户了 想一直使用root权限&#xff0c;可以使用su命令 …...

uniapp小程序编译报错

说明 微信小程序编译每次都出现[ project.config.json 文件内容错误] project.config.json: libVersion 字段需为 string, 解决 找到manifest.json文件 添加&#xff1a;"libVersion": "latest"&#xff0c;重新编译即可。...

van-uploader 在app内嵌的webview中的一些坑

问题&#xff1a; 部分版本在ios 中没有问题&#xff0c;但是安卓中不触发图片选择和拍照&#xff08;之前是可以的&#xff0c;可能是没有锁定版本&#xff0c;重新发版导致的&#xff09;。在ios中下拉文案是英文&#xff0c;html配置lang等于 zh 也没有用&#xff0c;ios里…...

使用Kotlin进行全栈开发 Ktor+Kotlin/JS

首发于Enaium的个人博客 前言 本文将介绍如何使用 Kotlin 全栈技术栈KtorKotlin/JS来构建一个简单的全栈应用。 准备工作 创建项目 首先我们需要创建一个Kotlin项目&#xff0c;之后继续在其中新建两个子项目&#xff0c;一个是Kotlin/JS项目&#xff0c;另一个是Ktor项目。…...

数据结构_带头双向循环链表

List.h 相较于之前的顺序表和单向链表&#xff0c;双向链表的逻辑结构稍微复杂一些&#xff0c;但是在实现各种接口的时候是很简单的。因为不用找尾&#xff0c;写起来会舒服一点。&#xff08;也可能是因为最近一直在写这个的原因&#xff09; #pragma once #include<std…...

常见的垃圾回收器(下)

文章目录 G1ShenandoahZGC 常见垃圾回收期&#xff08;上&#xff09; G1 参数1&#xff1a; -XX:UseG1GC 打开G1的开关&#xff0c;JDK9之后默认不需要打开 参数2&#xff1a;-XX:MaxGCPauseMillis毫秒值 最大暂停的时间 回收年代和算法 ● 年轻代老年代 ● 复制算法 优点…...

网桥的原理

网桥的原理 1.1 桥接的概念 简单来说&#xff0c;桥接就是把一台机器上的若干个网络接口“连接”起来&#xff0c;其结果是&#xff0c;其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。 交换机有若干个网口&#xff0c;并且这些…...

STM32 CAN过滤器细节

STM32 CAN过滤器细节 简介 每组筛选器包含2个32位的寄存器&#xff0c;分别为CAN_FxR1和CAN_FxR2&#xff0c;它们用来存储要筛选的ID或掩码 四种模式 模式说明32位掩码模式CAN_FxR1存储ID&#xff0c; CAN_FxR2存储哪个位必须要与CAN_FxR1中的ID一致 &#xff0c; 2个寄存器…...

网络编程(现在不重要)

目录 网络编程三要素与InetAddress类的使用 软件架构 面临的主要问题 网络编程三要素&#xff08;对应三个问题&#xff09; InetAddress的使用 TCP与UDP协议剖析与TCP编程案例&#xff08;了解&#xff09; TCP协议 UDP协议 例子 UDP、URL网络编程 URL&#xff1a;&…...

10-菜刀连接木马

找到了漏洞后&#xff0c;并且上传了木马之后才能使用的两款工具 中国菜刀和冰蝎 想办法获取别人的cookie&#xff0c;cookie中有session-id 一、中国菜刀 1、必须提前已经完成木马植入然后才能使用 2、木马必须是POST请求&#xff0c;参数自定义&#xff0c;在菜刀里给出…...

Unity数据持久化—Json存档

项目需求为&#xff1a; 1.实现存档列表&#xff0c;显示存档截图&#xff0c;可以查看之前保存的所有存档 2.点击存档直接加载到场景 首先&#xff0c;定义两个类&#xff0c;用于声明存档列表和存档所需要的List [System.Serializable] public class SaveData {//存储目标…...

基于SSM的在线学习系统的设计与实现(论文+源码)_kaic

基于SSM的在线学习系统的设计与实现 摘要 随着信息互联网购物的飞速发展&#xff0c;一般企业都去创建属于自己的管理系统。本文介绍了在线学习系统的开发全过程。通过分析企业对于在线学习系统的需求&#xff0c;创建了一个计算机管理在线学习系统的方案。文章介绍了在线学习系…...

数据库SQL语言实战(二)

目录 检索查询 题目一 题目二 题目三 题目四 题目五 题目六 题目七 题目八 题目九&#xff08;本篇最难的题目&#xff09; 分析 实现&#xff08;两种方式&#xff09; 模板 总结 检索查询 按照要求查找数据库中的数据 题目一 找出没有选修任何课程的学…...

idea错误地commit后如何处理

如果你想使用命令行重新初始化 Git 仓库&#xff0c;可以按照以下步骤进行&#xff1a; 删除该项目的.git文件夹 打开命令行终端。 切换到项目所在的目录&#xff0c;使用 cd 命令。 在项目目录下运行以下命令来重新初始化 Git 仓库 git init这将在当前目录下创建一个新的 Git …...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析

1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器&#xff08;TI&#xff09;推出的一款 汽车级同步降压转换器&#xff08;DC-DC开关稳压器&#xff09;&#xff0c;属于高性能电源管理芯片。核心特性包括&#xff1a; 输入电压范围&#xff1a;2.95V–6V&#xff0c;输…...

2.2.2 ASPICE的需求分析

ASPICE的需求分析是汽车软件开发过程中至关重要的一环&#xff0c;它涉及到对需求进行详细分析、验证和确认&#xff0c;以确保软件产品能够满足客户和用户的需求。在ASPICE中&#xff0c;需求分析的关键步骤包括&#xff1a; 需求细化&#xff1a;将从需求收集阶段获得的高层需…...