作者:陈浩然,北京大学大二在读,专业智能科学。想了解她的更多文章,

请访问:博客:https://braverychr.github.io/

知乎专栏:https://zhuanlan.zhihu.com/MLstudy

更多关注微信公众号:Python与机器学习算法频道

  1. 线性模型

我们说到,机器学习中主要的两个任务就是回归和分类。如果读者有高中数学基础,我们很容易回忆到我们高中学习过的一种回归方法——线性回归。我们将这种方法泛化,就可以得到机器学习中的一种常见模型——线性模型,线性模型是监督学习的一种。

我们已经说过,我们要从数据集中训练出模型,每个数据可以视为(属性,标签)二元组。其中属性可以为属性向量。

假设给定具有n个属性的属性向量的数据 , 我们利用属性的线性组合来进行预测,即

可以表达为:其中 ,w 和 b 就是该模型中我们要求的参数,确定 w 和 b,该模型就得以确定。我们将这样的模型称为线性模型,不得不提的是,线性模型并不是只能进行线性分类,它具有很强的泛化能力,我们后面会提到。

2.属性转换


在进行建模之前,我们要先对数据集进行处理,使得其适合进行建模。我们注意到,在线性模型中,属性值都是实数,那么会出现以下两种需要进行转化的情况:

  • 属性离散,但是有序关系(可以比较)。例如身材的过轻,正常,肥胖,过于肥胖,可以被编码为 -1,0,1,2,从而转化为实数进行处理。

  • 属性离散,但是无序关系(不可比较)。例如国籍的中国人,美国人,日本人。我们可以将取值有 k 种的值转化为 k 维向量,如上例,可以编码为 (1,0,0),(0,1,0), (0,0,1), (1,0,0), (0,1,0), (0,0,1)。

3.单变量逻辑回归


如果中 n = 1,此时 x 为一个实数,线性回归模型就退化为单变量线性回归。我们将模型记为:

其中 w, x, b 都是实数,相信这个模型大家在高中都学习过。在这里我们有两种方法求解这个模型,分别是最小二乘法梯度下降法

我们先定义符号,xi 代表第 i 个数据的属性值,yi 是第 i 个数据的标签值(即真值),f 是我们学习到的模型,f(xi)即我们对第 i 个数据的预测值。

我们的目标是,求得适当的 w 和 b,使得 S 最小,其中 S 是预测值和真值的差距平方和,亦称为代价函数

其中的 1/n 只是将代价函数值归一化的系数。,当然代价函数还有很多其他的形式。

4.最小二乘法


最小二乘法不是我们在这里要讨论的重点,但也是在很多地方会使用到的重要方法。最小二乘法使用参数估计,将 S 看做一个关于 w 和 b 的函数,分别对 w 和 b 求偏导数,使得偏导数为0,由微积分知识知道,在此处可以取得 S 的最小值。由这两个方程即可求得 w 和 b 的值。

求得             

其中y¯,x¯分别是 y 和 x 的均值

5. 梯度下降


我们刚刚利用了方程的方法求得了单变量线性回归的模型。但是对于几百万,上亿的数据,这种方法太慢了,这时,我们可以使用凸优化中最常见的方法之一——梯度下降法,来更加迅速的求得使得 S 最小的 w 和 b 的值。

S可以看做 w 和 b 的函数 S(w,b),这是一个双变量的函数,我们用 matlab 画出他的函数图像,可以看出这是一个明显的凸函数。

梯度下降法的相当于我们下山的过程,每次我们要走一步下山,寻找最低的地方,那么最可靠的方法便是环顾四周,寻找能一步到达的最低点,持续该过程,最后得到的便是最低点。

对于函数而言,便是求得该函数对所有参数(变量)的偏导,每次更新这些参数,直到到达最低点为止,注意这些参数必须在每一轮一起更新,而不是一个一个更新。
过程如下

需要说明以下几点:

  • 如果a过小,那么学习的时间就会很长,导致算法的低效,不如直接使用最小二乘法。

  • 如果a过大,那么由于每一步更新过大,可能无法收敛到最低点。由于越偏离最低点函数的导数越大,如果a过大,某一次更新直接跨越了最低点,来到了比更新之前更高的地方。那么下一步更新步会更大,如此反复震荡,离最佳点越来越远。以两种情况如下图所示

:                                               

  • 我们的算法不一定能达到最优解。如上图爬山模型可知,如果我们初始位置发生变化,那么可能会到达不同的极小值点。但是由于线性回归模型中的函数都是凸函数,所以利用梯度下降法,是可以找到全局最优解的,在这里不详细阐述。

北大才女笔记:这样学习线性回归和梯度下降(上篇)相关推荐

  1. 用懊悔法学习吴恩达机器学习【2】-----线性回归的梯度下降

    以下英文文档皆出自课程配套笔记 课9 代价函数二 这一课时考虑使用两个参数来描述代价函数.此时等价函数是一个碗形,碗底点为最小值,将碗形用等高线表示,等高线中心就是代价函数的最小值.所以距离等高线中心 ...

  2. 机器学习01-定义、线性回归、梯度下降

    目录 一.定义 What is Machine Learning 二.建模 Model Representation 三.一元线性回归 Linear Regression with One Varia ...

  3. 【机器学习基础】线性回归和梯度下降的初学者教程

    作者 | Lily Chen 编译 | VK 来源 | Towards Data Science 假设我们有一个虚拟的数据集,一对变量,一个母亲和她女儿的身高: 考虑到另一位母亲的身高为63,我们如何 ...

  4. 机器学习第4天:线性回归及梯度下降

    文章目录 一.简单线性回归(即一元线性回归) 二.代价函数 数学表达式: 代码实现: 实例说明 三.梯度下降 数学表达式: 具体方法 代码实现: 代价随迭代次数的变化 一.简单线性回归(即一元线性回归 ...

  5. 李宏毅《机器学习》笔记:3.误差分析和梯度下降

    参考文章: 梯度下降:https://www.bilibili.com/video/BV1Tr4y1N7Lh 梯度下降优化:https://www.bilibili.com/video/BV1r64y ...

  6. 线性回归(梯度下降)2021-04-16

    线性回归(+gradient desent) 线性回归 基本思想 1,线性回归 1.1线性回归概念 1.2 回归参数的求解方法 1.21 最小二乘法(least square method 2.211 ...

  7. 吴恩达机器学习(六)线性回归的梯度下降

    文章目录 1.先导知识 2.线性回归的梯度下降 1.先导知识 之前学习的内容: 2.线性回归的梯度下降 我们要做的是将梯度下降法应用到最小化平方差代价函数, 我们解决过的梯度下降问题之一就是它容易陷入 ...

  8. 线性回归实现——梯度下降

    文章目录 线性回归实现 实验数据: 实现结果: 算法流程: 代码实现: 线性回归实现 y=ax+by = ax + by=ax+b x,y 是向量,a,b是标量 梯度下降法: a=a−α∂cost∂a ...

  9. 梯度下降的线性回归用python_一元线性回归和梯度下降的python代码实现

    一元线性回归和梯度下降的python代码实现 2020-08-05 23:49 阅读数 9 import numpy as np import matplotlib.pyplot as plt imp ...

最新文章

  1. PHP--isset()和unset()函数的用法
  2. yii框架学习(五)get、post请求如何接收请求参数
  3. android图像处理(3)底片效果
  4. centos7设置密码策略_Linux系统设置复杂密码策略方法总结
  5. 辛巴巴巴鲁比啦音乐计算机版,辛巴巴巴鲁给啦是什么歌 辛巴巴巴鲁比啦歌曲介绍...
  6. sql 注入 相关函数
  7. 只有汇编能告诉你为什么
  8. 修改tomcat端口号、编码
  9. Unreal、CryEngine、Gamebryo引擎介绍
  10. 9个项目助你在2020年成为前端大师!
  11. MFC的非模态对话框资源管理
  12. java.sql.SQLSyntaxErrorException: Unknown column ‘###‘ in ‘field list‘
  13. jsf集成spring_Spring JSF集成
  14. tar -xf_【图】兼具优雅与运动 抢先实拍改款捷豹XF
  15. linux硬链接与软链接的联系与区别
  16. 河北画报杂志河北画报杂志社河北画报编辑部2022年第20期目录
  17. 【数据库系统】C#窗体应用显示用户sa登录失败
  18. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)
  19. Launcher图标角标
  20. 亲测bitLock再次上锁方法

热门文章

  1. GAN介绍 - 相关研究课题
  2. Python爬虫网络请求 requests(get、post)
  3. FPGA接口-PMOD,FMC与SYZYGY
  4. Java学习路程1—— 一篇合理的笔记
  5. 卖罐头(冬季每日一题 32)
  6. STM32F103驱动HCSR04超声波测距显示
  7. 查询选修了95002选修的全部课程的学生学号。
  8. 爱的时候,好好爱(转)
  9. php里面的箭头怎么打出来,PHP打印左右箭头图案的实现方法(代码示例)
  10. 2022年双十一百亿补贴,2022年聚划算双11玩法解读