![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
任菜菜学编程
暂无
展开
-
numpy常用知识整理
1、numpy生成常见概率分布二项分布试验由一系列相同的n个试验组成,每次试验有两种可能的结果,成功或者失败;每次试验成功的概率是相同的,用p来表示;试验是相互独立的。设x为n次试验中的成功的次数,由于随机变量的个数是有限的,所以x是一个离散型随机变量import numpy as npimport matplotlib.pyplot as pltn=100p=0.7a = np.random.binomial(n, p, size=10000)#绘制柱状图,bins是柱数plt原创 2020-08-21 10:24:07 · 327 阅读 · 0 评论 -
《30天吃掉那只tensorflow2 》day2-图片数据建模流程范例
学习网站:https://lyhue1991.github.io/eat_tensorflow2_in_30_days/1-2,图片数据建模流程范例.htmlcifar2数据集为cifar10数据集的子集,只包括前两种类别airplane和automobile。训练集有airplane和automobile图片各5000张,测试集有airplane和automobile图片各1000张。cifar2任务的目标是训练一个模型来对飞机airplane和机动车automobile两种图片进行分类。原创 2020-07-16 23:00:09 · 336 阅读 · 0 评论 -
动手学深度学习(tensorflow)---学习笔记整理(十、计算机视觉篇)
有关公式、基本理论等大量内容摘自《动手学深度学习》(TF2.0版))原创 2020-06-18 21:52:48 · 927 阅读 · 0 评论 -
动手学深度学习(tensorflow)---学习笔记整理(九、优化算法篇)
有关公式、基本理论等大量内容摘自《动手学深度学习》(TF2.0版))优化与深度学习优化在深度学习中有很多挑战。下面描述了其中的两个挑战,即局部最小值和鞍点。局部最小值运行代码:import sysimport tensorflow as tfsys.path.append("..")from mpl_toolkits import mplot3d # 三维画图from mpl_toolkits.mplot3d import Axes3Dimport nump原创 2020-06-09 16:27:01 · 1002 阅读 · 0 评论 -
动手学深度学习(tensorflow)---学习笔记整理(八、计算机性能篇)
有关公式、基本理论等大量内容摘自《动手学深度学习》(TF2.0版))命令式编程和符号式编程是什么?命令式编程,用直白的话就是:我们写的那种通常写的那种方式,使用编程语句改变程序状态,明确输入变量,并根据程序逻辑逐步运算。例如如下代码:import timeimport tensorflow as tf#命令式编程def add(a, b): return a + bdef fancy_func(a, b, c, d): e = add(a, b) f =原创 2020-06-07 17:27:57 · 505 阅读 · 2 评论 -
动手学深度学习(tensorflow)---学习笔记整理(七、卷积神经网络篇)
有关公式、基本理论等大量内容摘自《动手学深度学习》(TF2.0版))前面我们需要简洁实现都是用的Sequential来实现的,我们可能发现简洁实现很简单,但是内部细节可能很难控制。而自己从零开始实现又过于麻烦,而tf.keras.Model则可以实现上述的均衡。(具体内容就不详细介绍了)下面开始卷积神经网络的相关概念再说这个事情先说个事情,就是前面我们训练的图片向量输入时都展成一维向量了,这样其实是不对的,因为这种方法破坏了纵向之间的数据关系。可以通过如下程序进行验证:impo原创 2020-06-05 13:07:43 · 590 阅读 · 0 评论 -
动手学深度学习(tensorflow)---学习笔记整理(六、传播相关问题+实战篇)
有关公式、基本理论等大量内容摘自《动手学深度学习》(TF2.0版))正向传播通过刚刚的学习,我们会发现数据从输入层到输出层之间,会对各层的矩阵做矩阵乘法,然后加上偏置项,然后可能还需要加上激活函数,可能还需要L2范式正则化,然后继续输入到下一层,循环往复。下面看一下材料的说法反向传播反向传播其实就是计算出损失函数,求出梯度后,从输出层向输入层反向的更新各层的参数矩阵和偏置项。看一下正规的说法正向传播和反向传播的关系数据稳定性主要有两个问题:衰减和爆炸原创 2020-06-02 23:28:37 · 667 阅读 · 0 评论 -
动手学深度学习(tensorflow)---学习笔记整理(五、过拟合和欠拟合相关问题篇)
什么是过拟合和欠拟合?在我们训练模型过程中经常会遇见两个问题:我们的模型训练过程中准确率很高,但是实际应用或者使用验证集的时候效果比较差;我们模型训练过程准确率比较低,一直无法得到高的准确率。我们通常把前者称为过拟合,后者称为欠拟合。通俗的说就是:以考研为例,我们希望考生模拟题做的好,考场上也能发挥出对应水平来。过拟合就是一个人天天做考研模拟试卷(训练集),这些试卷基本上都是满分(准确率很高),但是真正上考场了考的分数很低(实际应用/验证集效果很差)。欠拟合就更容易理解了,模拟卷都一直做不对原创 2020-06-02 20:15:15 · 661 阅读 · 0 评论 -
动手学深度学习(tensorflow)---学习笔记整理(四、多层感知机篇)
(有关公式、基本理论等大量内容摘自《动手学深度学习》(TF2.0版))多层感知机是什么?个人的理解就是:多层的神经网络+非线形的。具体说说就是至少包含一层隐含层和输出层构成多层,非线性这个概念可以通过下面的内容来学习,由激活函数实现的线性到非线形的映射。隐藏层、多层神经网络的相关知识通过最后一段话可以发现,对于线性的神经网络,不论是多少层都等价于单层神经网络,所以对于线性的模型,多少层都没有意义,当每层转化为非线形后,上述等价式即无法成立,可以得出,多层感知机所表示的模型(多层+非线原创 2020-05-31 22:52:25 · 548 阅读 · 0 评论 -
动手学深度学习(tensorflow)---学习笔记整理(三、softmax回归篇)
(有关公式、基本理论等大量内容摘自《动手学深度学习》(TF2.0版))什么是softmax回归?前面学的线性回归最后结果为预测的连续值,而softmax回归更适合预测离散值。这句话可能不太理解。先说一下softmax的定义:它把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。这些映射的实数的个数是认为设定的。例如我们要识别数字图片,则0-9的概率是我们想要知道的,使用softmax可以预测取0-9的概率,选择0-9之间概率最大的数字作为结果。加一个官方的原创 2020-05-31 00:08:35 · 993 阅读 · 0 评论 -
动手学深度学习(tensorflow)---学习笔记整理(二、线性回归篇)
(有关公式、基本理论等内容摘自《动手学深度学习》(TF2.0版))首先说一下线性回归是什么?个人理解:线性回归利用某种方法来确定两种或两种以上变量间相互依赖的定量关系的一种分析方法。简单点说,现在有一些随机点,通过某种方法找出来他所符合的线性方程。用途嘛~例如,我们有房价和决定因素的相关数据,可以找到它符合的线性函数,然后对房价进行预测~线性回归的基本要素简单点说就是自变量们和因变量。用一个例子来说,以一个房屋价格预测为例,这个应用的目标是预测一栋房子的售出价格(元)。我们知道这个价格取决于原创 2020-05-29 21:30:18 · 846 阅读 · 1 评论 -
动手学深度学习(tensorflow)---学习笔记整理(一、预备知识篇)
学习视频来源为b站动手学深度学习系列视频:https://space.bilibili.com/209599371/channel/detail?cid=23541由于上述视频为MXNet/Gluon框架编写,所以代码部分参考网站为:https://trickygo.github.io/Dive-into-DL-TensorFlow2.0/#/本文主要是学习该系列视频所整理笔记,可能很多内容直接原文整理,如有需要可以去上述两个网站进行学习。深度学习是什么?这个问题不同人有不同的理解,我粗浅的原创 2020-05-25 21:32:10 · 977 阅读 · 0 评论 -
Leetcode40. 组合总和 II-python
难度:中等给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例1:输入: candidates =[10,1,2,7,6,1,5], target =8...原创 2020-04-26 16:31:09 · 234 阅读 · 0 评论 -
Leetcode39. 组合总和-python
难度:中等给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入: candidates = [2,3,6,7], target = 7,...原创 2020-04-26 16:15:35 · 292 阅读 · 0 评论 -
Leetcode36. 有效的数独-python
难度:中等判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用'.'表示。示例1:输入:[ ["5","3",".",...原创 2020-03-29 17:40:20 · 621 阅读 · 0 评论 -
Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置-python
难度:中等给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,...原创 2020-03-29 16:28:10 · 623 阅读 · 0 评论 -
Leetcode33. 搜索旋转排序数组-python
难度:中等假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:输入: nums = [4,5,6,...原创 2020-03-24 17:59:11 · 446 阅读 · 0 评论 -
Leetcode32. 最长有效括号-python
难度:困难给定一个只包含 '('和 ')'的字符串,找出最长的包含有效括号的子串的长度。示例1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"思路:这种题采取动态规划的思想来做,首先我自己并没有想出来...也不算没想出来的吧,想出来了一半,然后去网上看一...原创 2020-03-24 16:51:02 · 686 阅读 · 0 评论 -
Leetcode31. 下一个排列-python
难度:中等实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路:最简单的一种思路是把数字的排...原创 2020-03-23 15:55:08 · 342 阅读 · 0 评论 -
Leetcode30. 串联所有单词的子串-python
难度:困难给定一个字符串s和一些长度相同的单词words。找出 s 中恰好可以由words 中所有单词串联形成的子串的起始位置。注意子串要与words 中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。示例 1:输入: s = "barfoothefoobarman", words = ["foo","bar"]输出:[0,9]...原创 2020-03-23 14:22:43 · 429 阅读 · 0 评论 -
Leetcode29. 两数相除-python
难度:中等给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例1:输入: divide...原创 2020-03-23 13:27:39 · 533 阅读 · 0 评论 -
Leetcode25. K 个一组翻转链表-python
难度:困难给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当k= 2 时,应当返回:2->1->4->3->5当k= 3 时,应当返回:...原创 2020-03-20 11:33:15 · 306 阅读 · 0 评论 -
Leetcode24. 两两交换链表中的节点-python
难度:中等给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.思路:我这个编写链表题...最喜欢的就是先转成数组,然后操作数组后再转回链表...数组的两两交换应该没问题吧~代码如下:# ...原创 2020-03-20 10:43:17 · 189 阅读 · 0 评论 -
Leetcode23. 合并K个排序链表-python
难度:困难合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6思路:我也没啥好思路...也算是暴力破解,首先遍历一次所有元素,然后放到数组里排序,然后再重新生成...原创 2020-03-17 16:13:31 · 194 阅读 · 0 评论 -
Leetcode22. 括号生成-python
难度:中等给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]思路:采取暴击添加或者动态规划解决,正好前几天学了动态规划,就在这个地方利用一下,动态规划的思想就是发现一个规律可以让f...原创 2020-03-17 15:32:13 · 330 阅读 · 0 评论 -
Leetcode19. 删除链表的倒数第N个节点-python
难度:中等给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路:最简单的一种方法就是,遍历两次,第一次计算链...原创 2020-03-17 14:24:53 · 246 阅读 · 0 评论 -
Leetcode18. 四数之和-python
难度:中等给定一个包含n 个整数的数组nums和一个目标值target,判断nums中是否存在四个元素 a,b,c和 d,使得a + b + c + d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要...原创 2020-03-16 16:43:20 · 195 阅读 · 0 评论 -
Leetcode17. 电话号码的字母组合-python
难度:中等给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。思路:创建好字...原创 2020-03-16 16:05:19 · 209 阅读 · 0 评论 -
Leetcode16. 最接近的三数之和-python
难度:中等给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).思路:和15题一样,使用...原创 2020-03-16 15:52:36 · 215 阅读 · 0 评论 -
Leetcode15. 三数之和-python
难度:中等给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]...原创 2020-03-15 21:36:22 · 226 阅读 · 0 评论 -
Leetcode12. 整数转罗马数字-python
难度:中等罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个...原创 2020-03-15 15:14:15 · 248 阅读 · 0 评论 -
Leetcode11. 盛最多水的容器-python
难度:中等给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容...原创 2020-03-15 14:44:14 · 197 阅读 · 0 评论 -
Leetcode10. 正则表达式匹配-python
难度:困难给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 1:输入:s ...原创 2020-03-15 14:20:36 · 260 阅读 · 0 评论 -
Leetcode6. Z 字形变换-python
难度:中等将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行...原创 2020-03-10 16:26:29 · 332 阅读 · 0 评论 -
Leetcode5. 最长回文子-python
难度:中等给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路(错误):回文最常见的一种思路是倒置在处理,我初步想法是倒置后,找原字符串和倒置字符串的最大公共字串,这个有用到了动态规划......原创 2020-03-10 15:21:57 · 210 阅读 · 0 评论 -
Leetcode4. 寻找两个有序数组的中位数-python
难度:困难给定两个大小为 m 和 n 的有序数组nums1 和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3,...原创 2020-03-09 15:24:56 · 212 阅读 · 0 评论 -
Leetcode3. 无重复字符的最长子串-python
难度:中给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无...原创 2020-03-09 15:09:50 · 233 阅读 · 0 评论 -
Leetcode2. 两数相加-python
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...原创 2020-03-09 14:46:31 · 205 阅读 · 0 评论 -
卷神经网络各层详解+实例详解
卷积神经网络CNN的结构一般包含这几个层:输入层:用于数据的输入 卷积层:使用卷积核进行特征提取和特征映射 激励层:由于卷积也是一种线性运算,因此需要增加非线性映射 池化层:进行下采样,对特征图稀疏处理,减少数据运算量。 全连接层:通常在CNN的尾部进行重新拟合,减少特征信息的损失 输出层:用于输出结果 归一化层(Batch Normalization):在CNN中对特征的归一化...原创 2020-03-09 00:22:28 · 10041 阅读 · 0 评论 -
强化学习Q-Learning实现机器人走迷宫
首先有三部分代码:第一部分是绘制地图代码,第二部分是Q-Learning的代码,第三部分是运行代码地图如下:黄色圆形 : 机器人红色方形 : 炸弹 [reward = -1]绿色方形 : 宝藏 [reward = +1]其他方格 : 平地 [reward = 0]代码如下(env.py):# -*- coding: UTF-8 -...原创 2020-02-15 18:05:21 · 6795 阅读 · 5 评论