线性回归模型(Linear regression model)
绪论
在开始之前,先大致说明下机器学习中的一些大的概念及分类。
机器学习中的学习算法很多,包括线性回归、逻辑回归、随机森林、决策树、聚类、贝叶斯等等。但是这些学习算法可以归为两类,即监督学习(supervised learning)和非监督学习(unsupervised learning);如果更加细分的话还有半监督学习。
那么监督学习和非监督学习有什么区别呢,所谓的监督学习就是学习中有训练集,知道输入与输出之间的关系,输入数据有标签,实际上机器学习算法中半数以上的算法属于监督学习,比如逻辑回归、随机森林、神经网络等等;非监督学习中无训练样本,处理的是无标签数据,按照性质自动分组,典型的非监督学习的算法是聚类、主成分分析(PCA)。
监督学习又可以分为两类,一种是回归(regression),另一种是分类(classificetion)。回归的输出值是连续的,下文将结合吴恩达在Coursera上的Machine Learning中的房价预测的例子进行说明;分类是输出值则是离散的,比如垃圾邮件分类,图像识别(输入一张动物的图片,输出这张图片中 的动物到底属于什么,小狗,小猫还是猴子或者其他),分类又分为二分类和多分类,垃圾邮件的分类就是二分类问题,一封邮件要么是垃圾邮件要么是非垃圾邮件,不会存在第三种情况;而图像识别小动物还就是属于多分类的问题。二分类和多分类实际上就是根据输出变量y的取值决定的,如果y取值只能取{0,1},那么这就是二分类问题,如果y取值为{0,1,2,3},每个取值代表不同的情况,比如y= 0时代表小狗,y = 1时代表小猫,y = 2时代表猴子,y= 3 时代表其他,那么这就属于多分类问题。分类是监督学习中的主要研究问题。
本文采用下标表示属性(特征),上标表示样本的标记方法,例如表示第1个属性值(特征值),表示第1个样本,而则表示第i个样本的第j个属性。
假设样本示例有n个属性 ,其中表示在第i个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即
向量的表示形式为:
其中。训练模型的过程就是确定参数和b的过程。是样本中各个属性的权重,的值越大,表示属性i的权重越大,即属性i在预测中越重要。
目录
绪论
线性回归模型
梯度下降法
最小二乘法(least square method)
最小二乘法与梯度下降法的区别
线性回归的应用
线性回归模型
线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记。假设有数据集,这里假设所有样本只有一个属性值,线性回归就是对数据样本进行训练学习得出假设函数,使得 。前面提到,训练模型的过程就是确定参数和b的过程。我们的目的是使训练学习得到的函数和样本的输出标签尽可能的相近,现在问题的关键就是怎么衡量和之间的相近程度。为此,我们有以下定义:
称为代价函数或者均方误差。我们要做的就是找到及,使得最小。 均方误差函数的几何意义:
在上图中蓝线为,X表示是样本点,就是实际输出值和预测值之间的距离和求平均。是为了求导时与平方项2相消。
接下来的就是对求出参数和参数,使得最小,最小化常用的方法有两种:梯度下降法和最小二乘法
梯度下降法
梯度下降法(gradient descent)是一种常用的一阶优化方法,其表达式为
其中为学习参数,为正数,其控制更新参数的幅度。为了方便理解,通过下图进行分析说明,为了简化问题,假设,由的定义知道是关于的二次函数,其几何图像是开口向上的二次抛物线。
假设初始点omega在最优点的右侧即为蓝色的点,绿色的直线表示在点omega处的切线,由图所示,切线斜率为正,则为正,此时有
其中学习参数,,那么,减去一个大于0的数,会使本身减小,也就是说经过一次迭代更新后变小,反应到上面的图像上就是左移,对于来说它是减小的,依次类推,经过多次迭代更新后,初始的会到达黑色点处,这时是最小的,而这时候的就是我们最后想要得到的参数值。我们可以看到,随着值的不断减小,在处的切线斜率也会变小,即减小,如果值不变的话,那么每次迭代更新的幅度会变小。当到达最低点处,在处的切线斜率为0,也就是为0,此时,也就是说不会再更新,会收敛到使得取最小值的点。
同样的,我们假设初始点theta1在最优点的左侧,同样是蓝色的点,如下图:
这时,切线斜率为负数,为负数,,那么,减去一个小于0的数,会使本身增大,也就是说经过一次迭代更新后变大,反映到图像上就是右移,此时对于来说同样是减小的。经过多次迭代更新,会达到使得最小的点处。,同样会在处收敛。
学习参数的选择是梯度下降中一个关键的问题,如果设置的过大,那么经过一次迭代更新后,会直接越过最低值的点,最后不会收敛,如果的值太小,那么每次更新的幅度会很小,会导致梯度下降的速度变的很慢。一般情况下取值会在0.01-1之间,最常用的值为0.1。
上面是在简化了的情况下进行的说明。那么在更一般的情况下,同样也是可以的。
一个样本可能有很多特征,以吴恩达老师在Coursera上房价预测为例,输入变量(也称特征向量)x的特征可能包括房子的面积、房子所在的楼层、房子的地段等等,这些特征共同决定了样本的输出变量(也称目标变量)y,其实也就是房子的价格。当一个样本中的特征比较多时,那么特征之间的范围如果差距比较大,会使得梯度下降的速度减慢。那么怎么解决这个问题呢,可以使用特征缩放(feature scaling)的方法,最常用的特征缩放是均值归一化(mean normalization),这会把特征控制在大致相同的范围。
其中表示第i个特征变量,为第i个特征的平均值,为第i个特征值的标准差。实际上,特征缩放属于特征工程中的内容,以后会写有关特征工程相关的内容。
最小二乘法(least square method)
代价函数实际上是多元函数,在无约束条件下最小化多元函数这种问题在高数下册“多元函数微分学”一章中学过,最小二乘法实际上就是我们比较熟悉的把函数对各个变量求偏导数,然后令其为0,最后解出和b。
其中X为矩阵:
,其中。最小二乘法的详细推导过程在周志华老师的西瓜书中有,这里不做详细说明。
最小二乘法与梯度下降法的区别
作为最小化代价函数的两种常用方法,什么时候使用最小二乘法,什么时候使用梯度下降法呢,那么我们需要对这两种方法进行对比。
方法 | 优点 | 缺点 | 复杂度 |
梯度下降法 | 当特征数较多时,工作效率高 | 需要选择学习参数;需要多次迭代 | |
最小二乘法 |
不需要特征缩放 不需要选择学习参数 不需要迭代 |
当特征数n比较大时,运行速度慢 |
通常在线性回归模型中一般使用梯度下降的方法最小化代价函数。
线性回归的应用
为了方便理解理论知识,以梯度下降的方法为例,使用的是吴恩达老师房价预测的例子。对代价函数进行最小化。本例使用的是Python编写。
下图是线性模型拟合离散的数据点的可视化结果
下图是迭代次数与代价函数之间的函数关系,可以看到当迭代次数到200次左右的时候,代价函数就几乎不再下降。
下图是一个三维图形,曲面高度表示的大小,可以看到位置处对应的值最小
下图是二维轮廓图,类似于地理中的等高线,可以看到在最低处,。
参考文献:
1、吴恩达老师在Coursera上的Machine Learning课程 https://www.coursera.org/learn/machine-learning
2、周志华老师《机器学习》
线性回归模型(Linear regression model)相关推荐
- 机器学习之单变量线性回归(Linear Regression with One Variable)
机器学习之单变量线性回归(Linear Regression with One Variable) 1. 模型表达(Model Representation) 我们的第一个学习算法是线性回归算法,让我 ...
- 机器学习-线性回归(Linear Regression)
目录 1.什么是线性回归 2. 能够解决什么样的问题 3. 一般表达式是什么 4. 如何计算 4.1 Loss Function--MSE 4.2 标准方程方法 5. 过拟合问题如何解决 5.1 什么 ...
- 线性回归(Linear Regression)和最小二乘法(ordinary least squares)
下面是对Andrew Ng的CS229机器学习课程讲义note1做的一部分笔记,按照自己的理解,对note1进行部分翻译,英文水平和知识水平不够,很多认识都不够深刻或者正确,请大家不吝赐教! 一.基本 ...
- AI(006) - 笔记 - 回顾线性回归(Linear Regression)
线性回归(Linear Regression) 之前并未做过笔记,所以这篇文章是对线性模型的回顾,对应: 第一周:(06)1.6 线性回归模型 第一周:(07)1.6 线性回归模型-优化算法 第一周: ...
- R语言基于线性回归(Linear Regression)进行特征筛选(feature selection)
R语言基于线性回归(Linear Regression)进行特征筛选(feature selection) 对一个学习任务来说,给定属性集,有些属性很有用,另一些则可能没什么用.这里的属性即称为&qu ...
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
机器学习之多变量线性回归(Linear Regression with multiple variables) 1. Multiple features(多维特征) 在机器学习之单变量线性回归(Lin ...
- 机器学习实战(七)线性回归(Linear Regression)
目录 0. 前言 1. 假设函数(Hypothesis) 2. 标准线性回归 2.1. 代价函数(Cost Function) 2.2. 梯度下降(Gradient Descent) 2.3. 特征缩 ...
- 机器学习经典算法---线性回归(Linear Regression)算法
线性回归(Linear Regression)算法 一.对于回归的理解 1.回归的定义 2.多元线性回归 3.广义线性回归 二.线性回归方程的求解 1.一般情况下为什么要用最小二乘法作为性能度量而不是 ...
- 线性回归(Linear regression)算法
归类:属于有监督学习.判别模型.有预测函数.有优化目标,有优化求解算法 应用:股票价格预测(依据过去的数据预测将来的状态) 分类: 回归按照输入变量的个数可分为:一元回归和多元回归 按照输入变量和输出 ...
最新文章
- Ubuntu13.04下使用dnw
- gabor小波matlab,用matlab实现gabor小波对图片的纹理特征提取【转】
- 未能加载文件或程序集或它的某一个依赖项_手写一个miniwebpack
- 在方法参数上使用final关键字
- 计算机专业刚毕业本科生,计算机专业应届本科毕业生自我鉴定
- 「leetcode」37. 解数独【回溯算法】详细图解!
- java中事物的注解_JAVA中对事物的理解
- 如何理解APS系统的生产排程?
- Catalent康泰伦特上海外高桥临床供应中心扩建温控产能;富士胶片发布2021财年第三季度财报 | 医药健闻...
- 世界坐标系、相机坐标系、图像坐标系、像素坐标系
- MyEclipse共享项目到SVN服务器 .
- U盘为什么出现0字节?如何解决U盘0字节
- 任正非带领华为三分天下的7大杀招
- 注册中心原理和选型:Zookeeper、Eureka、Nacos、Consul和Etcd
- Pinia——Actions
- 【小技巧】STA静态时序分析概述
- C语言实现24点小游戏
- 驴妈妈旅游菜单导航带源码
- table合并单元格 colspan(跨列)和rowspan(跨行)
- HTML + CSS 实现猫眼电影静态页面
热门文章
- Unity手机震动,Unity -> android 震动
- FPGA设计中,产生LFSR伪随机数
- java tooltip_案例-Swing使用ToolTip
- echarts 修改tooltip字体大小
- MPEG-2压缩编码技术原理应用
- [林达华]介绍几本数学书
- 刘鹏飞_2022_reStructured Pre-training
- 定义一个点类(Point)、圆类(Circle)和圆柱体类(Cylinder)的层次结构。圆包括圆心和半径两个数据成员,圆心具有点类的所有特征。圆柱体类由半径和高构成。要求各类提供支持初始化的构造函数
- MATLAB识别实验,Matlab在图像处理与目标识别方面的应用实验
- 海量向量搜索引擎 Milvus 开源啦