0
点赞
收藏
分享

微信扫一扫

神经网络机器学习_通用工作流程


神经网络机器学习_通用工作流程

【1】定义问题、收集数据集

处理多分类问题的标签有两种方法

通过分类编码对标签进行编码,然后使用categorical_crossentropy损失函数
将标签编码为整数,然后使用sparse_categorical_crossentropy损失函数
如果需要将数据划分到许多类别中,应该避免使用太小的中间层,以免在网络中造成信息瓶颈

回归问题

回归问题使用的损失函数与分类问题不同,回归常用的损失函数是均方误差(MSE)

回归问题使用的评估指标与分类问题不同,回归常用的回归指标是平均绝对误差(MAE)

数据少时候的小tips

如果可用的数据很少,使用K折验证可以可靠地评估模型

如果可用的训练数据很少,最好使用隐藏层较少(通常只有一两个)的小型网络,以避免严重的过拟合

【2】选择衡量成功的指标

【3】确定评估方法

【4】准备数据

【5】开发比基准更好的模型

要记住你所做的两个假设:

假设输出是可以根据输入进行预测的
假设可用的数据保护足够多的信息,足以学习输入和输出之间的关系
如果一切顺利,你还需要选择三个关键参数来构建第一个工作模型:

最后一层的激活:分类的例子在最后一层使用了sigmoid,回归的例子在最后一层没有使用激活
损失函数:二分类使用binary_crossentropy,回归的例子使用mse
优化配置:大多数时候,使用rmsprop及其默认的学习率是稳妥的

【6】模型正则化与调节超参数
添加正则化
(1)L1 L2正则化
(2)dropout正则化
dropout比率是被设为0的特征所占的比例
训练数据 —> layer_output *= np.random.randint(0,high=2,size=layer_output.shape)
测试数据 —> layer_output *= 0.5
(3)尝试不同的架构:增加或减少层数
(4)尝试不同的超参数(比如每层的单元个数或优化器的学习率),以找到最佳配置
(5)反复做特征工程


举报

相关推荐

0 条评论