- 博客(80)
- 收藏
- 关注
原创 动手深度学习-欠拟合和过拟合
给定一个训练好的模型和一个新的样本,我们不会丢弃任何节点,因此不需要标准化。当训练数据稀缺时,我们甚至可能无法提供足够的数据来构成一个合适的验证集。这里我们采用K-折交叉验证的方法:将训练数据分割成K块,使用第i(0
2023-02-01 19:23:39
834
原创 动手深度学习-多层感知机
注意,这两个层都是全连接的。每个输入都会影响隐藏层中的每个神经元, 而隐藏层中的每个神经元又会影响输出层中的每个神经元。感知机是二分类的线性模型,其输入是实例的特征向量,输出的是事例的类别,分别是+1和-1,属于判别模型。ReLU:不存在梯度消失(不饱和函数),丢掉不重要的特征(稀疏性),运算简单,收敛速度快,更符合生物神经网络激活机制,常用于训练过程激活函数。最受欢迎的激活函数是修正线性单元(Rectified linear unit,ReLU), 因为它实现简单,同时在各种预测任务中表现良好。
2023-01-13 20:26:04
729
原创 动手深度学习-线性神经网络:softmax回归
因为将线性层的输出直接视为概率时存在一些问题: 一方面,我们没有限制这些输出数字的总和为1。另一方面,根据输入的不同,它们可以为负值。softmax函数正是这样做的: softmax函数能够将未规范化的预测变换为非负数并且总和为1,同时让模型保持。为了确保最终输出的概率值总和为1,我们再让每个求幂后的结果除以它们的总和。我们希望模型的输出可以视为属于类的概率, 然后选择具有最大输出值的类别作为我们的预测类。为了估计所有可能类别的条件概率,我们需要一个有多个输出的模型,每个类别对应一个输出。
2023-01-12 16:00:00
763
原创 动手深度学习-线性神经网络:线性回归
线性模型定义:回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法。线性假设是指目标可以表示为特征的加权和,权重决定了每个特征对我们预测值的影响。当我们的输入包含d个特征时,我们将预测结果y^ (通常使用“尖角”符号表示y的估计值)表示为:$$ \hat{y}=w_1 x_1+\ldots+w_d x_d+b$$在开始寻找最好的模型参数(model parameters)w和b之前, 我们还需要两个东西: (1)一种模型质量的度量方式; (2)一种能够更新模型以提高模型预
2023-01-11 10:47:22
666
原创 Python链表基础知识
链表定义链表(Linked List):一种线性表数据结构。它使用一组任意的存储单元(可以是连续的,也可以是不连续的),来存储一组具有相同类型的数据。链表的基本操作数据结构的操作一般涉及到增、删、改、查 4 种情况,链表的操作也基本上是这 4 种情况。
2023-01-09 22:02:36
1480
原创 LC初级算法:两数之和-Python
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。
2023-01-09 15:52:38
162
原创 LC初级算法:验证回文串-Python
LC初级算法:验证回文串-Python其中保留数字和字母:str.isalnum(): 如果str字符串中的所有字符都是字母或数字且至少有一个字符,则返回 True , 否则返回 False只保留数字:str.isdigit():如果字符串中的所有字符都是数字,并且至少有一个字符,返回 True ,否则返回 False只保留字母:str.isalpha():如果字符串中的所有字符都是字母,并且至少有一个字符,返回 True ,否则返回 Falsestr.upper(): 将指定字符串变为大写
2023-01-08 12:46:13
550
原创 LC:寻找数组的中心下标-Python
左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。右侧数之和 sum = nums[1] + nums[2] = 1 + -1 = 0。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。输入:nums = [1, 7, 3, 6, 5, 6]输入:nums = [2, 1, -1]
2022-12-25 16:06:50
465
原创 LC初级算法:旋转图像-Python
输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]
2022-12-25 14:50:02
235
原创 LC初级算法:移动零-Python
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。快排的思想:不等于0交换到左边,等于0的交换到右边。输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]输入: nums = [0]
2022-12-24 10:46:29
148
原创 LC初级算法:加一-Python
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。先转化为字符串类型,再转为整型,加一之后转为列表。输入:digits = [4,3,2,1]输入:digits = [1,2,3]解释:输入数组表示数字 4321。解释:输入数组表示数字 123。输入:digits = [0]输出:[4,3,2,2]的话,直接把个位数加。输出:[1,2,4]
2022-12-24 09:30:35
119
原创 【PAT】Python 1010 一元多项式求导
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为0 0。输入样例:
2022-11-16 20:57:24
240
原创 数学建模-BP神经网络模型
数学建模-BP神经网络模型 bp神经网络是一种按误差逆传播算法训练的多层前馈网络,是一种多层的前馈神经网络,是目前应用最广泛的神经网络模型之一。其主要的特点是:信号是前向传播的,而误差是反向传播的。bp神经网络的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。
2022-11-14 15:39:12
2168
原创 数学建模整理-层次分析法
数学建模整理-层次分析法层次分析法(Analysis Hierarchy Process,简称 AHP),是对一些较为复杂、较为模糊的问题作出决策的简易方法,它适用于那些难于完全定量分析的问题 。它将人的思维过程分成目标层、准则层和方案层,并借助数学模型进行分析,是一种将决策者定性判断和定量计算有效结合起来的实用的决策分析方法。该方法系统性强,使用灵活、简便,适用于组织化的大规模复杂系统。尤其是当系统规模庞大、结构复杂、属性及目标多样,且系统中很多要素指标仅有定性关系时,采用层次分析法进行评价和决策是非
2022-11-13 17:19:36
2625
原创 【PAT】Python 1005 继续(3n+1)猜想
【PAT】Python 1005 继续(3n+1)猜想set()集合是一个无序的不重复元素序列,可以利用这一性质去除重复的元素sorted()函数可直接用于排序
2022-11-12 18:55:17
167
原创 判断素数/质数的快速算法
判断素数/质数的快速算法质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数)。——via维基百科埃氏筛法:运算速度更快的判断素数算法。可以知道除了2(2是素数)以外的其他偶数都不是素数,除了3(3是素数)以外其他能被3整除的数都不是素数。所以一个素数的整数倍都不是素数,可以利用这一点编写算法如下:
2022-11-12 16:58:53
758
原创 【PAT】Python 1004 成绩排名
【PAT】Python 1004 成绩排名输入成绩时,要将输入数据转化为整型int,否则比较成绩时比较的实际是字符串型。
2022-11-06 20:45:29
293
原创 C语言复习题目
题目描述:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。题目描述:对输入的两个整数a,b,用指针变量作为函数参数,交换a和b的值。题目描述:用一个函数实现两个字符串的比较,即自己写一个strcmp函数。输出最大的那个字符串。
2022-09-10 18:04:38
2676
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人