《推荐系统与深度学习》笔记1

神经网络基础

  • 深度学习:使用深层架构(比如深度神经网络)的机器学习方法
  • 神经元:也叫感知器

组成:
1.输入权值:一个感知器可接受多个输入,每个输入上由于提供权值,还有偏置项b
2.激活函数
3.输出

  • 神经网络:按一定规则连接多个神经元

按层布局
同层无连接
每个连接都有一个权值

  • 反向传播:为矫正网络权重,修正权重参数,使输出值逼近目标值

通常采样反向传播更新梯度,达到最小化损失函数目的,
一种基于微积分链式求导的递归算法。例如 y = g ( x ; θ ) y=g(x; \theta) y=g(x;θ)使用 ▽ θ g \bigtriangledown_\theta g θg来更新 θ \theta θ

  • 多标签问题

给定集合 ( x n , y n ) , x n ∈ R p 是 第 n 个 样 本 的 p 维 特 征 {(x_n,y_n)},x_n \in R^p 是第n个样本的p维特征 (xn,yn)xnRpnp,

  • 优化算法

DNN是非线性非凸模型
采用梯度下降算法更新
常用初始化网络参数方法

  • 高斯分布初始化
  • 均匀分布初始化
    Xavier初始化
  • 学习了选择

反向衰减学习率

  • 初 始 化 学 习 率 : η 0 衰 减 系 数 : γ 迭 代 次 数 : t 定 义 为 : Θ ( t ) = η 0 1 − t ⋅ γ 初始化学习率:\eta_0 \\衰减系数:\gamma\\迭代次数:t\\定义为:\\\Theta(t)=\frac{\eta_0}{1-t \cdot \gamma} η0γtΘ(t)=1tγη0
    指数衰减率 Θ ( t ) = η 0 e x p ( t γ ) \Theta(t)=\frac{\eta_0}{exp(t \gamma)} Θ(t)=exp(tγ)η0
    固定衰减的模拟退火方法不能之间泛化到多个数据集上

以下是广泛使用的

  • 动量方法

采用累计梯度替代当前梯度
类似球下山,下坡时积累动力
若莫参数在连续时间内梯度方向不变,动量变小;相反,方向一致,增大
可快速收敛,减少目标函数震荡
v t = γ v t − 1 − η ⋅ ▽ θ J ( Θ ; x i : i + n , y i : i + n ) Θ = Θ − v t v_t=\gamma v_{t-1}-\eta\cdot\bigtriangledown_\theta J(\Theta ;x_{i:i+n},y_{i:i+n})\\\Theta=\Theta-v_t vt=γvt1ηθJ(Θ;xi:i+n,yi:i+n)Θ=Θvt

  • RMSprop

自适应调整每个参数学习率,克服过早衰减
v t = β v t − z − η ⋅ ▽ θ J ( Θ ; x i : i + n , y i : i + n ) v_t=\beta v_{t-z}-\eta\cdot\bigtriangledown_\theta J(\Theta ;x_{i:i+n},y_{i:i+n}) vt=βvtzηθJ(Θ;xi:i+n,yi:i+n)
梯度更新公式
Θ t + 1 = Θ t − α v t + ϵ ⋅ ▽ θ J ( Θ ; x i : i + n , y i : i + n ) \Theta_{t+1}=\Theta_{t}-\frac{\alpha}{\sqrt{v_t+\epsilon}}\cdot\bigtriangledown_\theta J(\Theta ;x_{i:i+n},y_{i:i+n}) Θt+1=Θtvt+ϵ αθJ(Θ;xi:i+n,yi:i+n)

  • 自适应矩估计

可自适应调整每个参数学习率,可看成RMSprop与动量法结合
m t = β 1 m t − 1 − ( 1 − β 1 ) ▽ θ J ( Θ ; x i : i + n , y i : i + n ) v t = β 2 v t − 1 − ( 1 − β 2 ) ▽ θ 2 J ( Θ ; x i : i + n , y i : i + n ) m_t=\beta_1m_{t-1}-(1-\beta_1)\bigtriangledown_\theta J(\Theta ;x_{i:i+n},y_{i:i+n})\\v_t=\beta_2v_{t-1}-(1-\beta_2)\bigtriangledown_\theta^2 J(\Theta ;x_{i:i+n},y_{i:i+n}) mt=β1mt1(1β1)θJ(Θ;xi:i+n,yi:i+n)vt=β2vt1(1β2)θ2J(Θ;xi:i+n,yi:i+n)
分别为梯度一阶矩二阶矩估计
矫正:
m ^ t = m t 1 − β 1 t v ^ t = v t 1 − β 2 t \hat m_t=\frac{m_t}{1-\beta_1^t}\\\hat v_t=\frac{v_t}{1-\beta_2^t} m^t=1β1tmtv^t=1β2tvt
梯度更新公式:
Θ t + 1 = Θ t − η v t ^ + ϵ m t ^ 通 常 β 1 = 0.9 , β 2 = 0.999 , ϵ = 1 0 − 8 \Theta_{t+1}=\Theta_{t}-\frac{\eta}{\sqrt{\hat{v_t}+\epsilon}}\hat{m_t}\\通常\beta_1=0.9,\beta_2=0.999,\epsilon=10^{-8} Θt+1=Θtvt^+ϵ ηmt^β1=0.9,β2=0.999,ϵ=108

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值