乐趣区

关于机器学习:小白学AI线性回归与逻辑回归似然参数估计

文章转自【机器学习炼丹术】

线性回归解决的是回归问题,逻辑回归相当于是线性回归的根底上,来解决分类问题。

1 公式

线性回归 (Linear Regression) 是什么相比不必多说了。格局是这个样子的:
$f_{w,b}(x)=\sum_i{w_ix_i}+b$

而逻辑回归(Logistic Regression)的样子呢?
$f_{w,b}(x)=\sigma(\sum_i{w_ix_i}+b)$

要记住的第一句话:逻辑回归能够了解为在线性回归后加了一个 sigmoid 函数。将线性回归变成一个 0~1 输入的分类问题。

2 sigmoid

sigmoid 函数就是:
$\sigma(z)=\frac{1}{1+e^{-z}}$

函数图像是:

线性回归失去大于 0 的输入,逻辑回归就会失去 0.5~1 的输入;
线性回归失去小于 0 的输入,逻辑回归就会失去 0~0.5 的输入;


这篇文章的重点,在于 线性回归的参数估计应用的最小二乘法 ,而 而逻辑回归应用的是似然预计的办法。(当然,两者都能够应用梯度降落的办法)。


3 似然预计逻辑回归参数

举个例子,当初咱们有了一个训练数据集,是一个二分类问题:

下面的 $x^1$ 是样本,上面的 $C_1$ 是类别,总共有两个类别。

当初假如咱们有一个逻辑回归的模型:
$f_{w,b}(x)=\sigma(\sum_i{w_ix_i}+b)$
那么 $f_{w,b}(x^1)$ 的后果,就是一个 0~1 的数,咱们能够设定好,假如这个数字就是是类别 $C_1$ 的概率,反之,1 减去这个数字,就是类别 $C_2$ 的概率。

似然简略的了解,就是让咱们下面的数据集呈现的概率最大

咱们来了解一下:

  1. $x_1$ 是 $C_1$ 的概率是 $f_{w,b}(x^1)$;
  2. $x_2$ 是 $C_1$ 的概率是 $f_{w,b}(x^2)$;
  3. $x_3$ 是 $C_2$ 的概率是 $1-f_{w,b}(x^3)$;
  4. ……
  5. $x_N$ 是 $C_1$ 的概率是 $f_{w,b}(x^N)$;

样本之间彼此独立,那么下面那个数据集的概率是什么?是每一个样本的乘积,这个就是似然 Likelihood:

咱们心愿这个 w,b 的参数估计值,就是能取得最大化似然的那个参数。也就是:

加上负号之后,就能够变成最小化的问题。当然,加上一个 log 并不会影响整个的 w,b 的估计值。因为 $L(w,b)$ 最大的时候,$log(L(w,b))$ 也是最大的,log 是个枯燥递增的函数。所以能够失去上面的:
【留神:所有的 log 其实是以 e 为底数的自然对数】

log 又能够把之前的乘积和,转换成加法。
$log(L(w,b))=log(f(x^1))+log(f(x^2))+log(1-f(x^3))…$

而后,为了更加简化这个算是,咱们将 $C_1, C_2$ 数值化,变成 1 和 0,而后每一个样本的实在标签用 $y$ 来示意,所以就能够失去:
$log(L(w,b))=\sum_i^N{ylog(f(x^i))+(1-y)log(1-f(x^i))}$
【有点像是二值穿插熵,然而其实就是二值穿插熵。。】

  • 当 y =1,也就是类别是 $C_1$ 的时候,这个是 $log(f(x^i))$
  • 当 y =0,也就是类别是 $C_2$ 的时候,这个是 $1-log(f(x^i))$

所以其实咱们失去的损失函数是:
$loss=-log(L(w,b))=-\sum_i^N{ylog(f(x^i))+(1-y)log(1-f(x^i))}$

之前说了,要找到让这个 loss 最小的时候的 w 和 b,那怎么找?
【有情万能的梯度降落】

所以计算 $\frac{\partial loss}{\partial w}$,而后乘上学习率就好了。这里就不持续推导了,有急躁的能够缓缓推导,反正必定能推出来的。
这里放个后果把:
$\frac{-\partial lnL(w,b)}{\partial w_i}=\sum_n^N{-(y^n-f_{w,b}(x^n))x_i^n}$

  • 其中 $w_i$ 为第 i 个要预计的参数,第 i 个特色;
  • $x^n_i$ 是第 n 个样本的第 i 个特色的值;
  • $y^n$ 是第 n 个样本的实在类别,0 或者 1。
退出移动版