大数据机器学习算法和计算机视觉应用07:机器学习
Machine Learning
- Goal of Machine Learning
- Linear Classification
- Solution
- Numerical output example: linear regression
- Stochastic Gradient Descent
- Matrix Acceleration
Goal of Machine Learning 机器学习的目标
假设现在有一组数据 x i , y i {x_i,y_i} xi,yi,其中 x c ∈ R d x_c \in \R^d xc∈Rd,d指的是特征数,而 y c ∈ R y_c \in \R yc∈R是标签值(label)。
上述数据被称为训练集(training data set)。而机器学习的目的就是训练一个模型(model)(或者假说) h h h在某种条件下最贴近该训练集数据。
现在假设出现了一个新的点 x ∗ ∈ R d x* \in \R^d x∗∈Rd,我们需要用我们的模型去预测其标签值 y ∗ y* y∗,这个值 x ∗ x* x∗就被称作检验数据(test data),模型检测标签值的准确程度被叫做泛化误差(generalization error)。
Linear Classification 线性分类
上述情景的一个经典例子是线性分类。
条件:在平面上有一堆红色的点和黑色的点。
目标:找到一条直线,使得所有红色的点都在直线一侧,而黑色点都在直线另一侧。
我们保证这个直线是存在的,如何找到满足条件的直线呢?
我们将点到直线的垂直距离记为模型的标签值,并且希望所有红色点的垂直距离为正,而黑色点的垂直距离为负,这样他们就一定分布在直线的异侧。
因此我们得到训练集:
( x 1 , 0 ) , ( x 2 , 1 ) , ⋯ (x_1,0),(x2,1),\dotsb (x1,0),(x2,1),⋯
其中标签值为0表示红色点,为1表示黑色点。
目标:我们将所有的 x i x_i xi丢到模型里面,模型给出的标签值可以和训练集的标签值尽量一致。
那么我们如何找到这个模型 h h h呢?
Solution 解决办法
平面,直线,你想到了我们之前学过的什么东西?没错,线性规划。
所有的红色点和黑色点都对应一个约束条件,而我们的目标是寻找可行域。
实际上我们会有无数条直线满足上面的约束条件,我们如何定义其中最好的一条决定了我们如何训练模型。我们给出的答案是,有**最大边界(maximum margin)**的一条直线。也就是说,所有的点到直线的距离都大于一个常数 σ \sigma σ,这个 σ \sigma σ就是边界。
上面的最优化模型也有一个名称:支持向量机(support vector machine,SVM)
我们使用二分搜索来确定 σ \sigma σ,而对于每一个 σ \sigma σ我们解一个线性规划即可。
Numerical output example: linear regression 数值输出:线性回归
在更多的情况下,我们需要返回一个预测值,一个常见的例子就是线性回归。
我们定义了一系列训练集 ( x i , y i ) (x_i,y_i) (xi,yi)和损失函数 L ( h ) = 1 n Σ ( < x i , h > − y i ) 2 L(h) = \frac{1}{n}\Sigma(<x_i,h> - y_i)^2 L(h)=n1Σ(<xi,h>−yi)2,
模型生成之后我们给出测试集 x ∗ x* x∗,模型给出预测值 y ∗ y* y∗。损失函数计算预测值和实际值的垂直距离,使得模型可以持续优化。
如何找到线性回归的模型呢?前面我们提到的梯度下降是一个好方法。
我们回忆一下梯度下降的方法:
- 选择初始点 h 0 h_0 h0,步数 T T T和学习率 η \eta η。
- 在每步迭代中,计算当前点的梯度,并且迭代点 h i + 1 = h i − η ∇ L ( h ) h_{i+1} = h_i -\eta \nabla L(h) hi+1=hi−η∇L(h)
- 最后输出 1 T Σ h i \frac{1}{T}\Sigma h_i T1Σhi
(或者直接输出 h T h_T hT)
我们发现 L ( h ) L(h) L(h)具有一个很好的性质:由于 x 2 x^2 x2是凸函数,因此其线性组合也是凸的。所以我们可以在这个问题中使用梯度下降法。
另外一个问题是: L ( h ) L(h) L(h)的梯度是什么?
要解决这个问题,我们需要关注损失函数 f i f_i fi的梯度:
∇ f i = ( < h , x i > − y i ) 2 \nabla f_i = (<h,x_i>-y_i)^2 ∇fi=(<h,xi>−yi)2
由于链式法则,令 z = < h , x i > − y i z = <h,x_i>-y_i z=<h,xi>−yi,那么有
d f i d h j = d f i d z d z d h d f i d z = 2 z d z d h = x i , j \frac{df_i}{dh_j} = \frac{df_i}{dz}\frac{dz}{dh} \\ \frac{df_i}{dz} = 2z \\ \frac{dz}{dh} = x_{i,j} dhjdfi=dzdfidhdzdzdfi=2zdhdz=xi,j
因此
d f i d h = 2 ( < h j , x i , j > − y i ) x i , j \frac{df_i}{dh} = 2 (<h_j,x_{i,j}>-y_i)x_{i,j} dhdfi=2(<hj,xi,j>−yi)xi,j
因此求和一下就得出损失函数的梯度:
∇ L ( h ) = 2 n < ( Σ < h 1 , x t , 1 > − y t ) x t , 1 , Σ ( < h 2 , x t , 2 > − y t ) x t , 2 , ⋯ > \nabla L(h) = \frac{2}{n} < (\Sigma<h_1,x_{t,1}>-y_t)x_{t,1},\Sigma (<h_2,x_{t,2}>-y_t)x_{t,2},\dots> ∇L(h)=n2<(Σ<h1,xt,1>−yt)xt,1,Σ(<h2,xt,2>−yt)xt,2,⋯>
Overfitting 过拟合
过拟合是机器学习中一种另外的状况,这种情况下模型为了贴合数据而变得十分奇怪且复杂。这一样也是我们不希望看到的。如下图所示:
也就是说,我们希望我们的模型要好,而且要直观简单,要有鲁棒性。我们有什么方法来保证鲁棒性吗?
一种简单的方法是,控制模型 h h h的范数。由前一小节我们看到,预测结果由 h i x t , i h_ix_{t,i} hixt,i控制,也就是说当 h i h_i hi的范数很大时,单个数据的变化就会对整体造成很大的影响,这是我们不希望看到的。反过来看,控制模型的范数也就减小了单个数据的整体影响,提高了鲁棒性。
Ridge Regression 岭回归算法
岭回归算法在原来 L ( h ) L(h) L(h)的基础上添加了一项正则项(regularization),使得新的损失函数变为:
L ( h ) = 1 n Σ ( < h , x > − y ) 2 + λ ∣ ∣ h ∣ ∣ 2 L(h) = \frac{1}{n}\Sigma(<h,x>-y)^2 + \lambda||h||^2 L(h)=n1Σ(<h,x>−y)2+λ∣∣h∣∣2
在这个损失函数中,我们将模型的范数也加入考虑,在欠拟合和过拟合之间做出了平衡。
由于两个平方项都是凸的,因此新的损失函数很明显也是凸的。
Stochastic Gradient Descent SGD 随机梯度下降
另外一个问题在于,当训练数据量很大的时候,损失函数的计算就会变得十分缓慢,这种情况应该怎么办呢?
如果我们随机取一个样本点,并且用这个样本点直接代表 L ( h ) L(h) L(h),我们的计算量就只有这些点了,对吧?其实这种方法是有一定道理的,因为
E ( ∇ L ′ ) = 1 n ∑ f i = ∇ L ( h ) E(\nabla L') = \frac{1}{n}\sum f_i = \nabla L(h) E(∇L′)=n1∑fi=∇L(h)
所以这种方法是无偏的。
假设我们随机采样 b b b个点(这个值被称为批大小(batch size)),并且定义损失函数为
∇ ^ L ( h ) = 1 b ∑ i f i \widehat{\nabla} L(h)=\frac{1}{b}\sum_i f_i ∇ L(h)=b1i∑fi
也就是说,当 b = n b=n b=n时,这种方法是GD(梯度下降法);当 b = 1 b=1 b=1时,这种方法是SGD(随机梯度下降法)。
随机取一个训练样本是有风险的,估计出来的模型可能是不准确的,而且一般需要更多的迭代步骤。但是如果 n n n数量过大,这种开销比起每步计算 n n n次要好上很多。这是一个方差和时间的权衡。
Matrix Acceleration 矩阵加速计算
我们将变量看作一个矩阵 x 1 x 2 . . . x n \begin {matrix} \bold{x_1}\\ \bold{x_2}\\ ...\\ \bold{x_n} \end{matrix} x1x2...xn,这是一个 n × d n\times d n×d矩阵,然后和 d × 1 d \times 1 d×1模型向量 h 相乘 \bold{h}相乘 h相乘得到最终结果 y \bold{y} y,我们要计算 min ∣ ∣ X ⋅ h − y ∣ ∣ 2 \min ||\bold{X}\cdot \bold{h}-\bold{y}||^2 min∣∣X⋅h−y∣∣2。
其实上述矩阵有一个近似解 X T X − 1 y \bold{X^TX}^{-1}\bold{y} XTX−1y,但是在 n n n非常大的时候,求矩阵的转置和逆一样非常的麻烦,怎么办呢?
我们可以先找一个 b × n ( b < < n ) b\times n(b<<n) b×n(b<<n)的稀疏矩阵 S \bold{S} S,然后用 S X \bold{SX} SX代替原来的 X \bold{X} X,这样我们就把前面的矩阵变成了一个小得多的 b × d b\times d b×d矩阵,这个小矩阵求转置和逆就轻松多了。
这种方法和SGD有异曲同工之妙,矩阵 S \bold{S} S类似于一种随机采样矩阵,计算出来的 b × d b\times d b×d矩阵就好像从 n n n个样本点中采样 b b b个。
Feedforward Neural Network 前馈神经网络
前馈神经网络是一种最简单的神经网络。他的结构是一个分层图,每层有节点,每层节点和下一层的节点之间有加权的边连接。如下图所示:
对于每层的节点,我们将所有的输入边加权作为总的输入,然后处理则使用一个非线性的函数得出本节点的输出,这个函数被称为激活函数。激活函数在不同的情况下一般不同,但是有一种比较常见的函数叫做整流线性单元(ReLU)函数,另外一种函数叫做Sigmoid函数。
OK,根据上面的说法,神经网络包含输入,加权,和每个节点的处理。关于输入和处理我们都给出了具体的例子,但是我们仅仅通过SGD减少了计算的样本数量,并没有实际的加快梯度的计算。这就是我们下节课要介绍的方法:反向传播(Back Propagation)。
相关文章:
大数据机器学习算法和计算机视觉应用07:机器学习
Machine Learning Goal of Machine LearningLinear ClassificationSolutionNumerical output example: linear regressionStochastic Gradient DescentMatrix Acceleration Goal of Machine Learning 机器学习的目标 假设现在有一组数据 x i , y i {x_i,y_i} xi,yi&…...
Godot RPG 游戏开发指南
Godot RPG 游戏开发指南 一、基础准备 1. 开发环境 下载并安装最新版 Godot 4.x选择使用 GDScript 或 C# 作为开发语言准备基础美术资源(角色、地图、道具等) 2. 项目结构 project/ ├── scenes/ # 场景文件 ├── scripts/ # 脚…...
c++ 找第一个只出现一次的字符
【题目描述】 给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。 【输入】 一个字符串,长度小于100000。 【输出】 输出第一个仅出现一次的字符,若没有则输出no。 【输入样例】 abcabd【输出样…...
时空信息平台架构搭建:基于netty封装TCP通讯模块(IdleStateHandler网络连接监测,处理假死)
文章目录 引言I 异步TCP连接操作II 心跳机制:空闲检测(读空闲和写空闲)基于Netty的IdleStateHandler类实现心跳机制(网络连接监测)常规的处理假死健壮性的处理假死方案获取心跳指令引言 基于netty实现TCP客户端:封装断线重连、连接保持 https://blog.csdn.net/z92911896…...
【Rust自学】3.6. 控制流:循环
3.6.0. 写在正文之前 欢迎来到Rust自学的第三章,一共有6个小节,分别是: 变量与可变性数据类型:标量类型数据类型:复合类型函数和注释控制流:if else控制流:循环(本文) 通过第二章…...
如何正确计算显示器带宽需求
1. 对显示器的基本认识 一个显示器的参数主要有这些: 分辨率:显示器屏幕上像素点的总数,通常用横向像素和纵向像素的数量来表示,比如19201080(即1080p)。 刷新率:显示器每秒钟画面更新的次数&…...
mysql 基于chunk机制是如何支持运行期间,动态调整buffer pool大小的
mysql 基于chunk机制是如何支持运行期间,动态调整buffer pool大小的 MySQL 的 InnoDB 存储引擎确实支持在运行期间动态调整缓冲池(buffer pool)的大小,但其机制与自定义缓存系统有所不同。InnoDB 通过内部优化和配置参数来实现这…...
梳理你的思路(从OOP到架构设计)_简介设计模式
目录 1、 模式(Pattern) 是较大的结构编辑 2、 结构形式愈大 通用性愈小编辑 3、 从EIT造形 组合出设计模式 1、 模式(Pattern) 是较大的结构 组合与创新 達芬奇說:簡單是複雜的終極形式 (Simplicity is the ultimate form of sophistication) —Leonardo d…...
【Redis】缓存
什么是缓存 https://tech.meituan.com/2017/03/17/cache-about.html Spring Data Redis Spring Data Redis提供了从Spring应用程序轻松配置和访问Redis的功能。 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>sp…...
基于 PyCharm 和 Navicat 的新闻管理系统
# 用于创建连接池 pip3 install mysql-connector-python # 改变终端打印颜色 pip3 install colorama 1.创建连接池 文件地址:db/mysql_db.py 首先建立一个与 MySQL 数据库的连接池,以便在应用程序中复用连接,提高性能。 如果连接池创建失败…...
<QNAP 453D QTS-5.x> 日志记录: 优化性能 内存管理 修改swap优先顺序 swap放在ssd 网络稳定性 进程出错管理
起因 几个月前,开始重学编程,往 NAS 的 docker 里放了些 containers ,每一个用来跑练习的 App。为了放更多的app,上个月加了 4GB 内存。最近只放了两个,NAS 就会时不时的闪断。codes 全存在网络驱动器上,当…...
一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测
一区牛顿-拉夫逊算法分解深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测 目录 一区牛顿-拉夫逊算法分解深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院一区…...
本地部署webrtc应用怎么把http协议改成https协议?
环境: WSL2 Ubuntu22.04 webrtc视频聊天应用 问题描述: 本地部署webrtc应用怎么把http协议改成https协议? http协议在安卓手机浏览器上用不了麦克风本,来地应用webrtc 本来是http协议,在安卓手机上浏览器不支持使…...
React简单了解
原理简化了解 import React from "react" import { createRoot } form "react-dom/client"const element React.createElement(p,{id: hello},Hello World! )const container document.querySelector(#root) const root createRoot(container) root.r…...
基于LabVIEW的USRP信道测量开发
随着无线通信技术的不断发展,基于软件无线电的设备(如USRP)在信道测量、无线通信测试等领域扮演着重要角色。通过LabVIEW与USRP的结合,开发者可以实现信号生成、接收及信道估计等功能。尽管LabVIEW提供了丰富的信号处理工具和图形…...
Docker挂载
目录 数据卷挂载 本地目录挂载 数据卷挂载 宿主机默认的存放所有容器数据卷的目录:/var/lib/docker/volumes nginx容器 静态文件目录:/usr/share/nginx/html 配置文件目录:/etc/nginx/nginx.conf 修改宿主机的内容,进入到容器查…...
使用Java结合经纬度位置计算目标点的日出日落时间
目录 前言 一、应用示例 1、天安门升旗时间 2、湖南省日出日落信息 二、JAVA日出日落计算 1、在线API 2、使用Java进行计算 三、总结 前言 随着城市化进程的加速,城市环境与人类生活的联系日益紧密。城市不仅承载着居住、工作、休闲等多种功能,也…...
八字精批api接口_php获取生成八字和批注的方法研究
八字算命 API 介绍 这个八字算命 API 提供了一种便捷的方式,让用户通过 GET 或 POST 请求获取详细的八字信息。API 返回的数据格式为 JSON,包含多种命理分析和建议,适合对传统命理学感兴趣的用户。 API 功能 五行分析: 提供用户…...
docker run 命令参数
user docker run -it --nameubn18 --gpus all --privilegedtrue --shm-size 8G ubuntu:18.04 /bin/bash-it 是什么意思 4o 在运行 docker run 命令时,-it 是两个选项的组合,用于更好地与容器进行交互: -i 或 --interactive:这个选…...
智能外呼技术如何改变企业营销方式
智能外呼技术如何改变企业营销方式 作者:开源大模型智能呼叫中心系统FreeAICC,Github:https://github.com/FreeIPCC/FreeAICC 在数字化时代,企业营销方式正经历着前所未有的变革。其中,智能外呼技术作为一项前沿的人…...
redis数据转移
可能有时候因为硬件的原因我们我们需要更换服务器,如果更换服务器的话,那我们redis的数据该怎样转移呢,按照一下步骤即可完成redis数据的转移 1.进入redis客户端 2.使用 bgsave命令进行数据的备份,此命令完成后会在你的redis安装目…...
STM32-笔记5-按键点灯(中断方法)
1、复制03-流水灯项目,重命名06-按键点灯(中断法) 在\Drivers\BSP目录下创建一个文件夹exti,在该文件夹下,创建两个文件exti.c和exti.h文件,并且把这两个文件加载到项目中,打开项目工程文件 加载…...
DotNetBrowser 3.0.0 正式发布!
🛠️ 重要消息:DotNetBrowser 3.0.0 正式发布! 我们很高兴向您介绍全新的 DotNetBrowser 3.0.0 版本。此次更新带来了多项重要功能与优化,进一步提升了 Web 开发的效率和体验。 📢 DotNetBrowser 3.0.0 包含哪些新功…...
MySQL基础笔记(三)
在此特别感谢尚硅谷-康师傅的MySQL精品教程 获取更好的阅读体验请前往我的博客主站! 如果本文对你的学习有帮助,请多多点赞、评论、收藏,你们的反馈是我更新最大的动力! 创建和管理表 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数…...
SEO初学者-搜索引擎如何工作
搜索引擎基础搜索引擎是如何建立索引的搜索引擎如何对网页进行排名搜索引擎是如何个性化搜索结果的 搜索引擎的工作方式是使用网络爬虫抓取数十亿个页面。爬虫也称为蜘蛛或机器人,它们在网络上导航并跟踪链接以查找新页面。然后,这些页面会被添加到搜索引…...
在Ubuntu下运行QEMU仿真FreeBSD riscv64系统
在Ubuntu下运行QEMU仿真FreeBSD riscv64系统 突发奇想,尝试在Ubuntu下运行QEMU仿真FreeBSD riscv64系统, 参考这篇文档:手把手教你在QEMU上运行RISC-V Linux_qemu 运行 .bin-CSDN博客 并参考FreeBSD的Wiki:riscv - FreeBSD Wik…...
SQL 使用带聚集函数的联结
聚集函数用于汇总数据,通常用于从一个表中计算统计信息,但也可以与联结一起使用。以下是一个例子,展示如何使用聚集函数统计每个顾客的订单数。 示例 1:使用 COUNT() 函数与 INNER JOIN 假设我们需要检索所有顾客及每个顾客所下…...
Linux网络功能 - 服务和客户端程序CS架构和简单web服务示例
By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 概述准备工作扫描服务端有那些开放端口创建客户端-服务器设置启动服务器和客户端进程双向发送数据保持服务器进程处于活动状态设置最小…...
爬取Q房二手房房源信息
文章目录 1. 实战概述2. 网站页面分析3. 编写代码爬取Q房二手房房源信息3.1 创建项目与程序3.2 运行程序,查看结果 4. 实战小结 1. 实战概述 本次实战项目旨在通过编写Python爬虫程序,抓取深圳Q房网上的二手房房源信息。我们将分析网页结构,…...
【JavaEE初阶】线程 和 thread
本节⽬标 认识多线程 掌握多线程程序的编写 掌握多线程的状态 一. 认识线程(Thread) 1概念 1) 线程是什么 ⼀个线程就是⼀个 "执⾏流". 每个线程之间都可以按照顺序执⾏⾃⼰的代码. 多个线程之间 "同时" 执⾏着多份代码. 还…...
【IMU:视觉惯性SLAM系统】
视觉惯性SLAM系统简介 相机(单目/双目/RGBD)与IMU结合起来就是视觉惯性,通常以单目/双目IMU为主。 IMU里面有个小芯片可以测量角速度与加速度,可分为6轴(6个自由度)和9轴(9个自由度)IMU,具体的关于IMU的介…...
【python实现烟花】
可以使用 Python 的 turtle 模块来实现烟花效果。下面是一个简单的示例代码,展示如何用 turtle 绘制烟花: import turtle import random# 设置屏幕 screen turtle.Screen() screen.bgcolor("black")# 创建烟花函数 def draw_firework(x, y):…...
OpenCV学习——图像融合
import cv2 as cv import cv2 as cvbg cv.imread("test_images/background.jpg", cv.IMREAD_COLOR) fg cv.imread("test_images/forground.png", cv.IMREAD_COLOR)# 打印图片尺寸 print(bg.shape) print(fg.shape)resize_size (1200, 800)bg cv.resize…...
CS 144 check6: buiding an IP router
Lecture Notes Exercises 路由器的任务是根据路由表转发接收到的数据报:路由表是一系列规则,用于指导路由器针对任何给定的数据报应如何进行转发。 发送出什么接口。下一跳的IP地址。 这个check的工作是实现一个路由器,它可以为任何给定的…...
Pytorch | 从零构建ResNet对CIFAR10进行分类
Pytorch | 从零构建ResNet对CIFAR10进行分类 CIFAR10数据集ResNet核心思想网络结构创新点优点应用 ResNet结构代码详解结构代码代码详解BasicBlock 类ResNet 类ResNet18、ResNet34、ResNet50、ResNet101、ResNet152函数 训练过程和测试结果代码汇总resnet.pytrain.pytest.py 前…...
Spring整合Redis基本操作步骤
Spring 整合 Redis 操作步骤总结 1. 添加依赖 首先,在 pom.xml 文件中添加必要的 Maven 依赖。Redis 相关的依赖包括 Spring Boot 的 Redis 启动器和 fastjson(如果需要使用 Fastjson 作为序列化工具): <!-- Spring Boot Re…...
java中的方法的重载和重写、构造器
目录 方法的重载和重写、构造器1.java的修饰符:2.普通方法3.构造器(也叫构造方法/构造函数)4.方法的重载5.补充6.方法的重写7.类的执行顺序8.再看方法的重写 方法的重载和重写、构造器 1.java的修饰符: public修饰的代码…...
Vite 系列课程|1课程道路,2什么是构建工具
Vite 系列课程 1. 课程导论 1.1 为什么要学习 Vite? 1.1.1 Webpack vs. Vite:新旧霸主的交替? Webpack 长期以来一直是前端构建工具的事实标准,拥有庞大的用户群体、成熟的生态系统和丰富的学习资源。然而,随着前端技术…...
【蓝桥杯选拔赛真题96】Scratch风车旋转 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析
目录 scratch风车旋转 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、python资料 scratc…...
SQL血缘解析
Druid 作为使用率特别高的的数据库连接池工具,在具备完善的连接池管理功能外,同时Druid 的 SQL解析功能可以用来防止 SQL注入等安全风险。通过对 SQL 语句进行解析和检查,Druid 可以识别并阻止潜在的恶意 SQL 语句执行,黑名单(阻止特定的 SQL 语句执行)、白名单(仅允许特…...
Docker 部署机器学习模型
1.编写机器学习代码 (1)新建一个 mlmodel.py import numpy as np import pandas as pd from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sk…...
leetcode 面试经典 150 题:无重复字符的最长子串
链接无重复字符的最长子串题序号3类型字符串解题方法滑动窗口难度中等 题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 …...
LeetCode 283. 移动零 (C++实现)
1. 题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 …...
基于Spring Boot的个人财务系统
一、系统背景与目的 随着全球经济的发展和人们生活水平的提高,个人财务管理变得越来越重要。传统的个人财务软件存在操作复杂、用户体验差、数据不安全等问题,无法满足用户的个性化需求。因此,开发一种基于Spring Boot的个人财务系统&#x…...
【计算机网络2】计算机网络的性能能指标
目录 一 、计算机网络的性能指标 二、具体介绍 1、速 率 2、带 宽 3、吞 吐 量 4、时 延 5、时延带宽积 6、往 返 时 延 7、信道利用率 一 、计算机网络的性能指标 计算机网络的性能指标就是从不同方面度量计算机网络的性能,有如下7个指标: 速…...
Axure RP9 的详细安装及Axure入门应用
文章目录 一、Axure 是什么?二、Axure 的应用场景三、Axure 安装1. 下载安装2. 汉化授权 附:下载链接 一、Axure 是什么? 1、Axure 是一种强大的原型设计工具,它可以帮助设计师和产品经理快速创建交互式的、高保真度的原型,并进行用户体验…...
Scala学习记录 如何打印输出
在Scala中,打印输出可以通过多种方式实现,以下是一些常见的打印输出方法: 1.使用printf()方法: 这是一种传统的C语言风格的打印方式,通过格式化字符串来控制输出的格式。例如,printf("整数:…...
内网IP段介绍与汇总
IPV4内网段 IP地址段地址范围地址数量用途描述0.0.0.0/80.0.0.0–0.255.255.25516777216SoftwareCurrent network (only valid as source address).10.0.0.0/810.0.0.0–10.255.255.25516777216Private networkUsed for local communications within a private network.100.64…...
js常用方法之: 预览大图(uniapp原生方法封装)
方法: //预览图片 pic可传单个图片地址字符串 或 图片数组(带index) previewPic: function(pic, index) {if (!pic) return;if (index undefined) {let array [];array.push(pic);uni.previewImage({urls: array,current: array[0]});} else {uni.previewImage({urls: pic,…...
人脸生成3d模型 Era3D
从单视图图像进行3D重建是计算机视觉和图形学中的一项基本任务,因为它在游戏设计、虚拟现实和机器人技术中具有潜在的应用价值。早期的研究主要依赖于直接在体素上进行3D回归,这往往会导致过于平滑的结果,并且由于3D训练数据的限制࿰…...