线性模型到神经网络

在这里插入图片描述

🚀 在初始神经网络那一节(链接如下:初始神经网络)的最后,我们通过加大考虑的天数使得我们最后得到的模型Loss最终停留在了0.32k,当我们在想让模型更加准确的时候,是做不到的,因为我们使用的是线性模型(liner model);接下去我们一起探索将如何进一步优化。

1)线性模型也许太过于简单

由于使用的函数都是线性的,所以我们不管怎么调节b和w,最后得到的都仅仅只是不同的线性模型,显然线性模型是不能满足要求的,因为通过2017-2020年数据可知,有些天数的观看人数并不是呈现一个简单的比例关系变化,所以线性模型也许太过于简单了。
在这里插入图片描述

模型过于简单从而导致准确率提不上来,这被称之为model bias ,所以需要一些跟加灵活的函数。就如下图所示的红色线所示,其变化趋势有的天数可能成正比,有的天数可能成反比,那我们该如何得到这种红色的函数呢?
在这里插入图片描述

其实,可以将红色的函数看成是constant + sum of blue curve,该如何理解怎么加的呢,如下图所示

在这里插入图片描述

  • 0号线也就是constant
  • 1号线拟合第一段
  • 2号线拟合第二段
  • 3号线拟合第三段

所以可以通过一系列的蓝色线相加来得到最后结果,即最后的红色curve,那又如何得到这些不同的蓝色线呢?这个问题后面讲到。 所以说按道理来说,对于任何一条线(piecewise liner curve)。我们都可以通过一系列的蓝色线条(blue curve)组合来得到,可是也许有人会说,那对于完全曲线类型的函数我们又该如何拟合呢?

只需要在这些曲线( beyond piecewise liner curve )上取点,通过两点的连线,也可以很好的拟合出来曲线。
在这里插入图片描述

2)如何去得到各种各样的蓝色线条

在这里插入图片描述
对于上图的蓝色函数我们都可以通过下面的函数(sigomid函数)来进行拟合得到,只要改变不同的b和w的只值,我们就可以得到不同的蓝色函数线条。
在这里插入图片描述

具体看下不同的b和w如何影响蓝色线的形状:

  • 不同的w,可以看出来改变的是其线条的坡度
  • 不同的b,是将线进行的平移
  • 不同的c,是改变了线条的范围大小

在这里插入图片描述
所以各种各样的蓝色线可以通过sigmoid函数拟合得到,而只需要将函数写成多个蓝色函数和的形式就可以得到一个比较灵活的函数,而不会像liner model一样看上去那么的不可靠。
在这里插入图片描述
在之前我们是使用前一天的直接预测下一天的线性模型进行预测,由于存在model bias ,所以现在改用跟加灵活的函数;

  • 其中 x 1 x_1 x1是输入的特征,也就是前一天的观看量
  • 其中 b i b_i bi c i c_i ci w i w_i wi都是未知参数,是改变sigmoid函数的参数
  • 其中将isigmoid函数变换后的函数相加,因为我们也具体不知道对于拟合一个函数,需要几个蓝色函数相加合适
  • 其中 b b b也是未知参数,用于调节整体的误差。

在这里插入图片描述

在这里我们再次将考虑前一天的变成考虑前三天的观看量,最开始使用线性模型是: y = b + ∑ j w j x j y=b+\sum\limits_{j}w_jx_j y=b+jwjxj,现在为了让这个线性模型变得更加灵活,将其加到sigmoid函数中去,就可以让最后拟合的结果变得十分灵活。
在这里插入图片描述

也许这样看这这个式子很抽象,我们可以一步一步来看看他是如何进行的,在进行之前我们还是需要重新回忆一下这个式子中的参数都是什么

  • x j x_j xj是输入的特征,表示有j个特征被输入,也就是有前j天的观看数据被输入
  • w i j w_{ij} wij为什是ij呢,其中i表示第i种蓝色曲线,即 w i j w_{ij} wij表示在第i种蓝色曲线下其这j种特征分别对应的权重值。
  • b i b_i bi w i j w_{ij} wij都是未知参数,其真实目的是调节sigmoid函数的形状
  • b b b是整体函数的偏移量

在这里插入图片描述
对于三个特征的输入,首先来计算第一条被拟合的蓝色curve ,因该是先写出其线性表达式,将其放入sigmoid函数中,其就会具有灵活性而拟合出来所需要的蓝色曲线,先来写出其线性函数,即如下: r 1 = b 1 + w 1 1 x 1 + w 1 2 x 2 + w 1 3 x 3 r_1=b_1+w_11x_1+w_12x_2+w_13x_3 r1=b1+w11x1+w12x2+w13x3再将这个这个线性函数放入sigmoid函数得到第一个蓝色curve1,同样依次可以得到蓝色curve2,蓝色curve3
在这里插入图片描述
也就是上图所说的 a 1 a 2 a 3 a_ 1a_2a_3 a1a2a3在分别乘上 c 1 c 2 c 3 c_ 1c_2c_3 c1c2c3在将这三条蓝色curve相加再加上 b b b就得到了最后的 y y y

其实上面的函数可以通过矩阵的方式如下表示出来 r = b + w x r=b+wx r=b+wx
在这里插入图片描述
再将r放入sigmoid函数,也就得到了使用矩阵表示的函数,如下所示。
在这里插入图片描述

同样的,我们现在仅仅是将函数的表达式给写了写了出来,函数中的未知参数同样需要求解出来。

3)求解参数

求解参数这里依然采用梯度下降的方法,为了求偏导和表示方便,统一将参数写成一个矩阵 θ \theta θ
在这里插入图片描述
其梯度下降求解的过程一样,建立Loss函数,对其分别求偏导,梯度下降,就如下图所示,直到得到最优解。
在这里插入图片描述

4)batch和epoch

我们在计算Loss的时候,我们是尝试将所有已知的训练数据算一个损失,然后根据这个损失函数求偏导计算偏导值,然后根据偏导值,决定未知参数的更新方向;当开始使用batchepoch的时候,不再计算整个训练数据集的损失,接着往下看他是怎么进行的。

对于一个完整的数据集,将其随机分成几个等大小的数据集简称一个batch,再计算Loss的时候,就只将一个batch中的损失求和,求偏导,更新参数;进行第二次参数更新的时候,就选择下一个batch,进行更新参数。每次使用一个batch更新一次参数称为一个updata。当看完所有batch的时候,称之为一个epoch。
在这里插入图片描述

5)神经网络和深度学习

在上面我们学习的过程中,其实我们已经创造了一个神经网络,其实1943年,心理学家Warren McCulloch和数理逻辑学家Walter Pitts在合作的《A logical calculus of the ideas immanent in nervous activity》论文中就给出了人工神经网络的概念及人工神经元的数学模型,从而开创了人工神经网络研究的时代。1949年,心理学家唐纳德·赫布在《The Organization of Behavior》论文中描述了神经元学习法则。所以神经网络并不是什么新鲜的事情,在1969年,人工智能之父 Minsky(和Seymour Papert)在《感知器》(Perceptrons)一书里给感知器判了“死刑”,这是一本非常严谨的专著,影响力很大。都得到一个简单的结论:神经网络都是骗人的。

在这里插入图片描述

神经网络网络这个名词在那个年代就好像一个臭明昭著的名词,谁也不感冒,所以为了发展它,取了另外一个名字,叫做深度学习(deep learing),即如下图所示,在结果输出的时候,在放一层神经元,使其深度变大。
在这里插入图片描述
在之后,我们的网络深度越来越深,其效果也是越来越好,如下图所示
在这里插入图片描述
所以我们也将我们的网络叠的深一点来看其表现,显然在网络在叠到三层的时候,表现非常好了,但是当网络叠到第四层的时候,其在训练集上的损失是0.1k,而在没有看过的数据上确表现的很差,这是由于层数太多导致了overfitting

在这里插入图片描述

随着网络深度的增加,会使得最后得到的结果更加准确,结果更加准确是函数拟合的更加贴切,深度增肌无非就是sigmoid的增加,那为什么非得在深度上拓展使之变得更深,而不是在宽度上拓展使其变的更宽呢?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

淘宝商品评论接口技术详解及代码示例

引言 淘宝商品评论接口是电商数据分析中不可或缺的一部分,它可以帮助商家和消费者更好地了解商品的质量、用户满意度等信息。本文将详细介绍如何使用淘宝商品评论接口,并提供相应的代码示例。 淘宝商品评论接口概述 淘宝商品评论接口主要用于获取商品…

【前端开发入门】前端开发环境配置

目录 引言一、Vscode编辑器安装1. 软件下载2. 软件安装3. 插件安装 二、Nodejs环境安装及版本控制1. 安装内容2. 使用nvm安装2.1 软件下载并安装2.2 nvm基本指令2.3 nvm下载过慢导致超时解决 三、git安装及配置1. 软件下载2. 软件安装3. 基础配置 四、总结 引言 本系列教程旨在…

【leetcode】122. 买卖股票的最佳时机 II

题目描述 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大 利润 。…

【2025】基于Spring Boot的智慧农业小程序(源码+文档+调试+答疑)

文章目录 一、***-项目介绍二、***-开发环境三、***-系统展示四、***-代码展示五、***-项目文档展示六、***-项目总结 大家可以帮忙点赞、收藏、关注、评论啦 👇🏻 一、***-项目介绍 当今社会已经步入了科学技术进步和经济社会快速发展的新时期&#x…

基于SpringBoot的网上租赁服务:设计与实现

第2章 关键技术简介 2.1 Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译&#xf…

深度学习后门攻击分析与实现(二)

前言 在本系列的第一部分中,我们已经掌握了深度学习中的后门攻击的特点以及基础的攻击方式,现在我们在第二部分中首先来学习深度学习后门攻击在传统网络空间安全中的应用。然后再来分析与实现一些颇具特点的深度学习后门攻击方式。 深度学习与网络空间…

解决 Android WebView 无法加载 H5 页面常见问题的实用指南

目录 1. WebView 简介 2. 常见问题 3. 网络权限设置 4. 启用 JavaScript 5. DOM Storage 的重要性 6. 处理 HTTPS 问题 7. 设置 WebViewClient 8. 调试工具 9. 其他调试技巧 10. 结论 相关推荐 1. WebView 简介 Android WebView 是一种视图组件,使得 And…

LiveGBS流媒体平台GB/T28181功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大

LiveGBS流媒体平台GB/T28181功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大 1、直播播放2、录像播放3、搭建GB28181视频直播平台 1、直播播放 国标设备-》查看通道-》播放 ,左键单击可以拉取矩形框,放大选中的范围,释…

vue-element 表格组合查询 - fc-table-search 组件封装

开发目的 解决搜索form参数读取,配合异步请求,更新渲染数据;支持自适应高度,分页查询,搜索查询/重置。 额外提供formater类型:标签定义,金额,时间格式化,跨页勾选&#x…

uniapp/vue项目 import 导入文件时提示Module is not installed,‘@/views/xxx‘路径无法追踪

文章目录 背景解决方案1.IDE配置2.alias(别名)配置webpackvue-clivite 3.检查 jsconfig.json 或 tsconfig.json 写在最后 前往闪闪の小窝以获得更好的阅读和评论体验 背景 Vue3在我自学Vue的时候看过一点,实操过一点,但是太久没用…

基于php的酒店管理系

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

动手学深度学习(李沐)PyTorch 第 3 章 线性神经网络

3.1 线性回归 线性回归是对n维输入的加权,外加偏差 线性回归可以看作是单层神经网络 回归问题中最常用的损失函数是平方误差函数。 平方误差可以定义为以下公式: 常数1/2不会带来本质的差别,但这样在形式上稍微简单一些 (因为当…

实时语音交互,打造更加智能便捷的应用

随着人工智能和自然语言处理技术的进步,用户对智能化和便捷化应用的需求不断增加。语音交互技术以其直观的语音指令,革新了传统的手动输入方式,简化了用户操作,让应用变得更加易用和高效。 通过语音交互,用户可以在不…

Android入门

下载Android studio,创建第一个项目 模板可以选择empty views Activity 在这个界面可以修改,使用语言,项目名字,存储路径以及适用版本 完成后,得到一个最初始的Android 项目,红色标记的两个文件&#xf…

七星创客:重塑商业模式认知

近期,一个普遍存在的疑问困扰着许多人:“商业模式是否仅仅等同于拉人头或传销活动?”这样的联想或许源于对商业模式概念的片面理解,使得一些人错误地将所有商业模式都笼罩在负面阴影之下。 商业模式,这一商业领域的核心…

(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案

系列文章目录 文章目录 系列文章目录一、(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案1.资料 一、(IDEA)spring项目导入本地jar包方法和项目打包时找不到引入本地jar包的问题解决方案 1.资料…

Windows11系统下SkyWalking环境搭建教程

目录 前言SkyWalking简介SkyWalking下载Agent监控实现启动配置SkyWalking启动Java应用程序启动Elasticsearch安装总结 前言 本文为博主在项目环境搭建时记录的SkyWalking安装流程,希望对大家能够有所帮助,不足之处欢迎批评指正🤝&#x1f91…

828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接

营运版的即时通讯IM聊天交友系统:特点可发红包,可添加多条链接到用户网站和应用,安卓苹果APPPC端H5四合一 后端开发语言:PHP, 前端开发语言:uniapp混合开发。 集安卓苹果APPPC端H5四合一APP源码&#xff0…

微信小程序——婚礼邀请函

目的 1.掌握微信小程序的开发技术,包括页面布局、交互设计、数据存储等。 2.学会运用微信小程序的各种组件和 API,实现个性化的婚礼邀请函功能。 3.通过制作婚礼邀请函小程序,提升创意设计和用户体验优化的能力。 4.了解如何在小程序中整…

JAVA并发编程系列(11)线程池底层原理架构剖析

面试官:说说JAVA线程池的几个核心参数? 之前我们用了10篇文章详细剖析了synchronized、volatile、CAS、AQS、ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier、并发锁、Condition等各个核心基础原理,今天开始我们说说并发领域的各种…