线性回归

假设我们有m组样本点\(x_1,x_2 \cdots x_n\) ,其对应观测值为\(y_1,y_2 \cdots y_n\) 。按照线性回归我们可以得到其回归函数如下:

\begin{equation*} h_{\theta}(x) = \theta_0 + \theta_1 (x_1) + \theta_2 (x_2) \end{equation*}

如果定义\(x_0=1\) ,那上述公式可以写为:

\begin{equation*} h(x) = \sum_{i=0}^n \theta_i x_i = \theta^T x \end{equation*}

此处\(\theta和x\) 都为向量:

\begin{align*} \left\{ \begin{array}{l} \theta & = & \begin{pmatrix} \theta_0, \theta_1, \cdots \theta_n \end{pmatrix} \\ x & = & \begin{pmatrix} x_0, x_1, \cdots x_n \end{pmatrix} \end{array} \right. \end{align*}

其误差公式为:

\begin{equation*} J(\theta) = \frac{1}{2} \sum_{i=1}^{m} (h(x^{(i)})-y^{(i)})^2 \end{equation*}

此即为一般最小二乘法(ordinary least square)回归模型,其中\(x^{(i)}和y^{(i)}为第i组样本\)

我们的目标是找到误差的极小值,根据梯度下降算法我们可以得到迭代公式:

\begin{equation*} \theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j}J(\theta) \end{equation*}

首先对单一的样本进行计算有:

\begin{equation*} \begin{array}{lcl} \frac{\partial}{\partial \theta_j}J(\theta) & = & \frac{\partial}{\partial \theta_j} \frac{1}{2} (h_{\theta}(x)-y)^2 \\ & = & 2 \cdot \frac{1}{2}(h_{\theta}(x)-y) \cdot \frac{\partial}{\partial \theta_j} (h_{\theta}(x)-y) \\ & = & (h_{\theta}(x)-y) \cdot \frac{\partial}{\partial \theta_j} (\sum_{i=0}^n \theta_i x_i - y_i) \\ & = & (h_{\theta}(x)-y) x_j \end{array} \end{equation*}

因此可以得到单一样本的迭代公式:

\begin{equation*} \theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j}J(\theta) \end{equation*}
comments powered by Disqus