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

机器学习-有监督学习-神经网络

目录

  • 线性模型
  • 分类与回归
  • 感知机模型
  • 激活函数
  • 维度诅咒
  • 过拟合和欠拟合
  • 正则
  • 数据增强
  • 数值稳定性
  • 神经网络大家族
    • CNN
    • RNN
    • GNN(图神经网络)
    • GAN

线性模型

  • 向量版本
    y = ⟨ w , x ⟩ + b y = \langle w, x \rangle + b y=w,x+b

分类与回归

  • 懂得两者区别
  • 激活函数,损失函数

感知机模型

  • 感知机模型的本质是线性模型,再加上激活函数
  • 训练数据、损失函数、梯度下降,小批量梯度下降
  • 神经网络算法整体流程:
  1. 初始化网络
  2. 前向传播
  3. 计算损失
  4. 计算微分
  5. 梯度下降
  6. 反向传播
  7. 多轮迭代
Created with Raphaël 2.3.0 开始 初始化函数 前向传播 计算损失 计算微分 梯度下降 反向传播 迭代完成? 结束 yes no

激活函数

  • 给模型加入拟合非线性功能
  • 常见激活函数:
    • Sigmoid 0-1 二分类
    • Tanh -1-1
    • relu:公认的最好用的激活函数之一

维度诅咒

  • 神经网络可以很轻松的对隐藏层进行升降维
  • 升维后密度呈现指数形式逐渐下降,维度太大会过拟合

过拟合和欠拟合

  • 训练误差:模型在训练集上的误差
  • 泛化误差:模型在同样从原始样本的分布中抽取的无限多数据样本时模型误差的期望。现实世界不可能有无限多数据,所以只能将模型应用于独立的测试集来估计泛化误差。
  • 过拟合:训练误差小,泛化误差大。
  • 欠拟合:训练误差大,泛化误差大。
  • 解决过拟合:
    • 正则化:减少参数的大小
    • 数据增强:对原始数据做变化增加数据量
    • 降维:特征选择
    • 集成学习:多个模型集成在一起
    • 早停法:监控训练集和验证集的错误率
  • 解决欠拟合:
    • 添加新特征
    • 增加模型复杂度
    • 减少正则化系数

正则

  • 正则:约束模型复杂度来防止过拟合现象的一种手段。模型复杂度是由模型参数量大小和参数的可取值范围共同决定的。
  • 正则两个方向:约束模型参数量(dropout),约束模型取值范围(weight decay)
  • 利用均方范数作为硬性和软性限制
  • 衡量模型好坏可以看方差和偏差
\低方差高方差
低偏差预测准,且较集中预测准,但较分散
高偏差预测不准,且较集中预测不准,且比较分散

在这里插入图片描述

  • L1正则化:使参数稀疏化
    损失函数 = 原始损失函数 + λ 2 m ∑ i = 1 n ∣ w i ∣ \text{损失函数} = \text{原始损失函数} + \frac{\lambda}{2m}\sum_{i=1}^{n} |w_i| 损失函数=原始损失函数+2mλi=1nwi

  • L2正则化:降低参数范围
    损失函数 = 原始损失函数 + λ 2 m ∑ i = 1 n w i 2 \text{损失函数} = \text{原始损失函数} + \frac{\lambda}{2m} \sum_{i=1}^{n} w_i^2 损失函数=原始损失函数+2mλi=1nwi2

  • Dropout 对神经网络的节点进行随机的失活,训练时失活,预测是全部节点

  • 集成学习是打比赛进行提点的一个很重要的方法

数据增强

  • 成功的机器学习应用不是拥有最好的算法,而是拥有最多的数据!
  • 当数据到达一定级数后,拥有相近的高准确度。

数值稳定性

  • 计算机视觉,模型很大,数据集要好几万、好几亿。模型不大,要需要上百。
  • 梯度消失
  • 梯度爆炸
  • 解决方法:数据归一化
    • Z-Score归一化
    • 最大最小归一化
      • 原因:提升模型精度和收敛速度

神经网络大家族

CNN

  • Image Search
  • Image Labeling
  • Image Segmantation
  • Object Detection
  • Object Tracking
  • OCR
  • Video Annotation
  • Recommendation
  • Image Classification
  • Robot perception
  • 以上分类不及1/10

RNN

  • 语法语义分析
  • 信息检索
  • 自动文摘
  • 文本数据挖掘
  • 自动问答
  • 机器翻译
  • 知识图谱
  • 情感分析
  • 文本相似度
  • 文本纠错
    原理:下一层的输入不仅和原始输入有关,还和之前的输出有关

GNN(图神经网络)

  • 芯片设计
  • 场景分析与问题推理
  • 推荐系统
  • 欺诈检测与风控相关
  • 知识图谱
  • 道路交通的流量预测
  • 自动驾驶(无人机等场景)
  • 化学,医疗等场景
  • 生物,制药等场景
  • 社交网络

原理:图节点,边和整体进行训练

GAN

  • 图像超分辨率
  • 艺术创作
  • 图像到图像的翻译(风格迁移)
  • 文本到图像的翻译
  • 图片编辑
  • 服装翻译
  • 照片表情符号
  • 图片融合
  • 图片修补

原理:生成器和判别器

相关文章:

机器学习-有监督学习-神经网络

目录 线性模型分类与回归感知机模型激活函数维度诅咒过拟合和欠拟合正则数据增强数值稳定性神经网络大家族CNNRNNGNN(图神经网络)GAN 线性模型 向量版本 y ⟨ w , x ⟩ b y \langle w, x \rangle b y⟨w,x⟩b 分类与回归 懂得两者区别激活函数&a…...

React之组件通信

#一、是什么 我们将组件间通信可以拆分为两个词: 组件通信 回顾Vue系列 (opens new window)的文章,组件是vue中最强大的功能之一,同样组件化是React的核心思想 相比vue,React的组件更加灵活和多样,按照不同的方式可…...

什么是微服务架构

阅读“微服务架构”一词可能会让您直观地了解该术语的含义:计算架构中的小型服务。这个定义并不完全错误,但也不完全正确。 微服务架构通常被称为“打破整体”的一种方式。遗憾的是,这与《2001:太空漫游》无关,而是将…...

<%=%>模板写法

<%%> 这种写法通常称为 "内嵌式模板" 或 "模板标记"&#xff0c;在前端开发中&#xff0c;这种标记语法用于将动态数据嵌入HTML模板中。这种写法通常与模板引擎一起使用&#xff0c;这些模板引擎会根据提供的数据动态生成HTML。 不同的模板引擎可能…...

python爬取boss直聘数据(selenium+xpath)

文章目录 一、主要目标二、开发环境三、selenium安装和驱动下载四、主要思路五、代码展示和说明1、导入相关库2、启动浏览器3、搜索框定位创建csv文件招聘页面数据解析(XPATH)总代码效果展示 六、总结 一、主要目标 以boss直聘为目标网站&#xff0c;主要目的是爬取下图中的所…...

GEO生信数据挖掘(六)实践案例——四分类结核病基因数据预处理分析

前面五节&#xff0c;我们使用阿尔兹海默症数据做了一个数据预处理案例&#xff0c;包括如下内容&#xff1a; GEO生信数据挖掘&#xff08;一&#xff09;数据集下载和初步观察 GEO生信数据挖掘&#xff08;二&#xff09;下载基因芯片平台文件及注释 GEO生信数据挖掘&…...

8.Mobilenetv2网络代码实现

代码如下&#xff1a; import math import os import numpy as npimport torch import torch.nn as nn import torch.utils.model_zoo as model_zoo#1.建立带有bn的卷积网络 def conv_bn(inp, oup, stride):return nn.Sequential(nn.Conv2d(inp,oup,3,stride,biasFalse),nn.Bat…...

Spring Boot Controller

刚入门小白&#xff0c;详细请看这篇SpringBoot各种Controller写法_springboot controller-CSDN博客 Spring Boot 提供了Controller和RestController两种注解。 Controller 返回一个string&#xff0c;其内容就是指向的html文件名称。 Controller public class HelloControll…...

在网络安全、爬虫和HTTP协议中的重要性和应用

1. Socks5代理&#xff1a;保障多协议安全传输 Socks5代理是一种功能强大的代理协议&#xff0c;支持多种网络协议&#xff0c;包括HTTP、HTTPS和FTP。相比之下&#xff0c;Socks5代理提供了更高的安全性和功能性&#xff0c;包括&#xff1a; 多协议支持&#xff1a; Socks5代…...

Web测试框架SeleniumBase

首先&#xff0c;SeleniumBase支持 pip安装&#xff1a; > pip install seleniumbase它依赖的库比较多&#xff0c;包括pytest、nose这些第三方单元测试框架&#xff0c;是为更方便的运行测试用例&#xff0c;因为这两个测试框架是支持unittest测试用例的执行的。 Seleniu…...

jvm打破砂锅问到底- 为什么要标记或记录跨代引用

为什么要标记或记录跨代引用. ygc时, 直接把老年代引用的新生代对象(可能是对象区域)记录下来当做根, 这其实就是依据第二假说和第三假说, 强者恒强, 跨代引用少(存在互相引用关系的两个对象&#xff0c;是应该倾 向于同时生存或者同时消亡的). 拿ygc老年代跨代引用对象当做根…...

小程序长期订阅

准备工作 ::: tip 管理后台配置 小程序类目&#xff1a;住建&#xff08;硬性要求&#xff09; 功能-》订阅消息-》我的模版 申请模版&#xff1a;1、预约进度通知 2、申请结果通知 3、业务办理进度提醒 ::: 用户订阅一次后&#xff0c;可长期下发多条消息。目前长期性订阅…...

Studio One6.5中文版本版下载及功能介绍

Studio One是一款专业的音乐制作软件&#xff0c;由美国PreSonus公司开发。该软件提供了全面的音频编辑和混音功能&#xff0c;包括录制、编曲、合成、采样等多种工具&#xff0c;可用于制作各种类型的音乐&#xff0c;如流行音乐、电子音乐、摇滚乐等。 Studio One的主要特点…...

07-Zookeeper分布式一致性协议ZAB源码剖析

上一篇&#xff1a;06-Zookeeper选举Leader源码剖析 整个Zookeeper就是一个多节点分布式一致性算法的实现&#xff0c;底层采用的实现协议是ZAB。 1. ZAB协议介绍 ZAB 协议全称&#xff1a;Zookeeper Atomic Broadcast&#xff08;Zookeeper 原子广播协议&#xff09;。 Zook…...

云原生安全应用场景有哪些?

当今数字化时代&#xff0c;数据已经成为企业最宝贵的资产之一&#xff0c;而云计算作为企业数字化转型的关键技术&#xff0c;其安全性也日益受到重视。随着云计算技术的快速发展&#xff0c;云原生安全应用场景也越来越广泛&#xff0c;下面本文将从云原生安全应用场景出发&a…...

Step 1 搭建一个简单的渲染框架

Step 1 搭建一个简单的渲染框架 万事开头难。从萌生到自己到处看源码手抄一个mini engine出来的想法&#xff0c;到真正敲键盘去抄&#xff0c;转眼过去了很久的时间。这次大概的确是抱着认真的想法&#xff0c;打开VS从零开始抄代码。不知道能坚持多久呢。。。 本次的主题是搭…...

Excel 插入和提取超链接

构造超链接 HYPERLINK(D1,C1)提取超链接 Sheet页→右键→查看代码Sub link()Dim hl As HyperlinkFor Each hl In ActiveSheet.Hyperlinkshl.Range.Offset(0, 1).Value hl.AddressNext End Sub工具栏→运行→运行子过程→提取所有超链接地址参考&#xff1a; https://blog.cs…...

基础架构开发-操作系统、编译器、云原生、嵌入式、ic

基础架构开发-操作系统、编译器、云原生、嵌入式、ic 操作系统编译器词法分析AST语法树生成语法优化生成机器码 云原生容器开发一般遇到的岗位描述RDMA、DPDK是什么东西NFV和VNF是什么RisingWave云原生存储引擎开发实践 单片机、嵌入式雷达路线规划 ic开发 操作系统 以C和Rust…...

C++-Mongoose(3)-http-server-https-restful

1.url 结构 2.http和 http-restful区别在于对于mg_tls_opts的赋值 2.1 http和https 区分 a) port地址 static const char *s_http_addr "http://0.0.0.0:8000"; // HTTP port static const char *s_https_addr "https://0.0.0.0:8443"; // HTTP…...

git多分支、git远程仓库、ssh方式连接远程仓库、协同开发(避免冲突)、解决协同冲突(多人在同一分支开发、 合并分支)

1 git多分支 2 git远程仓库 2.1 普通开发者&#xff0c;使用流程 3 ssh方式连接远程仓库 4 协同开发 4.1 避免冲突 4.2 协同开发 5 解决协同冲突 5.1 多人在同一分支开发 5.2 合并分支 1 git多分支 ## 命令操作分支-1 创建分支git branch dev-2 查看分支git branch-3 分支合…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...

Tauri2学习笔记

教程地址&#xff1a;https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引&#xff1a;https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多&#xff0c;我按照Tauri1的教程来学习&…...