自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(214)
  • 资源 (7)
  • 收藏
  • 关注

原创 Skip-Gram模型理解

这个矩阵的每一行都对应着每个词,这样就可以达到模型训练的预期效果了。

2024-03-11 09:55:03 418

原创 CBOW模型理解

学到NLP的时候CBOW模型是基础入门的门槛,但好多教程讲的都很复杂,直呼听不懂。B站上有个不错的动画演示版本,但是越往后也听不懂。实际上简化下来的原理很简单,但无奈都讲的不好。这里自己理解记录一下。在CBOW模型之前,计算词与词之间的距离方法已经比较成熟了,但还是有各种痛点。

2024-03-08 16:27:37 522 1

原创 Windows安装yolov8无法使用cuda问题解决办法

6.在训练的时候要设置workers=0如model.train(data=‘./data.yaml’, epochs=3, workers=0),GPT的解释是workers=0使用了单线程数据加载,如果不用这个会卡在加载数据那。但是yolov8的pip安装指令会自动安装一个pytorch版本,就又导致和cuda版本对不上号一直用不起来gpu。5.确认cuda的环境变量都对的(默认应该都对的,不对的话问问GPT怎么设置)4.在cmd里使用conda安装yolov8,这一步很重要,pip装的不行。

2024-01-18 14:58:53 998

原创 DBSCAN聚类算法

随机从一个点开始,计算一个半径ε的圆范围内有没有另一个数据,如果有,则不断扩散,将其聚为一类。离群的点(距离其他点比较远的点)无法形成规模(可以自行设置规模)的情况下则不组成簇。整个过程就类似于病毒“扩散”的过程,在范围内的被同种病毒传播,不在范围内的就传播不到。在聚类问题中,我们要根据数据的大致形状和我们预期的结果去选择不同的聚类算法。DBSCAN读作:DB Scan,是英语。之后再来理解DBSCAN就容易多了。

2024-01-04 16:50:46 465

原创 K-means聚类算法

K-means聚类算法是聚类算法中最基础的一个算法,虽然基础,但由于其出色的性能和相对较好的效果,至今依然是主流的聚类算法之一。

2024-01-04 16:04:16 571

原创 拉格朗日乘数法基础原理

在学到拉格朗日乘数法的时候,讲解的都很复杂,很难理解,本篇用最简单的例子来说明拉格朗日乘数法基础原理,方便我们入门理解。

2023-12-29 09:42:30 908

原创 支持向量机(SVM)

支持向量机(SVM)中最常用的核就是径向基函数(RBF)核,通用性较强,拟合效果好,针对一些线性回归的数据可以使用线性核,其他的核都在极小的领域内有应用。

2023-12-26 08:47:58 67

原创 交叉熵损失函数

我们在线性回归中很好地理解了均方误差的公式。理解了要进行全局误差优化(在线性回归中通常是梯度下降)首先得有一个损失函数来计算单个数据的损失。在多分类问题解决方法Softmax回归模型中,通常使用的损失函数就是交叉熵损失函数,在讲交叉熵损失函数之前,我们先理解了Softmax函数是如何将数据转换为概率的。

2023-12-25 10:55:46 159

原创 Softmax 函数

在上一篇中我们使用逻辑回归OvR策略来解决多分类问题,本篇介绍一下使用Softmax回归模型来解决多分类问题,但由于Softmax回归模型涉及内容过多,本篇先从Softmax函数原理讲起。

2023-12-25 09:50:32 80

原创 逻辑回归OvR策略

逻辑回归本身是为解决二分类问题而设计的,但聪明的前辈们很快就将其应用于多类别分类问题。这种方法被称为一对多(One-vs-Rest, OvR)策略,它通过将多类别问题分解为多个二分类问题来实现。

2023-12-22 14:49:36 1092

原创 Lasso回归、岭回归和弹性网络回归

在一文中,我们详细解释了正则化的原理及作用:当有很多个特征X时,有些特征往往不重要,所以需要降低其的权重。而正则化则是为每个特征修改权重从而提升训练效果。正则化在中也是相同的原理,我们还记得正则化分成了两种:L1正则化和L2正则化,两者的区别就是L1将某些特征的权重设为了0,而L2中则以一个极小的权重保留了特征。(L1)、(L2)和(L1和L2中和)。

2023-12-22 11:31:54 589

原创 归一化和标准化(Z-Score)

在处理数据过程中,通常会有不同规格的数据,比如年龄的取值范围是0-130,收入的取值范围是0-100000等等,如果不进行归一化或标准化处理,梯度下降每次走过的相对长度就不一样,就导致某个参数很快就找到了最优解,另一个参数还早得很。

2023-12-19 20:13:56 619

原创 最小二乘法在线性回归中的用法

可以看到最小二乘法在线性回归中和梯度下降起到的作用是非常类似的,都是去找到一条最优的直线来拟合数据。举个例子,有一个三角形,如果用梯度下降去求三角形的面积就是,随机写一个面积,去和三角形比较,然后如果小了就扩大,如果大了就缩小,慢慢去往三角形的面积去靠。当自变量为零时,因变量也为零的情况下,使用上述的方法即可。在线性回归中,最小二乘法适用于寻找最适合数据集的直线或平面时,提供一种计算模型参数的解析解。如下图,使用转置后(右图)的矩阵去和原矩阵点乘,就实现了每一个结果的累加(求和)。的求解值就会发生改变。

2023-12-19 14:32:14 602

原创 逻辑回归代价函数

逻辑回归的代价函数通常使用交叉熵损失来定义。这种损失函数非常适合于二元分类问题。本篇来推导一下逻辑回归的代价函数。首先,我们在之前了解了的定义:逻辑回归模型是一种用于二元分类的模型,其预测值是一个介于0和1之间的概率。模型的形式是一个S形的逻辑函数(sigmoid函数),但是sigmoid函数的参数到底要选哪个,就需要对sigmoid函数的结果进行评判,因此也就需要第二步:损失评估。

2023-12-15 14:36:15 370

原创 逻辑回归正则化

假设你在厨房准备一顿饭,你的目标是做出美味又不过分油腻的菜肴。

2023-12-15 10:08:36 688

原创 多项式回归

多项式的复杂度(即公式中的n)不宜太低(欠拟合)或过高(过拟合)。所以就需要使用一条多项式来模拟曲线回归。在多项式回归中最重要的就是选择多项式的复杂度,

2023-12-14 11:20:36 91

原创 逻辑回归原理及代码

线性回归主要用于预测连续的数值输出,基于线性关系模型,其目标是最小化实际值和预测值之间的差异。逻辑回归主要用于分类问题,尤其是二元分类,它预测属于某一类别的概率,并基于概率输出进行决策,使用的是逻辑(Sigmoid)函数将线性模型的输出转换为概率值。简单说就是:找到一组参数,使得模型对分类结果的预测概率最大化。举个例子:在预测银行贷款这件事上,线性回归可以帮你预测银行能发放的贷款额度是多少,逻辑回归则是尽可能准确地预测银行能否发放贷款(要么0,要么1)。

2023-12-13 14:23:35 250

原创 多变量批量梯度下降python代码

前面几篇分别完成了单变量的处理,其中数据本身范围比较合理以至于损失值没有太离谱。本篇使用的数据集的目标值y和特征X的量级差距过大,因此引入了目标变量的特征归一化处理。注:本文为学习吴恩达版本机器学习教程的代码整理,使用的数据集为。在图片绘制阶段,进行了逆归一化处理。

2023-12-12 14:13:24 83

原创 小批量梯度下降的代码实现

作为线性回归中理论上最佳的梯度下降代码实现,我测试了一下结果,确实和理论结果一样,同迭代次数下小批量梯度下降效果没有批量梯度下降的效果好,但是增加迭代次数后就基本持平了。所以小批量梯度下降应该是线性回归中大中小量级数据最佳的算法。总结:线性回归问题中小批量梯度下降应该是通用的算法了。

2023-12-12 11:16:44 93

原创 随机梯度下降的代码实现

个人总结:随机梯度下降估计只有针对超大规模的数据有应用意义。

2023-12-12 11:01:27 566

原创 单变量线性回归的机器学习代码

将数据集和py代码放到同一目录中,使用Spyder打开运行,代码中整体演示了数据加载处理过程、线性回归损失函数计算方法、批量梯度下降方法、获得结果后的预估方法、线性回归结果函数绘制、模型导出及加载使用方法,其中最后三部分彼此无依赖关系可单独执行。本文为学习吴恩达版本机器学习教程的代码整理,使用的数据集为。

2023-12-11 17:05:41 234

原创 梯度下降(批量梯度下降、随机梯度下降、小批量梯度下降)

在中我们推导了损失函数Jθ2m1​∑i1m​yi−hθ​xi2的由来,结尾讲到最小化这个损失函数来找到最优的参数θ,通常是使用梯度下降实现的。梯度下降广泛用于机器学习和统计建模中的参数估计,特别是在训练线性回归模型时。它的目标是最小化一个损失函数(目标函数),这个函数量化了模型预测和真实数据之间的误差。梯度下降通过迭代地调整模型的参数来减少成本函数的值。

2023-12-06 14:48:17 435

原创 损失函数(目标函数)

损失函数(目标函数)是用来衡量模型的预测值与实际值之间差异的函数。对于线性回归问题,最常用的损失函数是平方误差损失函数,也称为均方误差(Mean Squared Error, MSE)。这个损失函数的来源是最小二乘法(Least Squares Method),其目标是最小化预测误差的平方和。,使得模型的预测值尽可能地接近实际值,这个过程通常是通过梯度下降来完成的。在实际的线性回归模型训练中,我们通过最小化这个损失函数来找到最优的参数。

2023-12-06 13:28:30 200

原创 似然函数和对数似然

对数似然:由于似然函数是乘法运算,导致运算效率低,通过Log对数运算把乘法运算转换为加法运算能极大提升效率,并且加法运算能解决大量乘法运算的数值下溢问题。)代入其概率密度函数(正态分布的PDF),然后对所有数据点的这些概率进行乘积,从而得到整体数据集在给定参数下出现的可能性。)代入其概率密度函数(正态分布的PDF),然后对所有数据点的这些概率进行乘积,从而得到整体数据集在给定参数下出现的可能性。这个过程等价于最小化误差项的平方和,这是线性回归中常用的最小二乘法。在最大化对数似然函数的过程中,我们寻找能使。

2023-12-06 08:52:22 451

原创 概率密度函数(PDF)正态分布

概率密度函数(PDF)是一个描述连续随机变量取特定值的相对可能性的函数。exp用于计算概率的指数部分,确保了大多数数据点都集中在平均值附近,而远离均值的数据点则呈指数级减少,就是让曲线呈“钟形曲线(高斯分布)”。它的作用是确保概率密度函数(PDF)的积分——也就是函数下整个面积等于1。在数学上,这意味着对于连续概率分布,确保所有概率值的总和为1。均值决定了分布的中心位置,而方差(标准差的平方)决定了分布的离散程度。是一个重要的数学常数(自然对数的底数),约等于2.71828,而exp是。

2023-12-05 15:54:18 990

原创 线性回归模型标准公式

使得误差项的平方和最小,这也就是最小二乘法的原理。通过这种方式,模型能够尽可能准确地拟合训练数据,同时也能够对新的未见过的数据进行有效的预测。然而,实际情况是,数据会有一些随机性或者是由于模型无法捕捉的因素造成的变异,这就是为什么我们需要。在现实世界中,数据往往不会完美地落在一条直线上,误差项就是用来捕捉这些无法通过模型解释的变异性。相乘并求和时,我们就得到了一个数值,这个数值是响应变量的预测值,或者说是我们期望的。理想情况下,如果模型是完美的,那么。个观察点的响应变量,也就是我们想要预测的目标值。

2023-12-05 13:52:24 416

原创 Three.js设置透明背景

首先我的html结构如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&...

2023-08-18 16:48:54 712

原创 Three.js中OutlinePass与后处理冲突问题

需求是鼠标滑过物体的时候物体显示为描边选中状态方案一:OutlinePass首先尝试了官方的OutlinePass来添加外边框选中功能这是没加OutlinePass的效果:这是使用OutlinePass后的,描边是可以了,但是锯齿严重,且模型发黑:深入调研了一下发现是OutlinePass与renderer.outputEncoding = THREE.sRGBEnco...

2023-06-29 10:19:56 926

原创 CmClientException: The client configuration file "client.conf" contains errors: Root element is m...

对于你遇到的Unity新建项目时报错:"CmClientException: The client configuration file "client.conf" contains errors: Root element is missing."的问题,下面是一些可能的解决方案:尝试在所有GUI关闭的情况下删除client.conf文件,然后重启,它将在下次启动时重新构建。该文件位于隐藏...

2023-06-05 10:20:19 1595 2

原创 Unity TextmeshPro 打包字体中所有中英文及标点符号

在使用TextmeshPro过程中,我们会需要打包字体,而打包字体的时候,就需要设置需要打包的字符。这时候如果用网上的一些txt打包字符集,就会出现一些字符多多少少会有丢失的问题。本文介绍使用Unicode范围来设定打包字符范围,以将全部字符、标点符号打包进去。1.在Unity编辑器的顶部菜单中,选择Window > TextMeshPro > Font Asset Creator...

2023-05-15 14:41:47 740

原创 每日一学33——Unity点击UGUI按钮后,再按空格键会自动触发按钮

在Unity中,当你点击UGUI(Unity GUI)按钮后,再按空格键会自动触发按钮的原因是默认情况下,Unity将空格键映射为UI按钮的"Submit"(提交)操作。这是因为Unity的事件系统在处理UI交互时,会为每个按钮指定一个默认的"Submit"按钮。"Submit"按钮可以通过鼠标点击或按下"Enter"键来触发。而在某些情况下,Unity还将空格键映射为"Submit"操作,以提...

2023-05-06 16:15:09 907

原创 Three.js生成一个可拖拽的3D窗口

如下图:源码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title...

2023-03-29 15:56:52 155

原创 ios Unable to install "My project"

最近在玩ARFoundation的时候发现装了一些插件后,怎么也跑不起来了,编译没报错,就是弹窗说Unable to install "My project"搜了试了很多方法最终发现,需要到Build Phases->Embedded Frameworks中选中所有...

2022-07-28 01:27:20 179

原创 Three.js中getWorldPosition失败

想将子物体的世界坐标输出出来网上大多能搜到:var pos = new THREE.Vector3();object.getWorldPosition( pos );但是有时候又会出现输出的是物体的相对坐标的问题,查了一下是因为场景的矩阵没有更新,需要在调用getWorldPosition之前先更新一下场景矩阵,代码如下:scene.updateMatrixWorld();var pos...

2022-05-31 17:08:02 434

原创 Three.js中的类型转换

Three.js中的object类型没有像Unity里可以通过getcomponent获取物体身上组件,这样在传参过程中就会出现无法通过当前对象直接调用如.geometry等mesh的属性或方法。要实现上述功能可以通过如下方法:if (object instanceof Mesh) { object.geometry.translate(0, 100, 0); }先...

2022-05-30 13:47:39 428

原创 Three.js修改模型中心点

需求中需要修改模型的中心点到其他位置,用于实现一些模型的对齐。本文使用三种方式实现修改模型的中心点:一、通过为模型添加父物体,再移动模型的相对位置,之后的位移旋转等通过父物体来操作。这个方法相对简单,但一方面不是“真正”地修改模型中心点,也会给模型的管理增加难度。二、通过移动模型的顶点实现修改中心点位置这个方法通过矩阵将模型所有顶点的位置全部修改了,同理,需要整体缩放模型顶点位置、角度,...

2022-05-30 13:38:18 6910 1

原创 基于Three.js的光线追踪

最近研究了一下基于webgl的光线追踪中的路径追踪方案,实现了如下链接的效果,目前材质的效果、计算速度、整体运行帧数等等都难以达到商用水平。只能当玩具玩一玩啦~http://eevee.com.cn/Examples/36.PathTracing/index.html...

2022-05-20 17:49:12 1203 2

原创 Three.js 在iPhone手机上部分贴图黑色问题

最近在测试移动端适配性的时候发现模型的贴图有时候会变成纯黑色,每次刷新变黑的部分还会随机不一样,而且首次加载一般没问题,关掉网页再次加载的时候极高概率触发。搜了一下发现Three.js官方也知道这个问题,问题的起因是:ios15.x系统中更新了贴图机制,导致贴图无法加载,three.js官方给出的结论是这是ios本身的bug,可以通过如下方式改善这个问题://修复部分纹理随机黑色问题 ...

2022-03-31 09:34:25 1282

原创 Three.js MeshStandardMaterial菲涅尔实现

前面两篇分别讲了Three.js的源码结构和Shader改写方法,本篇做一个基于Standard材质的菲涅尔。如未读过前两篇的建议先读一下:Three.js Shader源码结构https://www.jianshu.com/p/8de8a94ac1a9Three.js Shader改写https://www.jianshu.com/p/5944e10d70cf仅打开一盏平行光时最终效果如...

2022-03-22 15:55:04 1566 1

原创 Three.js Shader改写

上一篇我们分析了Three.js的材质Shader的源码结构,本篇在讨论一下官方提供的api onBeforeCompile如何使用。首先官方描述如下:.onBeforeCompile ( shader : Shader, renderer : WebGLRenderer ) : undefinedAn optional callback that is executed immediate...

2022-03-22 09:31:00 444 2

Project Auditor 0.10.0

Unity插件Project Auditor是一个分析Unity项目的工具,可以帮助开发者找到项目中的问题并提出建议,以改进项目的性能和质量。 该插件可以帮助开发者检查以下方面: 性能:分析项目的资源使用情况,例如纹理、模型和声音等,以找出性能瓶颈。 代码:分析脚本的质量,包括代码复杂度、未使用的变量和方法等。 配置:检查项目的设置,例如压缩纹理、渲染质量和渲染路径等。 内容:检查项目中的内容是否符合最佳实践,例如材质的正确使用、模型的优化和粒子系统的设置等。 使用Project Auditor可以提高Unity项目的质量和性能,并帮助开发者找出问题和潜在的风险。它是一个非常有用的工具,特别是在项目开发的早期阶段,可以让开发者及时发现并解决问题。

2023-04-20

DoozyUI - Complete UI Management System v3.1.0.unitypackage.zip

DoozyUI - Complete UI Management System v3.1.0.unitypackage

2021-10-19

Cute 2D Animals 1.0.unitypackage.zip

Cute 2D Animals 1.0.unitypackage

2021-10-19

Clinic - Operating room 1.0.unitypackage.zip

Clinic - Operating room 1.0.unitypackage

2021-10-19

Colorful Sea-Fish Pack.unitypackage.zip

Colorful Sea-Fish Pack.unitypackage

2021-10-19

Concave_Collider_v1.24.unitypackage.zip

Concave_Collider_v1.24.unitypackage.zip

2021-10-19

Obi_Fluid_v6.2.unitypackage.zip

Obi_Fluid流体模拟最新版

2021-10-15

unity Liquid Volume 4.0.zip

液体模拟插件,可以从杯子里倒水出来,有移动惯性

2021-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除