keras中model.compile()基本用法

本文详细介绍Keras编译函数model.compile中的关键参数,如优化器SGD、RMSprop、Adam等的使用方法,以及loss函数如MSE、CE的选择。同时涵盖内置评价函数和自定义评价函数的设置。

1. compile参数介绍

model.compile(
   optimizer, 
   loss = None, 
   metrics = None, 
   loss_weights = None, 
   sample_weight_mode = None, 
   weighted_metrics = None, 
   target_tensors = None
)
  • optimizer:优化器,用于控制梯度裁剪。必选项
  • loss:损失函数(或称目标函数、优化评分函数)。必选项
  • metrics:评价函数用于评估当前训练模型的性能。当模型编译后(compile),评价函数应该作为 metrics 的参数来输入。评价函数和损失函数相似,只不过评价函数的结果不会用于训练过程中。

在使用过程中常用的就是这三个参数。

1. optimizer

optimizer中文文档

  • 可以先实例化一个优化器对象,然后将它传入 model.compile();
    from keras import optimizers
    model = Sequential()
    model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
    model.add(Activation('softmax'))
    sgd = optimizers.SGD(lr=0.01, clipvalue=0.5)
    model.compile(optimizer=sgd,loss='mse')
    
  • 可以通过名称来调用优化器。但是使用优化器的默认参数。
    # 传入优化器名称: 默认参数将被采用
    model.compile(loss='mean_squared_error', optimizer='sgd')
    

1.1 optimizer可用参数-SGD

SGD 随 机 梯 度 下 降 优 化 器 \color{blue}随机梯度下降优化器 。包含扩展功能的支持:

  • 学习率learning rate (lr)
  • 动量(momentum)优化,
  • 学习率衰减(每次参数更新后)
  • Nestrov 动量 (NAG) 优化。
  • lr: float >= 0. 学习率。
  • momentum : float>= 0. 参数,用于加速 SGD 在相关方向上前进,并抑制震荡。
  • decay: float >= 0. 每次参数更新后学习率衰减值。
  • nesterov: boolean. 是否使用 Nesterov 动量。

例如:
python keras.optimizers.SGD(lr=0.01, momentum=0.0, decay=0.0, nesterov=False)

1.2 optimizer可用参数-RMSprop

  • RMSprop:RMSProp 优化器是AdaGrad算法的一种改进。 将 梯 度 除 以 最 近 幅 度 的 移 动 平 均 值 \color{blue}将梯度除以最近幅度的移动平均值
    • lr: float >= 0. 学习率。
    • rho: float >= 0. RMSProp梯度平方的移动均值的衰减率.
    • epsilon: float >= 0. 模糊因子. 若为 None, 默认为 K.epsilon()。
    • decay: float >= 0. 每次参数更新后学习率衰减值。

    例如: keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=None, decay=0.0)

  • 这个优化器通常是训练循环神经网络 R N N 的 不 错 选 择 \color{blue}RNN的不错选择 RNN参考文献

1.3 optimizer可用参数 - Adagrad

  • Adagrad 是一种具有特定参数学习率的优化器, 根 据 参 数 在 训 练 期 间 的 更 新 频 率 进 行 自 适 应 调 整 \color{blue}根据参数在训练期间的更新频率进行自适应调整

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值