机器学习:【7】学习速率设置实践

学习速率:

对梯度进行缩放的参数被称为学习速率(learning rate),需要进行人为规定(被称为超参数),可以通过查看损失函数的曲线来判断学习速率的设置是否合理。

例如:如果震荡,说明学习速率过大。

反向传播算法:

一种高效计算数据流图中梯度的技术,会把梯度反向传播到每一层,进行梯度下降。

常见优化函数:

SGD:随机梯度下降优化器。

RMSprop:常用来处理序列问题,增加了衰减系数控制历史信息的获取多少,会对学习率进行衰减。(除了lr之外,其他建议使用默认参数),通常是训练循环神经网络的不错选择

Adam:可看作是修正后的前两种算法之和,对超参数相当鲁棒

#本代码基于tensorflow2.0
#使用的为Fashion MNIST数据集
#使用loss函数为sparse_categorical_crossentropy
 
import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
 
#1 导入数据
(train_image, train_lable), (test_image, test_label) = tf.keras.datasets.fashion_mnist.load_data()
train_image.shape #查看图片的格式
train_lable.shape #查看图片标签
test_image.shape, test_label.shape #查看测试集图片格式和标签
plt.imshow(train_image[0]) #查看其中一个图片
np.max(train_image[0]) #可以看出图片的颜色最大值为255
 
train_image = train_image/255 #这两行用来将数据进行归一化,都变成0-1之间的数
test_image = test_image/255
 
#2 建立模型
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(28,28)))  
#因为28*28的数据是不能够进行Dense运算的,要用上面一行转化为一维数据(扁平化为很长的向量)
model.add(tf.keras.layers.Dense(128, activation='relu')) #一个隐藏层
model.add(tf.keras.layers.Dense(10, activation='softmax')) #输出一个概率值
model.summary()
 
#3 模型编译
model.compile(optimizer= tf.keras.optimizers.Adam(learning_rate=0.01), #设置学习速率为0.01
              loss='sparse_categorical_crossentropy', #数字编码要使用这个loss函数
              metrics=['acc']
)
 
#4 模型训练
model.fit(train_image, train_lable, epochs=5)
 
#5 模型评价
model.evaluate(test_image, test_label) #在测试集上进行评价

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
R语言中的机器学习模型mlp(多层感知机)是一种经典的神经网络模型。 多层感知机模型是一种前向人工神经网络,由多个神经元层组成,每个层与下一层全连接。在R中,我们可以使用mlp函数来构建和训练多层感知机模型。 首先,我们需要准备一个合适的数据集。通常,数据集应该包含一个目标变量和一些特征变量。然后,我们使用mlp函数来定义网络的结构和参数。例如,我们可以指定隐藏层的个数和每个隐藏层的节点数,还可以选择激活函数和损失函数。 接下来,我们使用训练集来训练mlp模型。训练过程通常通过使用反向传播算法来调整模型的权重和偏置。我们可以使用mlp函数的train参数来指定训练相关的选项,例如迭代次数和学习速率。 在训练完成后,我们可以使用训练好的模型来进行预测。可以使用predict函数来对新的输入样本进行预测。预测结果通常是一个连续值或一个分类标签,具体取决于我们模型的任务类型。 最后,我们可以使用一些评价指标来评估模型的性能。例如,可以计算准确率、召回率、F1得分等指标,以了解模型在测试集上的准确性。 总之,使用R语言中的mlp模型可以建立和训练一个多层感知机模型,用于解决各种机器学习任务,如分类和回归。该模型具有强大的拟合能力和泛化能力,适用于处理复杂的非线性关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alex-YiWang

不要打赏,想要一个赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值