分类问题

分类问题和回归问题的区别是:分类问题的值域是离散的。

  • 线性回归不能应用于分类问题。

  • 逻辑回归模型

(此处为一元分类问题)

预测函数:

\[h_\theta(x)=g(\theta^Tx)\]

其中:

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

能够使得:

\[0\le h_\theta(x)\le1\]

预测函数的函数值:

\[y=1\Leftrightarrow h_\theta(x)\ge0.5\Leftrightarrow\theta^Tx\ge0\\y=0\Leftrightarrow h_\theta(x)<0.5\Leftrightarrow\theta^Tx<0\]决策界限

\(y=1\ \ or\ \ 0\) 取决于 \(h_\theta(x)\ge0.5\ \ or\ \ h_\theta(x)<0.5\) ,此处的 \(h_\theta(x)=0.5\) 即为决策界限。

将其可视化后,表现为线性界限将空间分为不同类型。

决策边界由参数 \(\theta\) 确定。参数 \(\theta\) 使用训练集来拟合。

预测函数使用高阶多项式可以得到非线性决策边界

拟合

代价函数: \(J(\theta) = \frac{1}{m}\Sigma_{i=1}^mcost(h_\theta(x),y)\)

在线性回归问题中,\(cost(h_\theta(x),y)=\frac{1}{2}(h_\theta(x)-y)^2\),其中的\(h_\theta(x)\)是线性的,因此\(cost()\)函数是凸函数,使用梯度下降即可求得全局最小值

而在逻辑回归问题中,\(h_\theta(x)=\frac{1}{1+e^{-\theta^Tx}}\)非线性的,因此\(cost()\)函数不是凸函数,使用梯度下降只能求得局部最小值,无法确认是否是全局最小值。

代价函数\[cost(h_\theta(x),y)=\left\{\begin{array}{lr}-log(h_\theta(x))\qquad \quad y=1 \\-log(1-h_\theta(x)) \quad \ y=0\end{array}\right.\]

这个函数取自统计学中的极大似然法

对于\(y=1\)的情况来说:

  • 如果\(x\rightarrow1\),那么表示猜测效果好,代价很低,\(cost\rightarrow0\).
  • 如果\(x\rightarrow0\),那么表示猜测效果很差,代价很高,趋近于\(\infty\),以此来“惩罚”算法。

由于\(y\)的取值只有0和1两种情况,可以考虑合并:

\[cost(h_\theta(x),y) = -ylog(h_\theta(x))-(1-y)log(1-h_\theta(x))\]

  • 代价函数:

\[\begin{equation}\begin{aligned}J(\theta) &= \frac{1}{m}\Sigma_{i=1}^mCost(h_\theta(x^{(i)}),y^{(i)})\\ &= -\frac{1}{m}[\Sigma_{i=1}^my^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log(1-h_\theta(x^{(i)})] \end{aligned}\end{equation}\]

  • 目标:求解使得\(\mathop{min}\limits_\theta J(\theta)\)\(\theta\).

  • 求解方法:使用梯度下降迭代 \(\theta\),使其不断趋近于最小值点。

多类别分类问题

  • 多类别分类问题可以分解为“一对余”方法。

  • \(n\) 类别分类问题,分解为 \(k\) 个二元分类问题,得到 \(k\) 个预测模型 \(h_\theta^{(i)}(x)=p(y=i\ | \ x;\ \theta)\),其中: \(i=(1,2,3,…,k)\) .

  • 最终预测:

    • \(k\) 个预测模型中输入 \(x\)
    • 选择一个使得 \(h_\theta^{(i)}(x)\)最大的 \(i\) ;
    • \(h_\theta^{(i)}(x)\) 为最终的预测结果。