机器学习——回归

目录

一、线性回归

1、回归的概念(Regression、Prediction)

2、符号约定

3、算法流程

4、最小二乘法(LSM)

二、梯度下降

梯度下降的三种形式

1、批量梯度下降(Batch Gradient Descent,BGD):

2、随机梯度下降(Stochastic Gradient Descent,SGD):

3、小批量梯度下降(Mini-Batch Gradient Descent,MBGD):

 梯度下降与最小二乘法比较

梯度下降:

最小二乘法:

数据归一化/标准化

为什么要标准化/归一化?

归一化(最大 - 最小规范化)

Z-Score标准化

需要做数据归一化/标准化

不需要做数据归一化/标准化

三、正则化

1、过拟合和欠拟合

 2、过拟合的处理

3、 欠拟合的处理

 4、正则化

四、回归的评价指标


一、线性回归

1、回归的概念(Regression、Prediction)

  • 如何预测上海浦东的房价?
  • 未来的股票市场走向?

 线性回归(Linear Regression)是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。

2、符号约定

  • m 代表训练集中样本的数量
  • n 代表特征的数量
  • x 代表特征/输入变量
  • y 代表目标变量/输出变量
  • (x,y) 代表训练集中的样本
  • (x^(i),y^(i)) 代表第i个观察样本
  • ℎ 代表学习算法的解决方案或函数也称为假设(hypothesis)
  • ̂┬y=ℎ(x),代表预测的值

    建筑面积

    总层数

    楼层

    实用面积

    房价

    143.7

    31

    10

    105

    36200

    162.2

    31

    8

    118

    37000

    199.5

    10

    10

    170

    42500

    96.5

    31

    13

    74

    31200

    ……

    ……

    ……

    ……

    ……

x^(i)是特征矩阵中的第i行,是一个向量。

x_j^(i)代表特征矩阵中第 i 行的第 j 个特征

3、算法流程

损失函数(Loss Function):

度量单样本预测的错误程度,损失函数值越小,模型就越好。常用的损失函数包括:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等。

 代价函数(Cost Function):

度量全部样本集的平均误差。常用的代价函数包括均方误差、均方根误差、平均绝对误差等。 

目标函数(Objective Function):

代价函数加正则化项,最终要优化的函数。

x 和 y 的关系:

可以设x_0=1,则

损失函数采用平方和损失:

要找到一组 w(w_0,w_1,w_2,...,w_n) ,

4、最小二乘法(LSM)

要找到一组 w(w_0,w_1,w_2,...,w_n) ,使得残差平方和最小。转为矩阵表达形式,令

 其中X为m行n+1列的矩阵(m为样本个数,n为特征个数),w为n+1行1列的矩阵(包含了w_0),Y为m行1列的矩阵,则 

注:(可由数学推导)

为最小化,接下来对J(w)偏导,

 由于中间两项互为转置:

需要用到以下几个矩阵的求导结论:

二、梯度下降

梯度下降的三种形式

1、批量梯度下降(Batch Gradient Descent,BGD):

梯度下降的每一步中,都用到了所有的训练样本

2、随机梯度下降(Stochastic Gradient Descent,SGD):

度下降的每一步中,用到一个样本,在每一次计算之后便更新参数 ,而不需要首先将所有的训练集求和

3、小批量梯度下降(Mini-Batch Gradient Descent,MBGD):

梯度下降的每一步中,用到了一定批量的训练样本

每计算常数b次训练实例,便更新一次参数 w

b=1(随机梯度下降,SGD)

b=m(批量梯度下降,BGD)

b=batch_size,通常是2的指数倍,常见有32,64,128等。(小批量梯度下降,MBGD)

 梯度下降与最小二乘法比较

梯度下降:

需要选择学习率α,需要多次迭代,当特征数量n大时也能较好适用,适用于各种类型的模型。

最小二乘法:

不需要选择学习率α,一次计算得出,需要计算(X^TX)^−1,如果特征数量n较大则运算代价大,因为矩阵逆的计算时间复杂度为O(n^3),通常来说当n小于10000 时还是可以接受的,只适用于线性模型,不适合逻辑回归模型等其他模型。

数据归一化/标准化

为什么要标准化/归一化?

提升模型精度:不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

加速模型收敛:最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。

归一化(最大 - 最小规范化)

将数据映射到[0,1]区间

数据归一化的目的是使得各特征对目标变量的影响一致,会将特征数据进行伸缩变化,所以数据归一化是会改变特征数据分布的。

Z-Score标准化

处理后的数据均值为0,方差为1

数据标准化为了不同特征之间具备可比性,经过标准化变换之后的特征数据分布没有发生改变。

就是当数据特征取值范围或单位差异较大时,最好是做一下标准化处理。

需要做数据归一化/标准化

线性模型,如基于距离度量的模型包括KNN(K近邻)、K-means聚类、感知机和SVM。另外,线性回归类的几个模型一般情况下也是需要做数据归一化/标准化处理的。

不需要做数据归一化/标准化

决策树、基于决策树的Boosting和Bagging等集成学习模型对于特征取值大小并不敏感,如随机森林、XGBoost、LightGBM等树模型,以及朴素贝叶斯,以上这些模型一般不需要做数据归一化/标准化处理。

三、正则化

1、过拟合和欠拟合

 2、过拟合的处理

1.获得更多的训练数据

使用更多的训练数据是解决过拟合问题最有效的手段,因为更多的样本能够让模型学习到更多更有效的特征,减小噪声的影响。

2.降维

即丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如PCA)。

3.正则化

正则化(regularization)的技术,保留所有的特征,但是减少参数的大小(magnitude),它可以改善或者减少过拟合问题。

4.集成学习方法

集成学习是把多个模型集成在一起,来降低单一模型的过拟合风险。

3、 欠拟合的处理

1.添加新特征

当特征不足或者现有特征与样本标签的相关性不强时,模型容易出现欠拟合。通过挖掘组合特征等新的特征,往往能够取得更好的效果。

2.增加模型复杂度

简单模型的学习能力较差,通过增加模型的复杂度可以使模型拥有更强的拟合能力。例如,在线性模型中添加高次项,在神经网络模型中增加网络层数或神经元个数等。

3.减小正则化系数

正则化是用来防止过拟合的,但当模型出现欠拟合现象时,则需要有针对性地减小正则化系数。

 4、正则化

其中:

  • λ为正则化系数,调整正则化项与训练误差的比例,λ>0。
  • 1≥ρ≥0为比例系数,调整L1正则化与L2正则化的比例。

 图上面中的蓝色轮廓线是没有正则化损失函数的等高线,中心的蓝色点为最优解,左图、右图分别为L1、L2正则化给出的限制。

可以看到在正则化的限制之下, L1正则化给出的最优解w*是使解更加靠近原点,也就是说L2正则化能降低参数范数的总和。  

L1正则化给出的最优解w*是使解更加靠近某些轴,而其它的轴则为0,所以L1正则化能使得到的参数稀疏化。

四、回归的评价指标

均方误差(Mean Square Error,MSE)

均方根误差 RMSE(Root Mean Square Error,RMSE)

平均绝对误差(Mean Absolute Error,MAE)

R方 [RSquared(r2score)] 

越接近于1,说明模型拟合得越好 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/186021.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2023.11.6】OpenAI发布会——近期chatgpt被攻击,不能使用

OpenAI发布会 写在最前面发布会内容GPT-4 Turbo 具有 128K 上下文函数调用更新改进了指令遵循和 JSON 模式可重现的输出和对数概率更新了 GPT-3.5 Turbo 助手 API、检索和代码解释器API 中的新模式GPT-4 Turbo 带视觉DALLE 3文字转语音 (TTS)收听语音样本…

[unity]切换天空盒

序 unity是自带天空盒的: 但有的时候不想用自带的。怎么自定义?如何设置? 官方文档 Unity - Manual: The Lighting window (unity3d.com) 相关窗口的打开方法 天空盒对应的选项 实际操作 从标准材质球到天空盒材质球 新建一个材质球&…

Powerpoint不小心被覆盖?PPT误删文件如何恢复?

PowerPoint不小心删除了,这可能是众多学生和工作人员最头痛的事情了。PPT被覆盖或误删可能意味着几个小时的努力付之东流。那么PPT覆盖的文档要如何救回来呢?小编将会在本篇文章中为大家分享几个解决方案,使PPT文档覆盖还原操作成为可能&…

为什么有的孩子玩着玩着就成了学霸?

毫不夸张地说,几乎所有的父母都想养出聪明宝宝,孩子上学之后能成为学霸就更省心了。 可“聪明”毕竟不能量化,不是说让孩子上几天课就能提升的。很多家长都在促进孩子大脑发育上使足了劲,可到头来却发现是在做“无用功”。 事实…

Linux-命令行命令

注:[]的内容说明是可选的 1.ls ls [-a -l -h] [Linux路径] >如果没有参数,就展示当前工作目录的内容 > -a:all的意思,即列出所有文件(包含隐藏文件/文件夹) > -l:以列表形式展示内容&…

3、Dockerfile 深入与其他细节

Dockerfile 在 Docker 中创建镜像最常用的方式,就是使用 Dockerfile。Dockerfile 是一个 Docker 镜像 的描述文件,我们可以理解成火箭发射的 A、B、C、D…的步骤。Dockerfile 其内部包含了一 条条的指令,每一条指令构建一层,因此每…

代码随想录算法训练营第16天|104. 二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数

JAVA代码编写 104. 二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: …

鸡尾酒学习——原谅(自制)

1、材料:冰块、君度、蓝橙力娇酒、雪碧、橘子。 2、口感:甜味为主带着一丝丝酸味,喝起来比较清爽,没有一丝酒味的小甜酒。(喜欢喝酒的可以多加酒,不喜欢喝酒的可以适量减少酒) 3、视觉效果&…

cookie 里面都包含什么属性?

结论先行: Cookie 中除了名称和值外,还有几个比较常见的,例如: Domain 域:指定了 cookie 可以发送到哪些域,只有发送到指定域或其子域的请求才会携带该cookie; Path 路径:指定哪些…

MySQL:锁机制

目录 概述三种层级的锁锁相关的 SQLMyISAM引擎下的锁InnoDB引擎下的锁InnoDB下的表锁和行锁InnoDB下的共享锁和排他锁InnoDB下的意向锁InnoDB下的记录锁,间隙锁,临键锁记录锁(Record Locks)间隙锁(Gap Locks&#xff0…

彻底删除Ubuntu双系统(联想小新2022)

彻底卸载Ubuntu双系统 以里联想小新pro16 i9-12900h为例子 把开机启动项设为默认Windows启动 以联想电脑为例子,关机后一直点击Fn F2进入Bios把windows启动项移到最上面,这样可以开机默认启动windows了删除ubuntu系统分区 使用磁盘管理软件 DiskGeniu…

【手把手教你】将python程序打包成exe可执行文件

1. 安装环境 pip install pyinstaller6.0.02. 打包文件 pyinstaller -D “要启动的文件名“.py比如我的命令就是:pyinstaller -D eval.py 执行完后,会生两个文件夹dist和bulib两个文件和一个xxx.spec文件 3. 删除生成的文件 删除生成的bulid和dist文…

19、Flink 的Table API 和 SQL 中的内置函数及示例(1)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

JAVA 版小程序商城免费搭建 多商家入驻 直播带货 商城系统 B2B2C 商城源码之 B2B2C产品概述

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

4.移位计算,乘除法运算

目录 一. 移位计算 (1)算数移位 (2)逻辑移位 (3)循环移位 二. 乘法运算 (1)原码的乘法运算 (2)补码的乘法运算 三. 除法运算 (1&#xf…

MySQL -- mysql connect

MySQL – mysql connect 文章目录 MySQL -- mysql connect一、Connector/C 使用1.环境安装2.尝试链接mysql client 二、MySQL接口1.初始化2.链接数据库3.下发mysql命令4.获取执行结果5.关闭mysql链接6.在C语言中连接MySQL 三、MySQL图形化界面推荐 使用C接口库来进行连接 一、…

【无代码】【VR开发】【Unity】【VRTK】4-导入VRTK Tilia Package

【导入VRTK V4】 VRTK的Tilia Package包含了一整套空间开发方案。导入后你可以在PackageManager中看到它们。 所有的Tilia包都可以在如下页面找到: https://www.vrtk.io/tilia.html Tilia包有一个安装器,可以让你仅仅安装需要的包。包的种类很多,按照适用方向分类。 点击H…

关于Web端 —— UI自动化测试

在手工测试阶段,针对项目输出了测试用例,如果这些测试用例需要在版本迭代的过程中,需要进行回归测试,通过手工重复地执行测试用例,将会耗费大量的人力。 为此应运而生就有了自动化测试,通过使用自动化工具…

行情分析——加密货币市场大盘走势(11.7)

大饼昨日下跌过后开始有回调的迹象,现在还是在做指标修复,大饼的策略保持逢低做多。稳健的依然是不碰,目前涨不上去,跌不下来。 以太昨天给的策略,依然有效,现在以太坊开始回调。 目前来看,回踩…

深度学习经典网络:GoogleNet

深度学习经典网络--GoogleNet 1、为什么要提出Inception2、为什么是Inception3、实际中的Inception4、GoogleNet 整体网络结构 GoogLeNet是google推出的基于Inception模块的深度神经网络模型,在2014年的ImageNet竞赛中夺得了冠军,在随后的两年中一直在改…