机器学习02-从线性回归到逻辑斯蒂回归

之前一节,讲了线性回归的一些理解, 其实传统的机器学习方法,和线性回归或多或少都有关系。

线性回归有三个特点, 线性,全局性, 数据未加工, 我们依次来看这个问题。

(1)线性方面

a.属性线性,f(x) 和 x各个特征是线性关系,例如f(x) = w1 * x1 + w2 *x2, 当属性线性不满足的时候,就引入特征转换了,例如多项式回归模型。

b.全局线性,f(x)只是一个线性组合,然后就直接输出了结果,我们可以在线性方程后面加入一个非线性变换,即引入一个非线性的激活函数,就可以得到新的模型,典型的有线性分类模型如感知机,逻辑斯蒂回归等

c.系数线性,f关于w也是线性的,系数本身不可能是多次的,这个概念,指的是对于模型而言,不同系数初始值下,系数是会变化的,例如神经网络,感知机。

(2)全局性方面,最简单的线性回归,拟合出一条直线,在整个特征空间上都是统一的。可以在不同区域引入不同的线性或非线性关系,打破全局性,例如决策树模型,线性样条回归

(3)原始数据方面,直接拿来做回归,没有进行任何数据加工,例如维度高了可以进行PCA降维等。

其他的模型,其实就是在打破线性回归这些特点中的一个或多个,这就构建起了整个统计机器学习的架构。


今天我们主要讲线性分类,可以看到它是打破了线性回归中的全局线性特点。

 线性分类可以分为两大类,(1)硬分类 (2)软分类。

简单来说,硬分类就是直接给出label是0还是1的,软分类给的是[0,1]的概率。

硬分类比如 线性判别分析(fisher判别分析),感知机等。

软分类里可以继续分为 生成式(例如朴素贝叶斯(离散变量), 高斯判别分析(连续变量))和 判别式(逻辑回归),生成式和判别式的区别在于,判别式是直接求概率的,而生成式是求联合概率的。现在看可能有点晕,等碰到生成式的时候可能更好理解。


今天我们首先讲逻辑斯蒂回归,虽然名字里是回归,但它是一个分类模型, 是不满足全局线性下的回归演变而来。简单起见,我们先讨论二分类问题。

首先介绍一下激活函数 sigmoid函数 


sigmoid函数

把激活函数和线性回归结合起来, 

首先来理解一下为什么sigmoid可以用来分类, 其实就是label为1的概率,当的取值为0 的时候, 值是0.5, 当越大, 值越接近1,可以认为label是1 的概率越大。

回顾一下上一讲的内容,对于统计机器模型,定义了模型了之后,第二步就是定义损失函数了。

我们从最大似然角度出发, 

这个式子乍一看比较难理解, 其实在yi=1的时候,只留下前一项了,当yi=0的时候, 只剩下后一项了。

对数似然函数 

然后我们可以定义我们的损失函数了,最大化对数似然函数,即最小化负的对数似然函数,

上式其实是交叉熵,这个概念之后会细讲。这边主要理解损失函数的由来就可以了。第三步就是通过算法求解最优化问题了,即最小化损失函数,现在我们引出前一节没讲的梯度下降了。具体的梯度下降原理后续会新写一篇来介绍各种优化方法, 简单理解,梯度是上升最快的方向,沿着负梯度方向前进可以使目标函数变小,但是步伐如果过大,忽略的二阶导项可能就不能忽略了。所以要定义一个学习率,避免步子太大。

我们首先讲一下sigmoid函数的导数, 

可以看出sigmoid的导数还是很漂亮的。

回到最小化损失函数上,我们对损失函数求梯度, 以参数为例

参数的每一个维度都是一样的求法,然后我们定义一个学习率,沿着负梯度方向,就可以一步步收敛,求得模型的参数了。

LR模型暂时先讲到这里,以后想到什么新的会继续往上面添加。

转发请注明,谢谢。

你可能感兴趣的:(机器学习02-从线性回归到逻辑斯蒂回归)