keras中的优化算法
2015-06-01 19:50
351 查看
使用优化器
优化参数是keras模型编译参数其中的一个:
先建立网络模型,使用SGD优化算法,学习率为0.1,衰减项1e-6,动量0.9,使用nesterov最优梯度优化算法。模型编译第一个参数使用平方误差作为损失函数,优化算法使用sgd。
基类
所有的优化器都来自这个类,支持以下的关键字参数:
注意:这是集成优化器的基类,并不是用来训练模型的的实际的优化器。以下是几种常见的优化算法。
SGD
参数:
lr: float >= 0. 学习率
momentum: float >= 0. 动量参数更新
decay: float >= 0. 每次迭代更新学习率衰减项
nesterov: boolean. 是否使用Nesterov 动量方法.布尔型
Adagrad
以上参数建议使用默认值。
参数:
- lr: float >= 0. 学习率
- epsilon: float >= 0.
Adadelta
参数:
lr: float >= 0. 学习率.一般选择默认值
float >= 0.
epsilon: float >= 0. 模糊因子
详细请参考Matthew Zeiler:“Adadelta: an adaptive learning rate method”
RMSprop
参数:
lr: float >= 0.学习率
rho: float >= 0
epsilon: float >= 0.
Adam
Kingma and Lei Ba提出的Adam优化器 Adam: A Method For Stochastic Optimization.
这篇文章中会给出默认的参数值,这里kappa替代原文中的lambda。
参数:
lr: float >= 0. 学习率
beta_1, beta_2: floats, 0 < beta < 1. 一般接近于1.
epsilon: float >= 0.
kappa: float 0 < kappa < 1. 原文中的Lambda .
优化参数是keras模型编译参数其中的一个:
model = Sequential() model.add(Dense(20, 64, init='uniform')) model.add(Activation('tanh')) model.add(Activation('softmax')) sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='mean_squared_error', optimizer=sgd)
先建立网络模型,使用SGD优化算法,学习率为0.1,衰减项1e-6,动量0.9,使用nesterov最优梯度优化算法。模型编译第一个参数使用平方误差作为损失函数,优化算法使用sgd。
基类
keras.optimizers.Optimizer(**kwargs)
所有的优化器都来自这个类,支持以下的关键字参数:
clipnorm: float >= 0.
注意:这是集成优化器的基类,并不是用来训练模型的的实际的优化器。以下是几种常见的优化算法。
SGD
keras.optimizers.SGD(lr=0.01, momentum=0., decay=0., nesterov=False)
参数:
lr: float >= 0. 学习率
momentum: float >= 0. 动量参数更新
decay: float >= 0. 每次迭代更新学习率衰减项
nesterov: boolean. 是否使用Nesterov 动量方法.布尔型
Adagrad
keras.optimizers.Adagrad(lr=0.01, epsilon=1e-6)
以上参数建议使用默认值。
参数:
- lr: float >= 0. 学习率
- epsilon: float >= 0.
Adadelta
keras.optimizers.Adadelta(lr=1.0, rho=0.95, epsilon=1e-6)
参数:
lr: float >= 0. 学习率.一般选择默认值
float >= 0.
epsilon: float >= 0. 模糊因子
详细请参考Matthew Zeiler:“Adadelta: an adaptive learning rate method”
RMSprop
keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=1e-6)
参数:
lr: float >= 0.学习率
rho: float >= 0
epsilon: float >= 0.
Adam
keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-8, kappa=1-1e-8)
Kingma and Lei Ba提出的Adam优化器 Adam: A Method For Stochastic Optimization.
这篇文章中会给出默认的参数值,这里kappa替代原文中的lambda。
参数:
lr: float >= 0. 学习率
beta_1, beta_2: floats, 0 < beta < 1. 一般接近于1.
epsilon: float >= 0.
kappa: float 0 < kappa < 1. 原文中的Lambda .
相关文章推荐
- UVa 1220 Party at Hali-Bula
- Implement Trie (Prefix Tree) LeetCode Java
- JS Complementary DNA & Monotone travel & Showing X to Y of Z Products.
- 海马汽车经销商管理系统技术解析(六)定位预约单
- Android:仿QQ照片选择器(按相册分类显示,多选添加)
- kettle入门(三) 之kettle连接hadoop&hdfs图文详解(转)
- 12个有趣的C语言面试题
- SQL 拼接多个字段的值&一个字段多条记录的拼接
- Logistic回归模型的Python及C++实现
- 仿写第三篇之仿写scrollview
- java中访问控制符
- [oc学习日记]字典
- 第十六篇 休闲的星期一
- 内存地址形式转换成可读的Crash日志文件教程
- Enable Geolocation in a WebView (Android)
- sgu-260 Puzzle
- Android:长按连续响应的Button
- js类型检测
- 指针与引用
- centos 7 virtualbox guest additions installation centos minimal