关于逻辑回归
即用逻辑函数把线性回归的结果 (-∞,∞) 映射到 (0,1),用于分类任务。
逻辑回归的表示
假设函数
与线性回归不同的是,逻辑回归的假设函数在外面再套了一层 $ g(z) $:
$$ h_{\theta}(x) = g(\theta^T x) = \dfrac{1}{1+e^{-\theta^T x}} $$
它的含义是:给定输入 $ x $,计算出输出为 1 (属于这个类别)的可能性。其中 $ g(z) = \dfrac{1}{1+e^{-z}} $,这个函数被称为 Sigmoid 函数。
决策边界
对 1.1 中的假设函数,当 $ \theta^T x \ge 0 $ 时,预测 $ y=1 $;当 $ \theta^T x < 0 $ 时,预测 $ y=0 $。绘制 $ \theta^T x = 0 $ 的图像,此即为决策边界。
代价函数
线性回归的代价函数为:
$$ J(\theta) = \dfrac{1}{m} \sum{i=1}^{m}\dfrac{1}{2}(h{\theta}(x^{(i)})-y^{(i)})^2 $$
逻辑回归的代价函数为:
$$ J(\theta) = \dfrac{1}{m} \sum{i=1}^{m}Cost(h{\theta}(x^{(i)})-y^{(i)}) $$
其中
因此
$$ Cost(h{\theta}(x), y) = -y \times log(h{\theta}(x)) – (1-y) \times log(1 – h_{\theta}(x)) $$
$$ J(\theta) = -\dfrac{1}{m} \sum{i=1}^{m}[y^{(i)}log(h{\theta}(x^{(i)})) + (1-y^{(i)}) log(1 – h_{\theta}(x^{(i)}))] $$
这个关于 $ J(\theta) $ 的式子可用于编写代码。
逻辑回归的梯度下降法
逻辑回归的梯度下降法的具体过程如下:
- 随机选择一个参数的组合 $ (\theta_0, \theta_1, \cdots, \theta_n) $,也可均初始化为 0;
- 计算代价函数 $ J(\theta) $;
- 修正 $ (\theta_0, \theta_1, \cdots, \theta_n) $;
- 重复 2 – 3 步骤,直至找到一个局部最小值。
即与线性回归的梯度下降法相同,只是 $ h_{\theta}(x) $ 不同。
多分类问题
方法如下:
可以训练多个二分类器,并将其中一类标记为正类(y=i),其余标记为负类;
令各个假设函数为:
$$ h^{(i)}_{\theta}(x) = p(y=i|x;\theta), 其中i=(1,2,3,\cdots,k) $$
预测时,给定 $ x $,选择一个让 $ h^{(i)}_{\theta}(x) $ 最大的 i 即可,即:
$$ arg \mathop{max}\limitsi h^{(i)}{\theta}(x) $$
发表回复
要发表评论,您必须先登录。