当前位置: 首页 > 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 …...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...