{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 什么时候使用岭回归？\n",
    "\n",
    "我们把岭回归的解和普通最小二乘的解析解作一个对比。\n",
    "\n",
    "我们知道，使用最小二乘进行线性回归时，有正规方程和梯度下降两种解法，使用正规方程可以求得：\n",
    "\n",
    "$$\n",
    "\\hat{w} = (X^TX)^{-1}X^Ty\n",
    "$$\n",
    "\n",
    "可以看到岭回归的解和普通最小二乘的解非常类似，只是在 $X^TX$ 的基础上加上一个对角矩阵。在前面我们提到过，正规方程有很多不足之处，其中很重要的一点是 $X^TX$ 必须是可逆的，关于 $X^TX$ 可逆有很多其他的说法：\n",
    "\n",
    "* $X^TX$ 必须是可逆的\n",
    "* $X^TX$ 的行列式不能等于 0\n",
    "* $X$ 必须是满秩的\n",
    "* $X$ 是正定矩阵\n",
    "\n",
    "为了保证 $X^TX$ 可逆，可以在 $X^TX$ 的对角线上加上一个很小的常量，这样可以提高其正则性，进而可以更稳定的进行逆矩阵的求解，这就是岭回归。\n",
    "\n",
    "另一方面，$X^TX$ 不能为 0，当变量之间具有很强的相关性时，$X^TX$ 会变得很小，甚至趋于 0，譬如一个自变量是身高 $x_1$，另一个是体重 $x_2$，根据这两个变量我们得到一个回归模型，$y = ax_1 + bx_2 + c$，由于 $x_1$ 和 $x_2$ 高度相关，所以 a 和 b 之间存在互相抵消的效应：你可以把 a 弄成一个很大的正数，同时把 b 弄成一个绝对值很大的负数，最终 $\\hat{y}$ 可能不会改变多少。这会导致用不同人群拟合出来的 a 和 b 差别可能会很大，模型的可解释性就大大降低了。这种情况被称为 **多重共线性**。\n",
    "\n",
    "岭回归是一种专用于共线性数据分析的有偏估计回归方法，实质上是一种改良的最小二乘估计法，通过放弃最小二乘法的无偏性，以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法，对病态数据的拟合要强于最小二乘。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "TODO 使用岭回归解决多重共线性"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
