- 博客(82)
- 收藏
- 关注
原创 批量规范化+代码+Q&A
在作者的论文中,还解释了其原理:通过减少内部协变量偏移(internal covariate shift)。 据推测,作者所说的“内部协变量转移”类似于上述的投机直觉,即变量值的分布在训练过程中会发生变化。 然而,这种解释有两个问题: 1、这种偏移与严格定义的协变量偏移(covariate shift)非常不同,所以这个名字用词不当。 2、这种解释只提供了一种不明确的直觉,但留下了一个有待后续挖掘的问题:为什么这项技术如此有效?但事实上我们不需要纠结这么多,因为学术界现在没有得出到底他为什么这么有效。事实上
2022-07-04 21:20:25
720
原创 LeNet +课后练习 + 快问快答
原网络精度损失之和测试精度 (下面的更改都是更改单个参数)将平均汇聚层替换为最大汇聚层,会发生什么? 将net中的avgpool改成Maxpool就好 测试精度差了尝试构建一个基于LeNet的更复杂的网络,以提高其准确性。调整卷积窗口大小。 这个调太麻烦了 还要计算。调整输出通道的数量。 将输出通道数调小后(第二层卷积输出通道数维为10) 将输出通道数调大后(第二层卷积输出通道数维24) 好像不如原来的调整激活函数(如ReLU)。 当使用relu做激活函数测试精度有所提高 因为relu函数对
2022-06-13 21:07:22
1888
原创 模型选择+过拟合欠拟合 快问快答
这部分的代码没有什么实际的含量和解读。所以接下来的内容我会一些练习和我认为有必要的问答写下去。 你能准确地解出这个多项式回归问题吗?提示:使用线性代数。 这个用矩阵哈自己算 考虑多项式的模型选择: 绘制训练损失与模型复杂度(多项式的阶数)的关系图。你观察到了什么?需要多少阶的多项式才能将训练损失减少到0? 在这种情况下绘制测试的损失图。 生成同样的图,作为数据量的函数。 如果你不对多项式特征\(x^i\)进行标准化(\(1..
2022-05-31 15:38:54
442
原创 多层感知机+快问快答
import torchfrom torch import nnfrom d2l import torch as d2lbatch_size = 256train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)#28*28 隐藏层, num_inputs, num_outputs, num_hiddens = 784, 10, 256#这里有个小问题,我们是全部设成随机数 一会.
2022-05-30 16:28:10
528
原创 softmax回归+数据集等等
图像分类数据集里 减少batch_size(如减少到1)是否会影响读取性能? 答: 批量越大时间的成本是越低的。 数据迭代器的性能非常重要。你认为当前的实现足够快吗?探索各种选择来改进它。 不会 查阅框架的在线API文档。还有哪些其他数据集可用? 自行查阅 #softmax实现开始import torchfrom IPython import displayfrom d2l import torch as d2lbatch_size = 2...
2022-05-26 18:14:11
457
原创 3.2线性回归的从零实现
%matplotlib inlineimport randomimport torchfrom d2l import torch as d2l#人工生成数据集def synthetic_data(w, b, num_examples): #@save """生成y=Xw+b+噪声""" #正太分布 X = torch.normal(0, 1, (num_examples, len(w))) y = torch.matmul(X, w) + b #噪声.
2022-05-25 17:19:02
486
1
原创 自我修炼_中级算法篇_leetcode_第15题
括号生成数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questio...
2022-04-12 12:27:04
974
1
原创 自我修炼_中级算法篇_leetcode_第14题
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"输出:["a","b","c"]提示:0 <= digits...
2022-04-10 21:34:29
517
原创 自我修炼_中级算法篇_leetcode_第13题
二叉搜索树中第K小的元素给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第k个最小元素(从 1 开始计数)。示例 1:输入:root = [3,1,4,null,2], k = 1输出:1示例 2:输入:root = [5,3,6,2,4,null,null,1], k = 3输出:3提示:树中的节点数为 n 。1 <= k <= n <= 1040 <= Node.val <= 104...
2022-04-09 13:21:38
124
原创 自我修炼_中级算法篇_leetcode_第12题
填充每个节点的下一个右侧节点指针给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有next 指针都被设置为 NULL。示例 1:输入:root = [1,2...
2022-04-08 16:53:26
1020
2
原创 自我修炼_中级算法篇_leetcode_第11题
给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例 1:输入: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]输出: [3,9,20,null,null,15,7]示例 2:输入: preorder = [-1], inorder = [-1]输出: [-1]作者:力扣 (LeetCode)链接:http
2022-04-07 17:26:01
1386
原创 自我修炼_中级算法篇_leetcode_第10题
给定一个二叉树的根节点 root ,返回它的 中序 遍历。这题还是比较温柔的。1.递归方法class Solution {public: void inorder(TreeNode* root, vector<int>& res) { if (!root) { return; } inorder(root->left, res); res.push_back(root-
2022-03-18 16:44:52
120
原创 自我修炼_中级算法篇_leetcode_第9题
相交链表给你两个单链表的头节点headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。自定义评测:评测系统 的输入如下(你设计的程序 不适用 此输入):intersectVal - 相交的起始节点的值。如果不存在相交节点,这一值为 0listA - 第一个链表listB - 第二个链表..
2022-03-16 13:14:03
106
原创 自我修炼_中级算法篇_leetcode_第8题
奇偶链表给定单链表的头节点head,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。第一个节点的索引被认为是 奇数 , 第二个节点的索引为偶数 ,以此类推。请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。你必须在O(1)的额外空间复杂度和O(n)的时间复杂度下解决这个问题。示例 1:输入: head = [1,2,3,4,5]输出:[1,3,5,2,4]示例 2:输入: head = [2,1,3,5,6...
2022-03-13 12:31:28
664
原创 C++ STL源码刨析 list篇(1)容器建立
新手对STL容器的源码剖析。首先为什么要做源码刨析?甚至我也有很大的疑问,会用就好。但是事实上看了源码会让你对各个算法的运用和容器有了更深的认识,并且我们阅读大师级的源码不也是一个成长的过程吗。提示:命名方式: _Insert_after 当下划线出现在首部时,变量作为函数内部使用。首先工具推荐使用VS2017以上的版本。接下来我们一步步的实现list。首先list是个双向的链表1.定义list.h知识点:explicit关键字 explicit关键...
2022-03-09 16:09:06
925
原创 自我修炼_中级算法篇_leetcode_第6题
增的三元子序列给你一个整数数组nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k)且满足 i < j < k ,使得nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,4,5]输出:true解释:任何 i < j < k 的三元组都满足题意示例 2:输入:nums = [5,4,3,2,1]...
2022-03-09 12:20:12
866
原创 自我修炼_中级算法篇_leetcode_第5题
最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"提示:1 <= s.length <= 1000s 仅由数字和英文字母组成作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-mediu...
2022-03-07 13:31:45
91
原创 自我修炼_中级算法篇_leetcode_第3题
字母异位词分组给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。示例 1:输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","tan"],["ate","eat","tea"]]示例 2:输入: strs = [""]输出: [[""]]示例 3:输入: str
2022-02-25 14:35:51
8082
原创 自我修炼_中级算法篇_leetcode_第2题
矩阵置零给定一个m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。示例 1:输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2:输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]提示:m == matrix.lengthn ..
2022-02-24 13:22:50
8133
1
原创 自我修炼_中级算法篇_leetcode_第1题
三数之和给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]作者:力扣 (LeetCode)链接:https://l...
2022-02-23 12:59:47
565
2
原创 logostic回归-机器学习-Octave代码详解
首先我们先说一下ex2.m不使用高级算法的代码详解,也就是梯度下降的过程。clear ; close all; clc%% Load Data% The first two columns contains the exam scores and the third column% contains the label.data = load('ex2data1.txt');X = data(:, [1, 2]); %考试成绩y = data(:, 3); %录取与否%% ==
2022-02-19 19:20:51
874
2
原创 logostic回归-机器学习-公式记录以及大概讲解
这章与前面 一章不同,虽然前一章是线性回归,这样也叫回归,但是我们要清楚这章的内容不是一个回归方程,他是一个分类问题的算法。当然为什么要叫回归,是因为历史的原因,废话不多说,大家只需要记住这是一个分类问题就好。1.前言分类问题在我们的日常生活中有很大的用途,例如判断电子邮件是否是垃圾邮件,判断一个肿瘤是良性或恶性的。我们先从二元分类问题来讨论。首先,对于因变量一般属于两类,正向类(1)或负向类(0)如果我们规定现在假如有这么几个案例,则我们的h-...
2022-02-19 15:19:07
855
原创 自我修炼_初级算法篇_leetcode_第45题
有效的括号给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true提示...
2022-02-18 13:05:41
7864
原创 自我修炼_初级算法篇_leetcode_第44题
颠倒二进制位颠倒给定的 32 位无符号整数的二进制位。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。示例 1:输入:n = 00000010100101000001111...
2022-02-15 12:29:33
82
原创 自我修炼_初级算法篇_leetcode_第43题
汉明距离两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例 1:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。示例 2:输入:x = 3, y = 1输出:1作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/...
2022-02-13 11:38:43
93
原创 自我修炼_初级算法篇_leetcode_第42题
位1的个数编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的示例 3中,输入表示有符号整数 -3。示例 1:输入:000...
2022-02-13 10:49:18
70
原创 自我修炼_初级算法篇_leetcode_第41题
罗马数字转整数罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1 。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+...
2022-02-08 12:32:44
1430
原创 自我修炼_初级算法篇_leetcode_第40题
3的幂给定一个整数,写一个函数来判断它是否是 3的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x示例 1:输入:n = 27输出:true示例 2:输入:n = 0输出:false示例 3:输入:n = 9输出:true示例 4:输入:n = 45输出:false作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/.
2022-02-07 10:37:32
1004
原创 自我修炼_初级算法篇_leetcode_第39题
计数质数统计所有小于非负整数n的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0提示:0 <= n <= 5 * 106作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnzlu...
2022-02-04 14:05:42
1233
原创 自我修炼_初级算法篇_leetcode_第38题
Fizz Buzz给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。answer[i] == "Fizz" 如果 i 是 3 的倍数。answer[i] == "Buzz" 如果 i 是 5 的倍数。answer[i] == i (以字符串形式)如果上述条件全不满足。示例 1:输入:n = 3输出:["1".
2022-02-02 13:39:33
624
原创 自我修炼_初级算法篇_leetcode_第37题
最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop()—— 删除栈顶的元素。top()—— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,nul...
2022-01-30 15:34:23
57
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人