当前位置: 首页 > 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 分支合…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...