用法:
mxnet.ndarray.sparse.ftrl_update(weight=None, grad=None, z=None, n=None, lr=_Null, lamda1=_Null, beta=_Null, wd=_Null, rescale_grad=_Null, clip_gradient=_Null, out=None, name=None, **kwargs)
- weight:(
NDArray
) - 重量 - grad:(
NDArray
) - 坡度 - z:(
NDArray
) - z - n:(
NDArray
) - 毕业广场 - lr:(
float
,
required
) - 学习率 - lamda1:(
float
,
optional
,
default=0.00999999978
) - L1 正则化系数。 - beta:(
float
,
optional
,
default=1
) - Per-Coordinate 学习率测试版。 - wd:(
float
,
optional
,
default=0
) - 权重衰减通过惩罚大权重的正则化项来增强目标函数。惩罚与每个权重大小的平方成比例。 - rescale_grad:(
float
,
optional
,
default=1
) - 将渐变重新缩放为 grad = rescale_grad*grad。 - clip_gradient:(
float
,
optional
,
default=-1
) - 将渐变剪裁到 [-clip_gradient, clip_gradient] 的范围内 如果clip_gradient <= 0,渐变剪裁被关闭。毕业 = 最大(最小(毕业,clip_gradient),-clip_gradient)。 - out:(
NDArray
,
optional
) - 输出 NDArray 来保存结果。
- weight:(
out:- 此函数的输出。
NDArray 或 NDArray 列表
参数:
返回:
返回类型:
Ftrl 优化器的更新函数。引用自
Ad Click Prediction: a View from the Trenches
,可在 http://dl.acm.org/citation.cfm?id=2488200 获得。它使用以下方法更新权重:
rescaled_grad = clip(grad * rescale_grad, clip_gradient) z += rescaled_grad - (sqrt(n + rescaled_grad**2) - sqrt(n)) * weight / learning_rate n += rescaled_grad**2 w = (sign(z) * lamda1 - z) / ((beta + sqrt(n)) / learning_rate + wd) * (abs(z) > lamda1)
如果 w、z 和 n 都是
row_sparse
存储类型,则仅更新索引出现在 grad.indices 中的行切片(对于 w、z 和 n):for row in grad.indices: rescaled_grad[row] = clip(grad[row] * rescale_grad, clip_gradient) z[row] += rescaled_grad[row] - (sqrt(n[row] + rescaled_grad[row]**2) - sqrt(n[row])) * weight[row] / learning_rate n[row] += rescaled_grad[row]**2 w[row] = (sign(z[row]) * lamda1 - z[row]) / ((beta + sqrt(n[row])) / learning_rate + wd) * (abs(z[row]) > lamda1)
相关用法
- Python mxnet.ndarray.sparse.fix用法及代码示例
- Python mxnet.ndarray.sparse.floor用法及代码示例
- Python mxnet.ndarray.sparse.trunc用法及代码示例
- Python mxnet.ndarray.sparse.row_sparse_array用法及代码示例
- Python mxnet.ndarray.sparse.broadcast_mul用法及代码示例
- Python mxnet.ndarray.sparse.rsqrt用法及代码示例
- Python mxnet.ndarray.sparse.sgd_update用法及代码示例
- Python mxnet.ndarray.sparse.broadcast_plus用法及代码示例
- Python mxnet.ndarray.sparse.rint用法及代码示例
- Python mxnet.ndarray.sparse.RowSparseNDArray用法及代码示例
- Python mxnet.ndarray.sparse.sign用法及代码示例
- Python mxnet.ndarray.sparse.concat用法及代码示例
- Python mxnet.ndarray.sparse.make_loss用法及代码示例
- Python mxnet.ndarray.sparse.adagrad_update用法及代码示例
- Python mxnet.ndarray.sparse.exp用法及代码示例
- Python mxnet.ndarray.sparse.square用法及代码示例
- Python mxnet.ndarray.sparse.clip用法及代码示例
- Python mxnet.ndarray.sparse.retain用法及代码示例
- Python mxnet.ndarray.sparse.round用法及代码示例
- Python mxnet.ndarray.sparse.zeros_like用法及代码示例
注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.ndarray.sparse.ftrl_update。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。