逻辑回归原理

现在我们有n个样本点 (X_1,y_1),(X_2,y_2)....(X_n,y_n) 其中X为向量,表示样本的特征,y表示类别,取值只为0,1代表两个类别。

我们现在需要通过训练样本点去拟合一个函数 f(x)。我们取定一个阀值 m 。然后把一个样本的特征X带入f(x)中,如果f(x)>m,那么这个样本就是1类,反之就是0类。这样我们就能够实现对新样本的分类。

那么如何通过样本去拟合这样的一个函数呢?

我们先来看一看这个函数 h(x) = \frac{1}{e^{-x}+1}  他的函数图像如下

发现了吗,这个函数的特征。以0.5为阀值能够非常完美的把两个类别分开。

但是我们能直接把特征 X 带入这个函数吗?显然是不行的,因为我们的特征X是一个向量。

所以我们需要对特征做一个映射。我们先来做一个线性映射,就像线性回归那样。

{\color{Red} p(X) = W^TX=\omega _0+\omega _1x_1+w_2x_2+.....+\omega _mx_m}   为每一个特征乘上一个权重\omega 。 然后求和就得到了一个实数,从而完成了映射。

现在我们把  p(X) 当作自变量带入 h(x) 不就可以了吗   h(x) = \frac{1}{e^{p(X)}+1}   。但是现在我们改如何通过 给定的 n个样本去拟合出  最佳h(x)  (也就是求出 向量W)

可以这样做。我们发现 h(x) 的取值范围是0~1。那么我们就可以把 h(x)看作是某一个样本是某一个类别的概率。例如我们有一个样本 x

把其带入 h(x)得到一个值为 0.8 。那么这就表示这个样本有0.8的概率为1类别,有0.2的概率为0类别。因为0.8>0.2,所以我们把其分到1类别。

现在我们对于任何一个样本都有  g(x)=\left\{\begin{matrix} h(X)\: \: \: \: y=1\\ 1-h(X)\: \: \: \: y=0 \end{matrix}\right.  。当 y等于1时,表示样本为 1类别的概率为 h(X)。  y=0时表示,样本为0类别的概率为1-h(X)。  这个概率函数我们可以写成这样  g(X) = (1-h(X))^{1-y}*h(X)^y  其中 y的取值为0,1.分别代表两个类别。

有了这些我们就可以着手求出我们的目标函数。像前面的线性回归一样利用最大似然估计。让每一个样本是某一个类别的概率尽可能的去最大值。

把 (X_1,y_1),(X_2,y_2)....(X_n,y_n)中的每一个样本代入到概率函数 g(X)中。

得到似然函数  l(\theta ) = \prod_{i=1}^{n}g(X_i)

取对数得到对数似然   L(\theta ) = \sum_{i=1}^{n}ln\: g(x_i) = \sum_{i=1}^{n}ln\: (1-h(X_i))^{1-y_i}*h(X_i)^{y_i}

=\sum_{i=1}^{n}(1-y_i)ln(1-h(X_i))+y_ilnh(X_i)

现在我们的目标是求 当 L(\theta ) 取最大时,\theta 的取值.

现在又回到了优化问题求解了。

因为对这个目标函数直接求导,并令其为0.求解。不好解。

所以这里我们可以直接利用梯度上升算法(和下降时一致的),逼近最优解。

下面我们思考一个问题就是能不能像线性回归那样,我们使用高次曲线去拟合呢?

也就是前面的 p(X)不是一个一次线性组合,而是高次特征线性组合。

这个我放在下次的代码实践中用图形解释。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值