Logistic Regression

一、说明

  一个最常见的分类算法.

  • 训练集:$\{(\mathbf x^{(1)}, y^{(1)}), ..., (\mathbf x^{(i)}, y^{(i)}), ..., (\mathbf x^{(m)}, y^{(m)})\}$.
  • 训练参数:$ \theta = (\theta_0, \theta_1..., \theta_\alpha, ..., \theta_n)$.
  • $m$: 训练集个数; $n$: 特征个数。
  • 上标 $(i)$ 表示第 $i$ 个数据,下标 $\alpha$ 表示第 $\alpha$ 维特征。

其中 $\mathbf x^{(i)} \in \mathbb R^n, \ \ y^{(i)} \in \{0, 1\}$。$y$ 的两个取值对应两种不同的分类。这里只说明二分类问题。  

二、Logistic Function

    又名 Sigmoid Function. 函数定义及其导数:

\begin{aligned} g(z) & = \frac{1}{1 + \mathrm e^{-z}}, \\ g'(z) & = g(z) ( 1- g(z) ). \end{aligned}

三、模型训练

  Hypothesis Funcition:

模型预测值: 

\[ \hat y = g(z) = g \left( \sum_{\alpha} \theta_\alpha x_\alpha \right). \ \  (x_0 = 1 是偏置项) \] 

  其值的意义是数据点 $\mathbf x$ 属于分类 $y = 1$ 的概率。

  Cost Function:

\begin{aligned} J(\theta) = - \frac{1}{m} \sum_{i = 1}^{m} \left[y^{(i)} \log{g(z^{(i)})} + (1-y^{(i)}) \log{(1-g(z^{(i)}))}\right] + \frac{\lambda}{2} \sum_{\alpha=1}^n \theta_{\alpha}^2. \end{aligned}

最后一项是正则项,求和中不包含 $\alpha = 0$ 对应的偏置项的参数。所以在下面的梯度中,偏置参数与其他参数的梯度有所不同。

   Gradient:

\[ \nabla_{\mu}J(\theta) = - \frac{1}{m} \sum_{i} \left[ y^{(i)} \frac{ g'(z^{(i)}) }{g(z)} + (1 - y^{(i)}) \frac{ - g'(z^{(i)})}{1- g(z^{(i)})} \right] \frac{\partial z^{(i)}}{\partial \theta_\mu} + \frac{\lambda}{2} \frac{\partial}{\partial \theta_\mu} \sum_{\alpha = 1}^{n} \theta_{\alpha}^2  \]

\( \qquad \qquad \qquad = - \frac{1}{m} \sum_{i} \left[ y^{(i)} (1 - g(z^{(i)})) - (1 - y^{(i)}) g(z^{(i)}) \right] x^{(i)}_\mu + \frac{\lambda}{2} 2 \theta_\mu \)

\( \qquad \qquad \quad = - \frac{1}{m} \sum_{i} \left( y^{(i)} - \hat y^{(i)} \right) x^{(i)}_\mu + \lambda \theta_\mu \) 

posted on 2013-07-28 21:51  bingoe  阅读(175)  评论(0编辑  收藏  举报

导航