MATLAB中的神经网络输入偏差

时间:2009-09-29 02:20:26

标签: matlab neural-network

在Matlab(神经网络工具箱+图像处理工具箱)中,我编写了一个脚本来从图像中提取特征并构建“特征向量”。我的问题是某些功能比其他功能拥有更多数据。我不希望这些功能比具有更少数据的其他功能更具意义。

例如,我可能有一个由9个元素组成的特征向量:

hProjection = [12,45,19,10];
vProjection = [3,16,90,19];
area = 346;

featureVector = [hProjection,vProjection,area];

如果我构建一个以featureVector作为输入的神经网络,该区域仅占输入数据的10%且不太重要。

我正在使用带有tansig传输功能(模式识别网络)的前馈反向传播网络。

我该如何处理?

1 个答案:

答案 0 :(得分:3)

当您将输入数据呈现给网络时,要素矢量的每一列都将作为属性自身输入到输入图层。 您唯一需要担心的是每个的比例(即:我们通常将特征标准化为[0,1]范围)。

此外,如果您认为这些功能是相关的/相关的,您可能需要执行某种属性选择技术。在您的情况下,它取决于hProj / vProj功能的含义......


修改
我刚刚想到,作为 feature selection 的替代方案,您可以使用 dimensionality reduction 技术(PCA / SVD,因子分析,ICA, ...)。例如,factor analysis可用于提取hProj / vProj所依赖的一组潜在隐藏变量。因此,除了这8个功能之外,您还可以获得2个功能,使得原始8个功能是新两个功能的线性组合(加上一些错误术语)。有关完整示例,请参阅this page