Coursera - 机器学习基石 - 课程笔记 - Week 10

Logistic Regression

Logistic Regression Problem

  • 二元分类:尝试明确“是”或者“否”
  • “软”二元分类:尝试明确“是”的概率 P ( + 1 ∣ x ) P(+1|\bold x) P(+1x)
  • 我们希望在完成第二个任务时,希望能够有直接对应的标签(概率),但是只有第一个任务的结果
    • 将二元标签(是和否)视为概率式标签的含噪声版本
    • 使用和“硬”二元分类相同的数据,希望得到一个不同的目标函数
  • 逻辑假设
    • 和线性回归一样,对输入的特征 x \bold x x,使用加权和处理之: s = ∑ i = 0 d w i x i s = \sum_{i=0}^d w_i x_i s=i=0dwixi
    • 将结果值 s s s使用逻辑函数 θ ( s ) \theta(s) θ(s)映射为一个预估概率
  • 逻辑函数 θ ( s ) = 1 1 + e − s \theta(s) = \frac {1} {1 + e^{-s}} θ(s)=1+es1
    • 平滑
    • 单调
    • s型(sigmoid)
  • 逻辑回归的假设 h ( x ) = 1 1 + exp ⁡ ( − w T x ) h(\bold x) = \frac 1 {1 + \exp(-\bold w^T \bold x)} h(x)=1+exp(wTx)1

Logistic Regression Error

  • 逻辑回归的目标函数 P ( y ∣ x ) = { f ( x ) y = +1 1 − f ( x ) y = -1 P(y | \bold x) = \begin{cases} f(\bold x) & \text{y = +1}\\ 1 - f(\bold x) & \text{y = -1} \end{cases} P(yx)={f(x)1f(x)y = +1y = -1
  • 对一组数据 D = { ( x 1 , + 1 ) , ( x 2 , − 1 ) , … , ( x N , − 1 ) , } \mathcal D = \{ (\bold x_1, +1), (\bold x_2, -1), \ldots, (\bold x_N, -1), \} D={(x1,+1),(x2,1),,(xN,1),}:
    • 目标函数产生该数据集的概率: P ( x 1 ) f ( x 1 ) × … × P ( x N ) ( 1 − f ( x N ) ) P(\bold x_1)f(\bold x_1) \times \ldots \times P(\bold x_N)(1 - f(\bold x_N)) P(x1)f(x1)××P(xN)(1f(xN))
    • 假设产生该数据集的可能性(替换之): P ( x 1 ) h ( x 1 ) × … × P ( x N ) ( 1 − h ( x N ) ) P(\bold x_1)h(\bold x_1) \times \ldots \times P(\bold x_N)(1 - h(\bold x_N)) P(x1)h(x1)××P(xN)(1h(xN))
    • 如果 h ≈ f h \approx f hf,那么 l i k e l i h o o d ( h ) ≈ p   f r o m   f likelihood(h) \approx p \ from \ f likelihood(h)p from f
    • 来自f的概率通常很大
  • 选择: g = arg ⁡ h max ⁡   l i k e l i h o o d ( h ) g = \arg\limits_h \max \ likelihood(h) g=hargmax likelihood(h)
  • 根据逻辑函数性质: 1 − h ( x ) = h ( − x ) 1 - h(\bold x) = h(- \bold x) 1h(x)=h(x)
    • 发现关系: l i k e l i h o o d ( h ) ∝ ∏ n = 1 N h ( y n x n ) likelihood(h) \propto \prod_{n = 1}^N h(y_n \bold x_n) likelihood(h)n=1Nh(ynxn)
  • 交叉熵损失:
    • $\min_{\bold w} \ \frac 1N \sum_{n=1}^N err(\bold w, \bold x_n, y_n) $
    • e r r ( w , x n , y n ) = ln ⁡ ( 1 + exp ⁡ ( − y n w T x n ) ) err(\bold w, \bold x_n, y_n) = \ln(1 + \exp(-y_n \bold w^T \bold x_n)) err(w,xn,yn)=ln(1+exp(ynwTxn))

Gradient of Logistic Regression Error

  • 这个误差函数的特点:连续,可微,二次可微,凸形
  • 最小值:局部谷底, ∇ E i n ( w ) = 0 \nabla E_{in}(\bold w) = 0 Ein(w)=0
  • 梯度: ∇ E i n ( w ) = 1 N ∑ n = 1 N θ ( − y n w T x n ) ( − y n x n ) \nabla E_{in}(\bold w) = \frac 1N \sum_{n=1}^N \theta(-y_n \bold w^T \bold x_n)(-y_n \bold x_n) Ein(w)=N1n=1Nθ(ynwTxn)(ynxn)
  • 梯度复杂,无法直接找到为0的位置——迭代优化方法
    • 步长 η \eta η和幅度(速度) v \bold v v用于决定梯度的优化方向

Gradient Descent

  • 基本思路:迭代优化法 w t + 1 ← w t + η v \bold w_{t+1} \leftarrow \bold w_t + \eta \bold v wt+1wt+ηv
    • 对PLA算法, v \bold v v来自错误修正
    • 对逻辑回归的平滑错误,需要让 v \bold v v
    • 给定 η > 0 \eta > 0 η>0 min ⁡ ∥ v ∥ = 1 E i n ( w t + η v ) \min\limits_{\| \bold v\| = 1}E_{in}(\bold w_t + \eta \bold v) v=1minEin(wt+ηv)
  • 限制性解决,线性方程局部近似(泰勒展开,这里 η \eta η很小): E i n ( w t + η v ) ≈ E i n ( w t ) + η v T ∇ E i n ( w t ) E_{in}(\bold w_t + \eta \bold v) \approx E_{in}(\bold w_t) + \eta \bold v^T \nabla E_{in}(\bold w_t) Ein(wt+ηv)Ein(wt)+ηvTEin(wt)
  • $ \bold v 优 化 思 路 : 与 梯 度 完 全 反 方 向 优化思路:与梯度完全反方向 \bold v = - \frac {\nabla E_{in}(\bold w_t)}{| \nabla E_{in}(\bold w_t) |}$
  • 梯度下降,对于一个小的 η \eta η w t + 1 ← w t − η ∇ E i n ( w t ) ∥ ∇ E i n ( w t ) ∥ \bold w_{t+1} \leftarrow \bold w_t - \eta \frac {\nabla E_{in}(\bold w_t)}{\| \nabla E_{in}(\bold w_t) \|} wt+1wtηEin(wt)Ein(wt)
  • η \eta η的选择
    • 太小:太慢
    • 太大:越过最大值,震荡
    • 合适的:先大后小,逐渐地接近最小值
  • 启发式改变η
    • 单调于 ∥ ∇ E i n ( w t ) ∥ \| \nabla E_{in}(\bold w_t) \| Ein(wt)
    • 令固定学习率η为上述η与 ∥ ∇ E i n ( w t ) ∥ \| \nabla E_{in}(\bold w_t) \| Ein(wt)的比值
    • 固定学习率梯度下降 w t + 1 ← w t − η ∥ ∇ E i n ( w t ) ∥ \bold w_{t+1} \leftarrow \bold w_t - \eta \| \nabla E_{in}(\bold w_t) \| wt+1wtηEin(wt)
  • 迭代优化
    • 计算 ∇ E i n ( w ) = 1 N ∑ n = 1 N θ ( − y n w T x n ) ( − y n x n ) \nabla E_{in}(\bold w) = \frac 1N \sum_{n=1}^N \theta(-y_n \bold w^T \bold x_n)(-y_n \bold x_n) Ein(w)=N1n=1Nθ(ynwTxn)(ynxn)
    • 更新权重 w t + 1 ← w t − η ∥ ∇ E i n ( w t ) ∥ \bold w_{t+1} \leftarrow \bold w_t - \eta \| \nabla E_{in}(\bold w_t) \| wt+1wtηEin(wt)
    • 直到 ∇ E i n ( w t + 1 ) ≈ 0 \nabla E_{in}(\bold w_{t+1}) \approx 0 Ein(wt+1)0或者足够多次迭代
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值