- 博客(124)
- 资源 (1)
- 收藏
- 关注
原创 VGG论文精细解读
VGG核心贡献是证明了卷积神经网络的深度是提升大尺度图像识别精度的关键,并提出了以 “小卷积核 + 深网络” 为核心的 VGG 架构,至今仍是计算机视觉领域的经典基准模型。
2025-11-08 21:09:03
823
原创 预剪枝与后剪枝详细解释
在决策树算法(如 CART)中,剪枝(Pruning)是防止过拟合的关键技术。剪枝分为预剪枝(Pre-pruning)和后剪枝(Post-pruning)
2025-10-30 08:00:00
1097
原创 CART 算法详细解释
CART 算法,全称为分类与回归树(Classification and Regression Trees),是一种广泛使用的决策树算法,由 Leo Breiman 等人在 1984 年提出。它可用于解决分类问题(输出离散类别)和回归问题(输出连续值)。CART 通过递归地将数据集分割成更纯的子集来构建树结构,每个分割基于特征和阈值的选择,以最小化不纯度(对于分类)或误差(对于回归)。以下将详细解释 CART 的分类与回归逻辑,并重点包括基尼指数的计算与应用原理。
2025-10-29 21:35:50
1393
原创 生成对抗网络(GAN)
生成对抗网络 (Generative Adversarial Network, GAN) [ˈdʒɛnərətɪv ˈædvərsəriəl ˈnɛtwɜːrk]GAN的核心思想是一个“伪造者-鉴别者”的二人博弈游戏。它主要由两个模型组成:生成器 (Generator, G) [ˈdʒɛnəreɪtər]:负责从随机噪声中生成假数据,试图“以假乱真”。判别器 (Discriminator, D) [dɪˈskrɪmɪneɪtər]:负责判断输入数据是真实的还是生成器生成的假数据。通过两者的对
2025-10-26 19:26:06
1499
1
原创 防止过拟合相关技术
所有方法都旨在让模型更通用,避免记忆噪声。数学本质:正则化修改损失函数,Dropout和BN改变网络结构,数据增强扩充数据集。优劣对比:L1适合特征选择,L2更平滑;Dropout适用于大型网络;提前终止简单;BN加速训练。
2025-10-26 17:47:08
638
原创 深度学习优化器详解
基础优化器:Momentum、NAG - 解决梯度下降的震荡问题自适应优化器:Adagrad、Adadelta、RMSProp - 自动调整学习率组合优化器:Adam、AdaMax、Nadam - 结合动量和自适应学习率
2025-10-26 17:09:45
1034
原创 梯度下降法及其变体详解
梯度下降法:优化算法的理论基础BGD:精确但低效,适合理论研究SGD:快速但震荡,适合在线学习MBGD:实践中的最佳选择,平衡效率与稳定性
2025-10-26 16:44:55
957
原创 数据预处理方法
数据预处理是机器学习和数据挖掘流程中至关重要的一步。原始数据通常存在各种问题,如量纲不一、存在缺失值、包含噪声、非数值型等。高质量的数据预处理能显著提高模型的性能、收敛速度和泛化能力。
2025-10-25 19:15:07
693
原创 ReLU函数超详细解释
ReLU(Rectified Linear Unit,修正线性单元)是一种分段线性函数,在深度学习中作为激活函数使用。它的设计灵感来源于神经科学中神经元的"全有或全无"特性。
2025-10-23 09:00:00
2144
原创 局部响应归一化(Local Response Normalization, LRN)详解
局部响应归一化(LRN)是一种在深度神经网络中使用的归一化技术,最早在 AlexNet 中被提出并广泛应用。它的主要思想是通过对局部神经元的活动进行竞争性抑制,增强模型的泛化能力。
2025-10-23 08:30:00
862
原创 RBF(径向基函数)详解
RBF(Radial Basis Function,径向基函数)是一种沿径向对称的标量函数,其值仅取决于输入点与中心点之间的距离。RBF 在函数逼近、神经网络、支持向量机等领域有广泛应用。
2025-10-22 18:14:31
860
原创 Tanh 函数详解
Tanh 函数(双曲正切函数)是深度学习和神经网络中常用的激活函数之一。它是双曲函数家族中的一员,与传统的三角函数类似但定义在双曲几何中。
2025-10-22 17:49:52
1288
原创 CNN各层详解:卷积层、池化层和全连接层
展平是将多维特征图转换为一维向量的过程,以便输入到全连接层。卷积层:输出尺寸由输入尺寸、卷积核、步幅和填充共同决定池化层:输出尺寸由输入尺寸、池化窗口和步幅决定,通道数不变展平操作:将多维特征图转换为一维向量,保持批量维度公式记忆:记住基本的尺寸计算公式,理解滑动窗口原理对于更加基础内容的介绍,参考以下两篇文章CNN基础知识——卷积(Convolution)、填充(Padding)、步长(Stride)CNN卷积神经网络中的stride、padding、channel以及特征图尺寸的计算。
2025-10-20 09:00:00
1441
原创 Sigmoid函数详解
定义域−∞∞−∞∞值域01(0, 1)01中心点σ00.5σ00.5数学本质:将实数映射到(0,1)的S形函数核心公式σx11e−xσx1e−x1重要特性:导数可用自身表示σ′σ1−σσ′σ1−σ应用场景:二分类输出层、概率估计现代替代:在隐藏层中多被ReLU等函数替代,避免梯度消失Sigmoid函数是深度学习发展历程中的重要组成部分,虽然现在在隐藏层中使用较少,但理解其原理对于掌握神经网络的发展脉络至关重要。
2025-10-19 08:51:31
1189
原创 Java_22 冒险岛
肖恩是一位勇敢而机智的冒险家,他今天来到了一片全新的冒险岛。冒险岛中布满了各种危险的怪物和陷阱,但肖恩凭借着她的智慧和技巧,总能克服困难,向前迈进。在冒险岛的深处,有一片广阔的战斗场地,里面隐藏着许多凶猛的怪物。肖恩必须在怪物察觉他之前,尽可能多地捕获这些怪物,以保证自己的安全。肖恩有一个特殊的技能,能够一次性将若干怪物同时捕获。然而,这项技能有一些限制。捕获的怪物之间的横坐标的最大差值不能大于 A,纵坐标的最大差值不能大于 B。
2024-03-31 21:54:34
590
原创 Java_22 蓝桥杯真题——拼数
给定几 个正整数 a1,a2....,an,你可以将它们任意排序,现要将这 几 个数字连接成一排,即令相邻数字收尾相接,组成一个数。问,这个数最大可以是多少。
2024-03-31 15:44:30
570
原创 Java_21 完成一半题目
有N位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了2*N道题目,整型数组questions中每个数字对应了每道题目所涉及的知识点类型。若每位扣友选择不同的一题,请返回被选的N道题目至少包含多少种知识点类型。1解释:有 2 位扣友在 4 道题目中选择 2 题。可选择完成知识点类型为 2 的题目时,此时仅一种知识点类型 因此至少包含 1 种知识点类型。2解释:有 6 位扣友在 12 道题目中选择题目,需要选择 6 题。选择完成知识点类型为 3、5 的题目,因此至少包含 2 种知识点类型。
2024-03-29 21:41:10
625
原创 Java_20 元素和最小的山形三元组
给你一个下标从开始的整数数组nums。如果下标三元组(i, j, k)满足下述全部条件,则认为它是一个请你找出nums中的山形三元组,并返回其。如果不存在满足条件的三元组,返回-1。9三元组 (2, 3, 4) 是一个元素和等于 9 的山形三元组,因为:- nums[2] < nums[3] 且 nums[4] < nums[3]这个三元组的元素和等于 nums[2] + nums[3] + nums[4] = 9。可以证明不存在元素和小于 9 的山形三元组。13。
2024-03-29 20:28:05
1262
原创 Java_19 罗马数字转整数
罗马数字包含以下七种字符:IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的 1。12写做XII,即为XII。27写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为IX。IVXXLCCDM给定一个罗马数字,将其转换成整数。
2024-03-28 21:39:44
950
原创 Java_18 字符串中的单词反转
你在与一位习惯从右往左阅读的朋友发消息,他发出的文字顺序都与正常相反但单词内容正确,为了和他顺利交流你决定写一个转换程序,把他所发的消息message转换为正常语序。注意:输入字符串message中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。"world!hello"输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。message。
2024-03-28 17:53:43
489
原创 Java_17 两数之和
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]你可以想出一个时间复杂度小于O(n2)的算法吗?
2024-03-27 17:17:13
405
原创 Java_16 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]提示:进阶:你能尽量减少完成的操作次数吗?作者:LeetCode。
2024-03-27 12:00:00
537
原创 Java_15 删除排序数组中的重复项
给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k。
2024-03-26 17:06:31
1087
原创 Java_14 寻找旋转排序数组中的最小值
已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]]。
2024-03-26 16:03:31
853
原创 Java13_反转字符串中的单词 III(方法二String转换成字符数组)
给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入:s = "Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"示例 2:输入: s = "Mr Ding"输出:"rM gniD"提示:s 包含可打印的 ASCII 字符。s 不包含任何开头或结尾空格。s 里 至少 有一个词。s 中的所有单词都用一个空格隔开。相关标签Java。
2024-03-19 21:32:24
440
原创 Java_13 反转字符串中的单词 III(方法一将String改为StringBuilder)
不能用slow 和fast直接换顺序,是全局变量,后面的遍历字符串会受影响1.对全局变量认识加深,在写的时候有所思考👍2.对于Java的String 类和StringBuider类需要加深学习和思考,途中很多坎坷都是因为不知💪3.位运算了解掌握🤔4.eclipse调试get(之前就想着学,这次会了!)👍5.不同语言之间的差异明显感知🤔。
2024-03-19 17:36:23
768
原创 Java_12 杨辉三角 II
给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: rowIndex = 3输出: [1,3,3,1]示例 2:输入: rowIndex = 0输出: [1]示例 3:输入: rowIndex = 1输出: [1,1]提示:进阶:你可以优化你的算法到 O(rowIndex) 空间复杂度吗?作者:LeetCode。
2024-03-15 18:00:16
1248
原创 Java_11 杨辉三角
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]提示:作者:LeetCode链接:https://leetcode.cn/leetbook/read/array-and-string/cuj3m/
2024-03-15 12:33:59
394
原创 Java10_长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target。找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。示例 2:输入:target = 4, nums = [1,4,4]输出:1。
2024-03-14 15:52:15
920
原创 Java_9最大连续1的个数
给定一个二进制数组 nums , 计算其中最大连续 1 的个数。示例 1:输入:nums = [1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.示例 2:输入:nums = [1,0,1,1,0,1]输出:2提示:nums[i] 不是 0 就是 1.相关标签Java作者:LeetCode。
2024-03-14 15:00:30
606
原创 Java_8 移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝。
2024-03-12 15:23:11
372
原创 Java_7 两数之和 II - 输入有序数组
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。
2024-03-12 11:23:07
798
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅