Matlab - 将训练(神经网络)图像特征插入 ms 访问数据库
Posted
技术标签:
【中文标题】Matlab - 将训练(神经网络)图像特征插入 ms 访问数据库【英文标题】:Matlab - Insert training (Neural Network) image features into ms access database 【发布时间】:2012-07-27 01:16:54 【问题描述】:我正在使用 DWT 和神经网络做一个关于 CBIR 的项目。我已经提取了颜色和纹理特征并训练了提取特征的归一化值。我在matlab中使用了神经网络工具来实现图像分类。所有这些都成功地完成了。
我的问题是 - 有没有办法将训练后的图像值自动插入到 ms access 数据库中?
谢谢。
【问题讨论】:
这里只是猜测,但我从文档中可以看到 ODBC 驱动程序可用,那么自动是什么意思? 是的,我在我的项目中配置了 ODBC。只是想知道每次我运行我的神经网络时这些值将如何插入到我的数据库中。感谢您的回复。 【参考方案1】:神经网络对象具有您可以访问以获取网络权重的属性。示例:
net = feedforwardnet(); %# or the obsolete functions: newff, newpr, ..
net.b %# bias vectors
net.IW %# input weight matrices
net.LW %# layer weight matrices
请参阅文档以了解每个的含义。您可以查看this answer 了解如何使用它们自己计算网络输出的示例。
另外还有一个GETWB方便的函数来获取所有权重作为向量:
weights = getwb(net);
您可以将这些值保存在数据库中。您可以使用SETWB 函数重新设置权重。
请参阅here 了解如何在 MATLAB 中与数据库交互的概述(这里是与 MS Access 数据库交互的example)。
【讨论】:
谢谢。这真的很有帮助。现在还有一个问题 - 我正在使用前馈多层感知器进行相似性测量。我的问题是需要将哪些值插入数据库,以及在执行神经网络工具后如何将这些值用于相似性测量?实际上我是matlab的新手,并且在这个问题上停留了大约一周。提前致谢。 @Kach:神经网络可以通过两件事来表征:网络架构(层数、每层神经元数量、使用的激活函数等)和网络权重。因此,如果您保持架构固定,并简单地保存权重,您可以稍后通过加载这些参数并再次构建网络来重建它,而无需重新训练。您可能总是忘记使用数据库,只需将网络对象保存到常规 MAT 文件:save mynetwork.mat net
,就像您导出任何其他 MATLAB 变量一样..
这意味着我可以从文件中保存的这些值中检索图像或搜索图像。我说的对吗?
@Kach:我假设您已经开发了图像分类器:给定输入图像,您提取特征,通过经过训练的网络运行它们(使用反向传播找到的权重),它应该输出一些类别标签(例如将其分类为汽车或鸭子等)。这是任何机器学习分类器的基础以上是关于Matlab - 将训练(神经网络)图像特征插入 ms 访问数据库的主要内容,如果未能解决你的问题,请参考以下文章