【MATLAB深度学习工具箱】学习笔记--酒分类Wine Classification

【说明:上一个螃蟹公母分类是二分类,本例为三分类】

问题定义

本示例采用神经网络从13个属性中对酒的类型进行区分:

  • Alcohol

  • Malic acid

  • Ash

  • Alkalinity of ash

  • Magnesium

  • Total phenols

  • Flavonoids

  • Nonflavonoid phenols

  • Proanthocyanidins

  • Color intensity

  • Hue

  • OD280/OD315 of diluted wines

  • Proline

为何选用神经网络?

神经网络擅长于模式识别问题。包含足够多神经元的神经网络可以以任意精度逼近任意数据,因此尤其适用于非线性问题。

输入:13项特征;

输出:三分类中的一种。

数据准备

与之前文章中的描述类似,输入矩阵为X,输出为矩阵T。

[x,t] = wine_dataset;
size(x)
size(t)

>>  size(x)
ans =
    13   178
>> size(t)
ans =
     3   178

 【说明:鉴于上一篇的分析中,高维数据分类问题在低维数据投影过程中很难看到规律,下面直接开始采用神经网络进行分类。】

采用神经网络进行模式识别

初始化随机数种子

setdemorandstream(491218382)

采用10层隐藏层网络。

net = patternnet(10);
view(net)

得到如下所示神经网络。

  目前的网络已经可以进行训练。在本示例中,会自动对训练集training set、验证集validation set和测试集test set进行划分。其中,训练集的目的是对网络进行训练。训练的结果将使得网络对验证集的数据可以进行拟合。测试集独立地对训练后的网络拟合精度进行评估。

[net,tr] = train(net,x,t);
nntraintool
nntraintool('close')

得到如下界面

性能分析

Performance:

 从图中可以看出,在前30轮迭代中,在验证集中没有出现先下降后上升的典型趋势。

从Confusion中也可以看出,分类效果不佳。原因在哪里?

 从Training State中可以看出,训练过程中梯度损失很快,在第32次iteration时,梯度只有4.96E-7,达到了终止调节,训练过程自动终止。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值