用法:
mxnet.ndarray.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.floor用法及代碼示例
- Python mxnet.ndarray.flatten用法及代碼示例
- Python mxnet.ndarray.flip用法及代碼示例
- Python mxnet.ndarray.fix用法及代碼示例
- Python mxnet.ndarray.full用法及代碼示例
- Python mxnet.ndarray.from_dlpack用法及代碼示例
- Python mxnet.ndarray.op.uniform用法及代碼示例
- Python mxnet.ndarray.op.sample_negative_binomial用法及代碼示例
- Python mxnet.ndarray.NDArray.ndim用法及代碼示例
- Python mxnet.ndarray.op.khatri_rao用法及代碼示例
- Python mxnet.ndarray.op.unravel_index用法及代碼示例
- Python mxnet.ndarray.contrib.group_adagrad_update用法及代碼示例
- Python mxnet.ndarray.op.slice_like用法及代碼示例
- Python mxnet.ndarray.sparse.trunc用法及代碼示例
- Python mxnet.ndarray.op.L2Normalization用法及代碼示例
- Python mxnet.ndarray.op.softmax_cross_entropy用法及代碼示例
- Python mxnet.ndarray.where用法及代碼示例
- Python mxnet.ndarray.NDArray.reshape用法及代碼示例
- Python mxnet.ndarray.op.round用法及代碼示例
- Python mxnet.ndarray.SliceChannel用法及代碼示例
注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.ndarray.ftrl_update。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。