美文网首页
线性回归、逻辑回归

线性回归、逻辑回归

作者: 沉静BBQ | 来源:发表于2018-01-20 00:10 被阅读0次

线性回归

解决问题

先上一个例子

人们去某一家银行贷款,贷款额度与工资和年龄的关系如下:

工资 年龄 额度
4000 25 20000
8000 30 70000
5000 28 35000
7500 33 50000
12000 40 85000

预测,下一个人去银行贷款的额度是多少?

工资和年龄对贷款额度的影响有多大?

思路推理

工资和年龄是我们的两个特征,额度是我们想预测的结果,这个结果是一个具体的数值

1.png

对于每一个样本,都存在误差,记做:

2.png

我们应该要让误差越小,那我们的参数就越好,我们的目的还是要求参数 \theta。

gif.latex.gif

这时,我们作出一个假设,所有样本数据的误差是独立且具有相同分布,服从高斯分布的。

3.png

高斯分布的y坐标是概率值,x坐标是各个样本的误差。这里可以看出我们的假设就是误差越大的概率会比较小,大部分的误差都接近于0,这样的分布才是我们所希望的分布情况。

下面是高斯分布的公式:

屏幕快照 2018-01-19 21.42.01.png

中间的公式就是高斯分布的公式。

这时我们想,由于误差是服从高斯分布的,是不是只有当每次误差的概率越大,那误差就越接近于0啊,也是我们想要的情况。

所以我们把所有误差的概率相乘,以便让此结果最大,这样就它的似然函数:

屏幕快照 2018-01-19 21.46.57.png

乘法想求最大值难解,我们转换为对数似然以便就加法最大值。

屏幕快照 2018-01-19 21.49.51.png

化简过程略过若干步骤,最后上面试子,要想让最上面那个式子最大,由于它前半部分是个常数,后面是减去一个数,这样我们让最后那个数最小就行了。 就是让这个最小二乘法的式子最小。

这个式子是一个方程,在数学中,我们想求一个函数的的最低点,我们是不是需要求这个函数的偏导等于0的情况就是啊? 是的:

屏幕快照 2018-01-19 21.56.01.png

上面的化简需要注意的是,无论X还是theta还是y,都是矩阵,需要用矩阵的算法来化简。

这样我们就求得theta的一个具体值。哇???

是的,特殊情况(线性回归)就是能求出来。

结果

不过我们一般都不是这样去直接求得一个theta,而是用梯度下降的方法去慢慢找一个最优的theta。

梯度下降

当我们得到最小二乘法的目标函数之后,我们需要去求什么样的theta可以让这个函数的值是最小的。

屏幕快照 2018-01-19 22.03.28.png

首先,我们可以随意定义一个theta矩阵,比如{1,1,1,1 … ,1} 里面的元素都是1。

然后我们求出现在的目标函数的值是多少。

然后我们更新theta的值,在次求出目标函数的值。这样两次求出的值看谁最小。

当我们更新n次之后,我们可以从这n次里面挑一个能使目标函数的值最小的theta矩阵。

怎么更新theta参数

我们可以先求得在原theta点上,目标函数的导数,数学中,函数在某点的导数就是,函数在这个点上,往下一个方向移动的方向。这样的话我们可以让theta往这个方向上移动一定的距离,得到theta更新后的值。

这个更新一定的距离,我们称为学习率(步长)。

导数需要我们去求,上面的函数中,导数为。

屏幕快照 2018-01-19 22.18.17.png

学习率(步长)我们自己定义, 一般很小,不行就更小。

CodeCogsEqn.gif

alpha为学习率(步长)

梯度下降的常用方式

  • 批量梯度下降: 就是考虑所有的样本,上式中的m为全部样本个数(这样容易得到最优解,但是样本非常多速度非常慢)
  • 随机梯度下降: 就是每次就考虑1个样本,m=1(这样速度快,但是不一定每次都朝着收敛方向移动)
  • 小批量梯度下降: 每次考虑一部分样本,m=10(实用)

逻辑回归

解决问题

逻辑回归解决的是分类问题。

另一个例子,某次考试的成绩出来了,学生们考了2个科目,每个科目的分数为x1和x2,是否通过的结果为y,y的取值为0或1。

预测,下一个人的成绩出来后,能否通过考试?

科目1和科目2对考试结果的影响有多大?

CodeCogsEqn-2.gif

y的取值为0或者1。

思路推理

这里我们引入Sigmoid函数

  • Sigmoid函数
屏幕快照 2018-01-19 22.44.57.png

将y带入函数有:

屏幕快照 2018-01-19 22.54.23.png

我们假设(y==1时)通过考试的概率服从Sigmoid函数的分布,那么没有通过考试(y==0时)的概率就是1减去通过考试的概率。

推理有:

屏幕快照 2018-01-19 22.55.46.png

我们将式子进行整合,当y=0时,只有右边的式子;当y=1时,只有左边的式子,恰好是左边分类任务的情况。这样得一个式子可以表达前面的分类任务的两个式子,这两部分是等价的。

这样,就得到了事件发生的概率函数。

回到了概率问题,我们希望当x的取某个值时,通过和未通过的概率都越大越好(就是概率越接近100%最好),这样才最接近我们现实的情况。

这样就得到似然函数:

屏幕快照 2018-01-19 23.46.28.png

转换为梯度下降任务后求导:

屏幕快照 2018-01-19 23.47.57.png

结果

这样,我们使用梯度下降的方法,先定义一个theta矩阵,

求对数似然函数变换的(损失函数)的值。

然后定义步长,更新theta矩阵,继续求损失函数的值。

从这n次迭代中挑选使损失函数最小的theta矩阵。

屏幕快照 2018-01-19 23.53.10.png

逻辑回归实践

https://github.com/yyllove123/StudyMachineLearning

相关文章

  • 机器学习day7-逻辑回归问题

    逻辑回归 逻辑回归,是最常见最基础的模型。 逻辑回归与线性回归 逻辑回归处理的是分类问题,线性回归处理回归问题。两...

  • 逻辑回归

    逻辑回归 线性回归 to 逻辑回归 本质:逻辑回归的本质就是在线性回归的基础上做了一个非线性的映射(变换),使得算...

  • demo1: Tensorflow实现Linear regres

    Linear Regression 回归主要分为线性回归和逻辑回归。线性回归主要解决连续值预测问题,逻辑回归主要解...

  • 算法概述-02

    1.逻辑回归和线性回归的联系和区别: 逻辑回归和线性回归的都是广义的线性回归。 线性回归是根据最小二乘法来建模,逻...

  • Task 01|基于逻辑回归的分类预测

    知识背景 关于逻辑回归的几个问题 逻辑回归相比线性回归,有何异同? 逻辑回归和线性回归最大的不同点是逻辑回归解决的...

  • 2018-07-04

    线性回归逻辑回归 AI

  • Logistic Regression (逻辑回归)

    概述 逻辑回归与线性回归不同,逻辑回归是用来处理classification的问题的,而线性回归则是真正的回归算法...

  • 逻辑回归算法原理

    一、从线性回归到逻辑回归 首先从线性回归模型出发,线性回归模型的输出值是连续型变量,值域为;逻辑回归的输出值是离散...

  • 通俗地说逻辑回归【Logistic regression】算法(

    在说逻辑回归前,还是得提一提他的兄弟,线性回归。在某些地方,逻辑回归算法和线性回归算法是类似的。但它和线性回归最大...

  • 机器学习浅尝

    建立在有高等数学、线性代数的基础下,可以从线性回归、逻辑回归开始突破。线性回归用于解决预测型问题。逻辑回归用于解决...

网友评论

      本文标题:线性回归、逻辑回归

      本文链接:https://www.haomeiwen.com/subject/vkpaoxtx.html