从0开始深度学习(4)——线性回归概念

1 线性回归

回归(regression)指能为一个或多个自变量与因变量之间的关系进行建模。

1.1 线性模型

线性假设是指目标可以表示为特征的加权和,以房价和面积、房龄为例,可以有下面的式子:
在这里插入图片描述
w称为权重(weight)
b称为偏置(bias)、偏移量(offset)或截距(intercept)
给定一个数据集,我们的目标是寻找模型的权重和偏置, 使得根据模型做出的预测大体符合数据里的真实价格。

1.2 损失函数

在我们开始考虑如何用模型拟合(fit)数据之前,我们需要确定一个拟合程度的度量。损失函数(loss function)能够量化目标的实际值与预测值之间的差距。 通常我们会选择非负数作为损失,且数值越小表示损失越小,完美预测时的损失为0。

常用的损失函数:

  • 均方误差(Mean Squared Error, MSE):主要用于回归问题。
  • 交叉熵损失(Cross-Entropy Loss):常用于分类问题。
  • 绝对误差(Mean Absolute Error, MAE):用于回归问题。
  • 铰链损失(Hinge Loss):主要用于最大间隔分类器如支持向量机(SVM)。
  • 指数损失(Exponential Loss):用于分类问题。
  • Huber 损失(Huber Loss):结合了 MSE 和 MAE 的优点,在误差较小时类似于 MSE,误差较大时类似于 MAE。
  • Kullback-Leibler 散度(KL Divergence):用于衡量两个概率分布之间的差异

1.3解析解

解析解(Analytical Solution) 是指通过数学公式直接计算得到的最佳拟合参数的方法,而不是通过迭代优化算法来逐步逼近最优解。

1.4 随机梯度下降

在我们无法得到解析解的情况下,我们用到一种名为梯度下降(gradient descent) 的方法, 这种方法几乎可以优化所有深度学习模型, 它通过不断地在损失函数递减的方向上更新参数来降低误差。

简单的用法是计算损失函数关于模型参数的导数,但实际中的执行可能会非常慢,因此,我们通常会在每次需要计算更新的时候随机抽取一小批样本, 这种变体叫做小批量随机梯度下降(minibatch stochastic gradient descent)

在每次迭代中,我们首先随机抽样一个小批量B (batch size) , 它是由固定数量的训练样本组成的。,然后,我们计算小批量的平均损失关于模型参数的导数(也可以称为梯度)。 最后,我们将梯度乘以一个预先确定的正数n (learning rate),并从当前参数的值中减掉。

算法的步骤如下:
(1)初始化模型参数的值,如随机初始化;
(2)从数据集中随机抽取小批量样本且在负梯度的方向上更新参数,并不断迭代这一步骤。

事实上,更难做到的是找到一组参数,这组参数能够在我们从未见过的数据上实现较低的损失, 这一挑战被称为泛化(generalization)。

4.5 用模型进行预测

2 矢量化加速

矢量化(Vectorization)是一种编程技术,通过将操作应用于整个数组或矩阵,而不是单独的元素,从而提高代码的执行效率。

在训练我们的模型时,我们经常希望能够同时处理整个小批量的样本。 为了实现这一点,需要我们对计算进行矢量化, 从而利用线性代数库,而不是在Python中编写开销高昂的for循环。

例如使用Numpy模块对计算两个数组的点积

3 正态分布与平方损失

4 从线性回归到深度网络

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

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

相关文章

一款可以替代Notepad++的免费高级文本编辑器

Kate 文本编辑器是一款跨平台的免费高级文本编辑器,具有丰富的功能和特性。它支持标签页、代码高亮、多文件查找、垂直/水平视图、侧边栏、颜色主题等特性,类似于Notepad。它以其多功能性和易用性广受好评。Kate 支持多文档界面(MDI&#xff…

单片机工程师:创新与挑战之路

摘要:本文全面深入地探讨了单片机工程师这一职业角色。详细阐述了单片机工程师的职责范围、所需技能,包括硬件设计、软件编程、调试与测试等方面。分析了单片机在不同领域的应用,如工业控制、消费电子、智能家居等。同时,探讨了单…

DORIS - DORIS行存编码格式JSONB

是什么? JSONB(JavaScript Object Notation Binary)是PostgreSQL、MySQL数据库中的一种数据类型,用于存储和查询JSON数据。它提供了在数据库中存储和操作JSON数据的能力,使得数据库能够更好地处理半结构化数据。JSONB是一种半结构化的数据雷…

天洑参加“船舶与海洋工程智能设计理论及方法”学术研讨会议

2024年8月23-24日,由武汉理工大学举办的“船舶与海洋工程智能设计理论及方法”学术研讨会议在武汉召开,南京天洑软件有限公司受邀参加。 会上中国工程院院士 中国舰船研究设计中心研究员 首席技术专家徐青、中国舰船研究设计中心副所长谢伟研究员、华中…

探索不同类型的博客:从个人分享到商业推广

在如今的信息时代,博客已成为许多人分享观点、交流经验和获取信息的重要平台。然而,博客的形式多种多样,针对不同的目的和读者群体,有各种各样的博客类型。下面,我将带你了解几种主要的博客类型,以及它们各…

【Linux】Ubuntu 安装 NFS 步骤详解

Ubuntu 安装 NFS 步骤详解 1.安装 NFS 服务2.配置 NFS 服务3.启用 NFS 服务4.客户端挂载 NFS 共享目录5.验证挂载是否成功6.持久化挂载(可选)7.其他客户端节点安装 NFS(Network File System)是一种允许不同主机之间通过网络共享文…

[论文笔记] t-SNE数据可视化

pip install matplotlib scikit-learn sentence-transformers数据分类别可视化 t-SNE算法将高维数据映射到2D空间后的坐标。 t-SNE是一种用于数据降维和可视化的技术,它的作用是将原本在高维空间中的复杂数据压缩到低维空间,同时尽可能保留数据点之间的距离关系。 举例: h…

智能对决:提示词攻防中的AI安全博弈

智能对决:提示词攻防中的AI安全博弈 在2024年上海AIGC开发者大会上,知名提示词爱好者工程师云中嘉树发表了关于AI提示词攻防与安全博弈的精彩演讲。他深入探讨了当前AI产品的安全现状,提示词攻击的常见手段及其应对策略。本文将对他的演讲进…

Mapmost让你实现地图标注自由

最近在勤勤恳恳(moyuhaushui)搬砖之余,偶然间看到一个在线古籍图书馆,虽然对文言文阅读的心理障碍不亚于英文阅读理解,但网站中有很多历史图集还是引起了兴趣。比如这幅《水经注图》,顺藤摸瓜的瞧&#xff…

C++入门9——list的使用

目录 1.什么是list? 2.list的构造 3.list迭代器的使用(list iterator) 4.list capacity 5.list modifiers 6.list的其他操作 1.什么是list? 在官网中,对list有这样的介绍: Lists are sequence co…

虚拟机的安装-详细教程

目录 新建虚拟机 选择典型 安装操作系统 选择CentOS7 64位版本 虚拟机存放位置 磁盘容量 完成 编辑虚拟机 修改内存大小 设置处理器个数 选择镜像 开启虚拟机 进入界面,回车 选择语言 安装类型 磁盘分区 开启网络 设置密码和用户 重启 接受许可…

基于Java语言的光伏运维管理系统

背景 ‌光伏发电系统主要由‌‌太阳电池板(组件)、‌控制器和‌逆变器‌三大部分组成,主要部件由电子元器件构成。此外,光伏发电系统还包括‌变压器、‌光伏方阵以及相关辅助设施等。‌ 光伏发电系统是利用光伏电池的光生伏特效应…

集成电路学习:什么是PCB印刷电路板

一、PCB:印刷电路板 PCB,全称为Printed Circuit Board,即印刷电路板,是现代电子设备中不可或缺的基础构件。它作为电子元器件的载体和连接体,在电子设备中发挥着至关重要的作用。以下是对PCB的详细解析: 二…

Linux操作系统 :文件管理(实验报告)

一、实验目的 熟练掌握Shell特性和文件管理命令的使用方法 二、实验环境 硬件:PC电脑一台,网络正常; 配置:win10系统,内存大于8G 硬盘500G及以上 软件:VMware、Ubuntu16.04、 三、实验内容 Linux的文件…

[000-01-008].Seata案例应用

业务说明:这里我们创建三个服务,一个订单服务,一个库存服务,一个账户服务。当用户下单时,会在订单服务中创建一个订单,然后通过远程调用库存服务来扣减下单商品的库存;再通过远程调用账户服务来…

《‌黑神话:‌悟空》‌游戏攻略‌

时光荏苒,岁月如梭,不知不觉已经来到了2024年的9月份了。 ‌突然想写一篇关于《‌黑神话:‌悟空》‌的游戏攻略‌。 在《‌黑神话:‌悟空》‌这款以中国古代名著《‌西游记》‌为背景的动作角色扮演游戏中,‌玩家将扮…

Ubuntu环境的MySql下载安装

下载压缩包 此文章下载的mysql版本位5.7.29 sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar解压缩 sudo tar -xvf mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar命令解释 -x:…

【专题】2024全球电商消费电子市场研究报告合集PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p37552 在如今数字经济蓬勃发展的大环境下,电商行业正以前所未有的迅猛之势,对全球商业版图进行着深刻的重塑。据 Stocklytics 发布的有关全球电商市场价值及未来增长趋势的专项调查报告显示,2024…

Tauri应用开发实践指南(5)—Tauri 集成本地数据库

本文首发于微信公众号:前端徐徐。欢迎关注,获取更多前端技能分享。 前言 Tauri 是一个构建跨平台桌面应用程序的框架,利用 Web 技术构建前端,并使用 Rust 构建后端。它以其小巧的体积和高性能受到开发者的欢迎。在开发过程中&am…

【装包测试】Android应用权限授权小技巧

一、前言 大家在日常测试中,每次新安装应用或游戏都有一些前置的权限设置需要点击,但在不同的Android设备上的同意按钮都不完全相同,如果需要提高脚本的通用性以及复用性我们应该怎么办呢?那我们本周就一起来探讨一下这个问题吧~…