05有监督学习——神经网络

news2024/10/5 21:14:07
  1. 线性模型

    给定n维输入: x = [ x 1 , x 1 , … , x n ] T x = {[{x_1},{x_1}, \ldots ,{x_n}]^T} x=[x1,x1,,xn]T

    线性模型有一个n维权重和一个标量偏差: w = [ w 1 , w 1 , … , w n ] T , b w = {[{w_1},{w_1}, \ldots ,{w_n}]^T},b w=[w1,w1,,wn]T,b

    输出是输入的加权和: y = w 1 x 1 + w 2 x 2 + … + w n x n + b y = {w_1}{x_1} + {w_2}{x_2} + \ldots + {w_n}{x_n} + b y=w1x1+w2x2++wnxn+b,向量表示: y = < w , x > + b y = < w,x > + b y=<w,x>+b

    1.1 广义线性模型

    除了直接让模型预测值逼近实值标记y,我们还可以让它逼近y的衍生物,这就是广义线性模型(generalized linear model)

    y = g − 1 ( w T x + b ) y = {g^{ - 1}}({w^T}x + b) y=g1(wTx+b)

    其中 g(.)称为联系函数(link function),要求单调可微。使用广义线性模型我们可以实现强大的非线性函数映射功能。比方说对数线性回归(log-linear regression),令g(.) = In(.),此时模型预测值对应的是真实值标记在指数尺度上的变化。

    1.2 Sigmoid函数

    σ ( z ) \sigma (z) σ(z) 代表一个常用的逻辑函数(logistic function)为S形函数(Sigmoid function),则:

    σ ( z ) = g ( z ) = 1 1 + e − z , z = w T x + b \sigma (z) = g(z) = {1 \over {1 + {e^{ - z}}}},z = {w^T}x + b σ(z)=g(z)=1+ez1,z=wTx+b

    合起来,我们得到的逻辑回归模型的假设函数:
    L ( y ^ , y ) = − y log ⁡ ( y ^ ) − ( 1 − y ) log ⁡ ( 1 − y ^ ) \mathrm{L}(\hat{y}, y)=-y \log (\hat{y})-(1-y) \log (1-\hat{y}) L(y^,y)=ylog(y^)(1y)log(1y^)

  2. 分类与回归

  3. 感知机模型

    单层感知机数学模型: y = f ( ∑ i = 1 N w i x i + b ) y = f(\sum\limits_{i = 1}^N {{w_i}{x_i}} + b) y=f(i=1Nwixi+b)

    其中,f称为激活函数

    1986年,Rumelhart和McClIelland为首的科学家提出了BP( Back Propagation )神经网络的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,目前是应用最广泛的神经网络。

    3.1 训练数据

  • 收集一些数据点来决定参数值(权重和偏差),例如过去6个月卖的房子。这被称之为训练数据·通常越多越好假设我们有n个样本,记
    x = [ x 1 , x 1 , … , x n ] T x = {[{x_1},{x_1}, \ldots ,{x_n}]^T} x=[x1,x1,,xn]T y = [ y 1 , y 1 , … , y n ] T y = {[{y_1},{y_1}, \ldots ,{y_n}]^T} y=[y1,y1,,yn]T

    3.2衡量预估质量

    比较真实值和预估值,例如房屋售价和估价

    假设y是真实值, y ^ \hat y y^是估计值,我们可以比较:
    ℓ ( y , y ^ ) = 1 2 ( y − y ^ ) 2 \ell(y, \hat{y})=\frac{1}{2}(y-\hat{y})^2 (y,y^)=21(yy^)2
    这个叫做平方损失
    训练损失:
    ℓ ( X , y , w , b ) = 1 2 n ∑ i = 1 n ( y i − ⟨ x i , w ⟩ − b ) 2 = 1 2 n ∥ y − X w − b ∥ 2 \ell(\mathbf{X}, \mathbf{y}, \mathbf{w}, b)=\frac{1}{2 n} \sum_{i=1}^n\left(y_i-\left\langle\mathbf{x}_i, \mathbf{w}\right\rangle-b\right)^2=\frac{1}{2 n}\|\mathbf{y}-\mathbf{X} \mathbf{w}-b\|^2 (X,y,w,b)=2n1i=1n(yixi,wb)2=2n1yXwb2
    最小化损失来学习参数:
    w ∗ , b ∗ = arg ⁡ min ⁡ w , b ℓ ( X , y , w , b ) \mathbf{w}^*, \mathbf{b}^*=\arg \min _{\mathbf{w}, b} \ell(\mathbf{X}, \mathbf{y}, \mathbf{w}, b) w,b=argw,bmin(X,y,w,b)

    3.3 梯度下降

    • 挑选一个初始值 w 0 {w_0} w0
    • 重复迭代参数t=1,2,3
      w t = w t − 1 − η ∂ ℓ ∂ w t − 1 {w_t} = {w_{t - 1}} - \eta {{\partial \ell } \over {\partial {w_{t - 1}}}} wt=wt1ηwt1
    • 沿梯度方向将增加损失函数值
    • 学习率:步长的超参数

优点:

1.能够自适应、自主学习。BP可以根据预设参数更新规则,通过不断调整神经网络中的参数,已达到最符合期望的输出。

2.拥有很强的非线性映射能力。

3.误差的反向传播采用的是成熟的链式法则,推导过程严谨且科学。

4.算法泛化能力很强。

缺点:

1.BP神经网络参数众多,每次迭代需要更新较多数量的阈值和权值,故收敛速度比较慢。

2.网络中隐层含有的节点数目没有明确的准则,需要不断设置节点数字试凑,根据网络误差
结果最终确定隐层节点个数

3.BP算法是一种速度较快的梯度下降算法,容易陷入局部极小值的问题。

  1. 激活函数

在深度学习模型中,我们一般习惯在每层神经网络的计算结果送入下一层神经网络之前先经过一个激活函数。

(1)Sigmod函数: f ( x ) = 1 1 + e − x f(x) = {1 \over {1 + {{\rm{e}}^{ - x}}}} f(x)=1+ex1

在这里插入图片描述

(2)Tanh函数: tanh ⁡ ( x ) = e x − e − x ( e x + e − x ) = 2 ∗ s i g   m o d   ( 2 x ) − 1 \tanh (x) = {{{e^x} - {e^{ - x}}} \over {({e^x} + {e^{ - x}})}} = 2*sig\bmod (2x) - 1 tanh(x)=(ex+ex)exex=2sigmod(2x)1

在这里插入图片描述

(3)relu函数: f ( x ) = max ⁡ ( 0 , x ) f(x) = \max (0,x) f(x)=max(0,x)

在这里插入图片描述

  1. 维度诅咒

神经网络模型可以非常方便地对数据进行升降维,随着特征数量的增多,样本的密度就下降了,继续升维度,就会过拟合,不适用于真实情况

  1. 欠拟合与过拟合

    过拟合和欠拟合可以通过训练误差和泛化误差来定义:

    训练误差:模型在训练集上 计算得到的误差

    泛化误差:模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望。

    过拟合:模型的训练误差小,泛化误差大

    欠拟合:模型的训练误差和泛化误差都大

    过拟合的处理方法:
    (1) 正则化:正则化的,但是减少参数的大小,它可以改善或者减少过拟合问题
    (2) 数据增强: 数据的质量、数量和难度等进行增强
    (3)降维: 即丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,也可以使用一些模型选择的算法来帮忙。
    (4)集成学习方法: 集成学习是把多个模型集成在一起,来降低单一模型的过拟合风险。

    过拟合的处理方法:

    (1)添加新特征
    (2)增加模型复杂度
    (3)减小正则化系数

  2. 正则

深度学习中的正则可以看作通过约束模型复杂度来防止过拟合现象的一些手段。首先,模型复杂度是由模型的参数量大小和参数的可取值范围一起决定的。因此正则方法也大致分为两个方向:
一个方向致力于约束模型参数量,例如Dropout;
一个方向致力于约束模型参数的取值范围,例如weight decay。

权重衰减方法:
(1)使用均方范数作为硬性限制
通过限制参数值的选择范围来控制模型容量:
min ⁡ ℓ ( w , b ) \min \ell (w,b) min(w,b)subject to ∥ w ∥ 2 ≤ θ {\left\| {\rm{w}} \right\|^2} \le \theta w2θ
通常不限制b

(2)使用均方范数作为柔性限制

对于每个 θ \theta θ,都可以找到 λ \lambda λ,使得之前的目标函数等价于下面式子:

min ⁡ ℓ ( w , b ) + λ 2 ∥ w ∥ 2 \min \ell (w,b) + {\lambda \over 2}{\left\| w \right\|^2} min(w,b)+2λw2

超参数 λ \lambda λ控制了正则项的重要程度:

  • λ \lambda λ = 0 无作用
  • λ → ∞ , w ∗ → 0 \lambda \to \infty ,w* \to 0 λ,w0
  1. 数据增强

  2. 数值稳定性

这种数值不稳定性问题再深度学习训练过程中被称作梯度消失梯度爆炸

梯度消失:由于累乘导致的梯度接近0的现象,此时训练没有进展。

梯度爆炸:由于累乘导致计算结果超出数据类型能记录的数据范围,导致报错。防止出现数值不稳定原因的方法是进行数据归一化处理。

数据归一化处理:

(1)归一化(最大-最小规范化)——将数据映射到【0,1】区间

x ∗ = x − x min ⁡ x max ⁡ − x min ⁡ x* = {{x - {x_{\min }}} \over {{x_{\max }} - {x_{\min }}}} x=xmaxxminxxmin

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

(2)Z-Score标准化——处理后的数据均 值为0,方差为1

x ∗ = x − μ σ x* = {{x - \mu } \over \sigma } x=σxμ

数据标准化为了不同特征之间具备可比性,经过标准化变换之后的特征数据分布没有发生改变。
就是当数据特征取值范围或单位差异较大时,最好是做一下标准化处理。

  1. 神经网络大家族

    1. CNN
    2. RNN
      • 句法语义分析
      • 信息检索
      • 自动文摘
      • 文本数据挖掘
      • 自动问答
      • 机器翻译
      • 知识图谱
      • 情感分析
      • 文本相似度
      • 文本纠错
    3. GNN
      • 芯片设计
      • 场景分析与问题推理
      • 推荐系统(用户画像)
      • 欺诈检测与风控相关
      • 知识图谱
      • 道路交通的流量预测
      • 自动驾驶(无人机等场景)
      • 化学,医疗等场景
      • 生物,制药等场景
      • 社交网络
    4. GAN
      • 图像超分辨率
      • 艺术创作
      • 图像到图像的翻译(风格迁移)
      • 文本到图像的翻译
      • 照片编辑
      • 服装翻译
      • 照片到表情符号
      • 照片融合
      • 照片修补

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch 处理地理信息

1、GeoHash ​ GeoHash是一种地理坐标编码系统&#xff0c;可以将地理位置按照一定的规则转换为字符串&#xff0c;以方便对地理位置信息建立空间索引。首先要明确的是&#xff0c;GeoHash代表的不是一个点而是一个区域。GeoHash具有两个显著的特点&#xff1a;一是通过改变 G…

7-6 统计字符出现次数

分数 20 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 本题要求编写程序&#xff0c;统计并输出某给定字符在给定字符串中出现的次数。 输入格式&#xff1a; 输入第一行给出一个以回车结束的字符串&#xff08;少于80个字符&#xff09;&#xff1b;第二行输入一个…

Android JNI系列详解之JNI、NDK环境搭建和编译工具安装

本文主要介绍JNI、NDK环境变量的搭建&#xff0c;以及CMake工具的安装和ndk-build工具的安装。 一、JNI环境 JNI属于Java中的一部分&#xff0c;所以只需要搭建Java环境就有了JNI的环境&#xff0c;安装Java的环境可以网上查找教程&#xff0c;很多的安装JDK的博客。我电脑是安…

检测输电线上的鸟巢,用SSD结合HSV色彩空间滤波器相结合的检测方法--论文中图还少一张,欠点意思

Detection of Bird Nests on Power Line Patrol Using Single Shot Detector Abstract 电力塔上鸟巢的存在对输电线路的安全稳定构成了威胁。近年来&#xff0c;利用无人机探测输电线路上的鸟巢已成为电力巡检的重要任务之一。图像处理方法从计算机视觉向功率图像识别的迁移日…

MySQL数据库第十四课--------sql优化---------层层递进

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

Git问题:解决“ssh:connect to host github.com port 22: Connection timed out”

操作系统 Windows11 使用Git IDEA 连接方式&#xff1a;SSH 今天上传代码出现如下报错&#xff1a;ssh:connect to host github.com port 22: Connection timed out 再多尝试几次&#xff0c;依然是这样。 解决 最终发现两个解决方案&#xff1a;&#xff08;二选一&#xf…

GEEMAP 中如何拉伸图像

图像拉伸是最基础的图像增强显示处理方法&#xff0c;主要用来改善图像显示的对比度&#xff0c;地物提取流程中往往首先要对图像进行拉伸处理。图像拉伸主要有三种方式&#xff1a;线性拉伸、直方图均衡化拉伸和直方图归一化拉伸。 GEE 中使用 .sldStyle() 的方法来进行图像的…

js 的正则表达式(二)

1.正则表达式分类&#xff1a; 正则表达式分为普通字符和元字符。 普通字符&#xff1a; 仅能够描述它们本身&#xff0c;这些字符称作普通字符&#xff0c;例如所有的字母和数字。也就是说普通字符只能够匹配字符串中与它们相同的字符。 元字符&#xff1a; 是一些具有特殊含…

最新ChatGPT网站程序源码+AI系统+详细图文搭建教程/支持GPT4.0/AI绘画/H5端/Prompt知识库

一、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&#xff01…

情报与GPT技术大幅降低鱼叉攻击成本

邮件鱼叉攻击&#xff08;spear phishing attack&#xff09;是一种高度定制化的网络诈骗手段&#xff0c;攻击者通常假装是受害人所熟知的公司或组织发送电子邮件&#xff0c;以骗取受害人的个人信息或企业机密。 以往邮件鱼叉攻击需要花费较多的时间去采集情报、深入了解受…

STM32 F103C8T6学习笔记10:OLED显示屏GIF动图取模—简易时钟—动图手表的制作~

今日尝试做一款有动图的OLED实时时钟&#xff0c;本文需要现学一个OLED的GIF动图取模 其余需要的知识点有不会的可以去我 STM32 F103C8T6学习笔记 系列专栏自己查阅把&#xff0c;闲话不多&#xff0c;直接开肝~~~ 文章提供源码&#xff0c;测试工程下载&#xff0c;测试效…

架构设计之考虑高并发场景优化的衡量指标

衡量指标 对于性能优化来说&#xff0c;衡量的指标有很多&#xff0c;大体上可以分为&#xff1a;性能指标、响应时间、并发量、秒开率和正确性等。我们可以使用下图来表示这些衡量指标。 接下来&#xff0c;我们就分别说明下这些衡量指标。 性能指标 性能指标又可以包含&am…

Python数据挖掘——应用toad包中的detect函数进行描述性统计

大数据时代的到来&#xff0c;使得很多工作都需要进行数据挖掘&#xff0c;从而发现更多有利的规律&#xff0c;或规避风险&#xff0c;或发现商业价值。比如在支付领域&#xff0c;通过挖掘商户的交易数据&#xff0c;分析商户是否有欺诈、盗刷、赌博、套现等风险。对于有风险…

【Django】Task4 序列化及其高级使用、ModelViewSet

【Django】Task4 序列化及其高级使用、ModelViewSet Task4主要了解序列化及掌握其高级使用&#xff0c;了解ModelViewSet的作用&#xff0c;ModelViewSet 是 Django REST framework&#xff08;DRF&#xff09;中的一个视图集类&#xff0c;用于快速创建处理模型数据的 API 视…

深度学习基本理论

1、MLP、FCN、DNN三者的关系&#xff1f; 多层感知器MLP&#xff0c;全连接网络&#xff0c;DNN三者的关系&#xff1f;三者是不是同一个概念&#xff1f; FCN&#xff1a;Fully Connected Neural Network&#xff0c;全连接神经网络&#xff0c;也称为密集连接神经网络&#…

活动预告l 第二届硬件敏捷开发与验证方法学研讨会

2023年8月23日至25日&#xff0c; 2023 RISC-V中国峰会将在北京香格里拉饭店举办。本届峰会采用“主会议主题活动展览展示同期活动”的会议组织方式&#xff0c;将邀请RISC-V国际基金会、业界专家、企业代表及社区伙伴等共同探讨RISC-V发展趋势与机遇。作为本届RISC-V中国峰会的…

Eureka:集群环境配置

创建三个集群 导包 <!-- 导包--><dependencies><!-- Eureka -server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId><version>1.…

Jupyter Notebook 配置根目录

注&#xff1a;本文是在 Windows 10 上配置 Jupyter Notebook 打开的默认根目录&#xff0c;Linux 同。 步骤一&#xff1a;创建 Jupyter Notebook 配置文件 使用以下命令创建 Jupyter Notebook 配置文件&#xff08;如果尚未创建&#xff09;&#xff1a; jupyter notebook …

docker优点简介和yum方式安装

一.docker简介 二.docker的优点 1.交付和部署速度快 2.高效虚拟化 3.迁移性和扩展性强 4.管理简单 三.docker的基本概念 1.镜像 2.容器 3.仓库 四.docker的安装部署 &#xff08;1&#xff09;点击容器 ​&#xff08;2&#xff09;选择docker-ce&#xff0c;根据相…

排序算法:选择排序

选择排序的思想是&#xff1a;双重循环遍历数组&#xff0c;每经过一轮比较&#xff0c;找到最小元素的下标&#xff0c;将其交换至首位。 public static void selectionSort(int[] arr) {int minIndex;for (int i 0; i < arr.length - 1; i) {minIndex i;for (int j i …