分类问题

分类问题需要的输出即离散的函数值。
比如对于“是或否”的分类,可看作函数输出\(y=0,1\)
对于\(h_\theta(x)\),要限制其值域范围到0~1。

假设陈述

sigmoid函数(logistic函数)

\[ g(z)=\frac{1}{1+e^{-z}} \]

03_p1
03_p1

值域\(g(z)\in(0,1)\)

取假设函数为

\[ h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}} \]

其意义可看作输入\(x\)\(y=1\)的概率

\[ h_\theta(x)=P(y=1|x;\theta) \]

决策界限(判定边界)

我们想要的是判断\(y\)属于正类(大于零)还是负类,
那么显然,\(h_\theta(x)\ge0.5\)的为正类,反之亦然。
即取\(h_\theta(x)=g(z)=0.5\)时为边界。

根据不同的情况,建立不同的模型,
设置不同的假设函数,有不同的边界。

线性边界

03_p2
03_p2

\[ \begin{aligned} &h_\theta(x)=g(\theta_0+\theta_1x_1+\theta_2x_2) \\ &\theta=\left[\begin{matrix}-3 \\ 1 \\ 1 \\\end{matrix}\right] \\ &y=1\quad if\quad\theta^Tx>0 \\ \end{aligned} \]

非线性边界

03_p3
03_p3

逻辑回归是非线性回归。

代价函数

注意,现在的\(h\)
\(h_\theta(x)=\frac{1}{1+e^{-\theta^Tx}}\)
之前那样的\(J\)不能用了。

代价函数

\[ Cost\left(h_\theta(x),y\right)= \left\{ \begin{array} -\ln\left(h_\theta(x)\right), & if\ y=1 \\ -\ln\left(1-h_\theta(x)\right), & if\ y=0 \\ \end{array} \right. \]

由于\(y\)只能为1或0

\[ \begin{aligned} &\Rightarrow \\ &Cost\left(h_\theta(x),y\right)=-y\ln\left(h_\theta(x)\right)-(1-y)\ln\left(1-h_\theta(x)\right) \\ &J(\theta)=\frac{1}{m}\sum_{i=1}^{m}{Cost\left(h_\theta\left(x^{(i)}\right),y^{(i)}\right)} \end{aligned} \]

梯度下降法

老样子

repeat{
  \(\theta_j=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta)\)
}

主要是求导
(发现求了之后形式和原来的基本一样,
cost应该是故意构造成这样的)

\(\Rightarrow\) repeat{   \(\theta_j=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^{m}{\left(h_\theta\left(x^{(i)}\right)-y^{(i)}\right)x_j^{(i)}}\)
}

高级优化方法

共轭梯度法、BFGS、L-BFGS……
略。

多元分类:一对多

03_p4
03_p4

要分成大于两个的类型。
多次二分类就行。

03_p5
03_p5

过拟合问题

不是模型越复杂越好,
可能代价函数很小,但没法应用到新的值。

03_p6
03_p6

如何解决过拟合问题。方法:
1、减少特征数量
手动/自动选择

2、正则化
保留所有特征,但减少参数\(\theta_j\)的幅度

代价函数

设置惩罚因子(正则化项)

\[ J\left(\theta\right)=\frac{1}{2m}\left[\sum_{i=1}^{m}\left(h_\theta\left(x^{\left(i\right)}\right)-y^{\left(i\right)}\right)^2+\lambda\sum_{j=1}^{n}\theta_j^2\right] \]

注意正则化项里\(\theta_0\)不要放进去

正则化项: 不是特定的\(\theta_j\)最小,而是整体\(\theta_j\)的平方和最小。

超参数的问题
如果\(\lambda\)太大,可能会使得除了\(\theta_0\)\(\theta_j\)全被消掉。

线性回归正则化

梯度下降法

\(J\left(\theta\right)\Rightarrow\)
repeat {
  \(\theta_j=\theta_j−\left[\alpha\frac{1}{m}\sum_{i=1}^{m}\left(h_\theta\left(x^{\left(i\right)}\right)x_j^{\left(i\right)}\right)+\frac{\lambda}{m}\theta_j\right]\)
  即
  \(\theta_j=\theta_j\left(1-\alpha\frac{\lambda}{m}\right)−α\frac{1}{m}\sum_{i=1}^{m}{\left(h_\theta\left(x^{\left(i\right)}\right)-y^{\left(i\right)}\right)x_j^{\left(i\right)}}\)
  (\(j\neq0\),对于\(j=0\),不用\(\lambda\)那一项) }

正规方程法

\[ \begin{aligned} &X\theta=y \\ &\Rightarrow \\ &\theta=\left(X^TX+\lambda\left[\begin{matrix}0&&&\\&1&&\\&&\ddots&\\&&&1\\&&&\\\end{matrix}\right]\right)^{-1}X^Ty \\ \end{aligned} \]

(可能要学一下矩阵导数来证明)
对于上式中括号里的项,
只要\(\lambda>0\),一定为非奇异矩阵(逆矩阵存在)。

逻辑回归正则化

同上,略。