当前位置: 首页 > news >正文

3.线性神经网络----动手学深度学习

线性回归的从0开始实现

随机梯度下降

小批量随机梯度下降
在每次迭代中,我们首先随机抽样一个小批量 B \mathcal{B} B, 它是由固定数量的训练样本组成的。 然后,我们计算小批量的平均损失关于模型参数的导数(也可以称为梯度)。 最后,我们将梯度乘以一个预先确定的正数 η \eta η,并从当前参数的值中减掉。
在这里插入图片描述
批量大小和学习率的值通常是手动预先指定,而不是通过模型训练得到的。 这些可以调整但不在训练过程中更新的参数称为超参数(hyperparameter).
调参(hyperparameter tuning)是选择超参数的过程。 超参数通常是我们根据训练迭代结果来调整的, 而训练迭代结果是在独立的验证数据集(validation dataset)上评估得到的。
用未包含在训练数据中的数据来测试模型的时候叫预测or推理

高斯分布

在这里插入图片描述

import math
import time 
import numpy as np 
import torch
from d2l import torch as d2l
def normal(x, mu, sigma):
    p = 1/math.sqrt(2 * math.pi * sigma**2)
    return p * np.exp(-0.5 / sigma**2 * (x - mu)**2)
# 再次使用numpy进行可视化
x = np.arange(-7, 7, 0.01)

# 均值和标准差对
params = [(0, 1), (0, 2), (3, 1)]
d2l.plot(x, [normal(x, mu, sigma) for mu, sigma in params], xlabel='x',
         ylabel='p(x)', figsize=(4.5, 2.5),
         legend=[f'mean {mu}, std {sigma}' for mu, sigma in params])

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上就是为了说从概率的角度来看最小二乘,当 σ \sigma σ为一个定值时,最小化 ( y − y ˆ ) 2 (y-\^{y})^2 (yyˆ)2就是最小化 − l o g P ( y ∣ X ) -logP(\bf{y}|\bf{X}) logP(yX)

torch.Tensor.detach()

detach():从计算图中脱离出来
参考博客

相关文章:

  • 搭建zabbix4.4.6以及企业微信告警功能实现
  • 文件输入与输出io
  • SpringBoot整合Docker实现一次构建到处运行
  • 程序员眼中的Linux操作系统——初识指令
  • process.env.NODE_ENV与@vue/cli-service及其.env.*默认外部环境配置文件之跨域部署
  • MySQL:用户权限和语言接口
  • 2022年广西壮族自治区中职网络安全技能竞赛“Linux操作系统渗透测试详解”
  • 沉睡者 - 抖音中视频计划横版16:9视频制作教程
  • 强大的包管理器Poetry
  • MFC Windows 程序设计[304]之文件夹的枚举(附源码)
  • 【ArcGIS微课1000例】0033:地图点状标记符号设计教程
  • 神经网络中的算法-BN算法
  • SpringBoot接收参数的几种常用方式
  • Linux--权限
  • ESP32上手指南
  • CSS居中完全指南——构建CSS居中决策树
  • Java,console输出实时的转向GUI textbox
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Javascript弹出层-初探
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • python大佬养成计划----difflib模块
  • Theano - 导数
  • vue自定义指令实现v-tap插件
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 欢迎参加第二届中国游戏开发者大会
  • 开源SQL-on-Hadoop系统一览
  • 批量截取pdf文件
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 首页查询功能的一次实现过程
  • 走向全栈之MongoDB的使用
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Note)C++中的继承方式
  • (定时器/计数器)中断系统(详解与使用)
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)jdk与jre的区别
  • (转)大道至简,职场上做人做事做管理
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET/C# 使用反射注册事件
  • .NET6实现破解Modbus poll点表配置文件
  • .net打印*三角形
  • .NET框架
  • .NET值类型变量“活”在哪?
  • @FeignClient注解,fallback和fallbackFactory
  • @RequestMapping 的作用是什么?
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [BUUCTF 2018]Online Tool
  • [CSS]CSS 的背景