自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 梯度消失、梯度爆炸、gradient scaling、gradient clipping

1、梯度消失和梯度爆炸的原因(80 条消息) 为什么会有梯度爆炸和梯度消失? - 知乎 (zhihu.com)https://www.zhihu.com/question/290392414/answer/23023890272、梯度消失可不可以通过gradient scaling(放大)解决?不一定。梯度过小的时候,有两种可能,一种是梯度异常消失,一种是到达局部最优。人为的梯度放大可能可以用来跳出局部极小。但如果不能区分这两汇类情况,单纯放大小的梯度有可能导致系统不收敛。梯度不光有大小还有

2022-01-27 18:35:33 1919

原创 模型选择、过拟合和欠拟合、权重衰退

模型选择1、训练误差和泛化误差训练误差:模型在训练数据上的误差泛化误差:模型在新数据上的误差(关心泛化误差)2、验证数据集和测试数据集验证数据集:用来评估弄模型好坏的数据集一般50%训练数据集,50%作为验证数据集(用来调整超参数),验证数据集和训练数据集不能混在一起测试数据集:只用一次的数据集(不能用来调超参数)例如:未来的考试,kaggle私有排行榜中的数据集论文中test data大部分实际上是验证数据集3、K-则交叉验证——在没有足够多数据时使用算法:将训

2022-01-24 11:25:59 303

原创 self参数 、__ init__ ()方法、super(Net, self).__init__()

self参数self指的是实例Instance本身,在Python类中规定,函数的第一个参数是实例对象本身,并且约定俗成,把其名字写为self,也就是说,类中的方法的第一个参数一定要是self,而且不能省略。__ init__ ()方法在python中创建类后,通常会创建一个 __ init__ ()方法,这个方法会在创建类的实例的时候自动执行。 __ init__ ()方法必须包含一个self参数,而且要是第一个参数。注意:写神经网络的代码的时候,一些网络结构的设置,也最好放在__ ini

2022-01-24 11:21:06 1582

原创 python类中初始化形式:def __init__(self)和def __init__(self, 参数1,参数2,···,参数n)

形式1:def_init_(self)class Student_Grade: def __init__(self): # 类似于c++中的默认构造函数 self.name = None self.grade = None def print_grade(self): print("%s grade is %s" % (self.name,self.grade))s1 = Student() # 创建对象s

2022-01-24 11:13:52 1770

原创 多层感知机

1、感知机2、感知机的训练原理判断标准:y_i乘w与x_i的内积,小于0继续进行迭代停止条件:所有样本都分类正确3、感知机的收敛定理4、感知机的问题不能拟合XOR问题(异或问题:相异为1,相同为0/-1)原因:感知机只能产生线性分割面,不能拟合XOR函数处理方法:多层感知机可以解决XOR问题5、多层感知机(解决XOR问题)5.1 为什么需要非线性激活函数? 5.2 激活函数5.3 多分类问题...

2022-01-17 18:08:59 825

原创 PyTorch中在反向传播前要手动将梯度清零

目的:手动清零可以让使用者自由选择梯度清零的时机,具有更高的灵活性。例如选择训练每N个batch后再进行梯度更新和清零,这相当于将原来的batch_size扩大为N×batch_size.因为原先是每个batch_size训练完后直接更新,而现在变为N个batch_size训练完才更新,相当于将N个batch_size合为了一组。这样可以让使用者使用较低的配置,跑较高的batch_size.1、传统的训练函数,一个batch是这么训练的:for i, (image, label) in enu.

2022-01-13 22:19:28 605

原创 损失函数比较

1、均方误差损失函数蓝色:损失函数图像 绿色:似然函数图像(高斯分布) 橙色:损失函数梯度图像预测值越接近真实值,梯度下降的越慢(缺点:但有时候预测值偏离真实值较多时,也并不希望梯度下降的过快/用一个很大的梯度更新参数)2、绝对值损失函数优点:当预测值偏离真实值较远的时候也是以不变的常数梯度更新参数,带来稳定性上的好处缺点:0点处不可导,且会有正1和负1的剧烈变化(不平滑性),优化后期不再稳定3、Huber鲁棒损失函数(相当于L2损失和L1损失的结合)...

2022-01-12 10:47:44 2040

原创 softmax回归——分类问题

1、softmax回归图1softmax回归是一种单层神经网络向量形式表示 o=Wx+bsoftmax函数softmax运算不会改变未规范化的预测o之间的顺序,只会确定分配给每个类别的概率。 因此,在预测过程中,我们仍然可以用下式来选择最有可能的类别。2、损失函数——交叉熵损失(cross-entropy loss)更详细推导:注:交叉熵交叉熵的意义是衡量两个分布之间的距离。即样本标签值p和模型输出值q之间的距离问题:...

2022-01-12 10:16:51 729

原创 朴素贝叶斯(分类模型)

1、基本假设:各个维度上的特征被分类的条件概率之间是相互独立的2、原理:单独考量每一维度特征被分类的条件概率,进而综合这些概率并对其所在的特征向量做出分类预测。3、数学表达p(y)的获得其实也较为简单:计算D中y的各个情况出现的频率即可(这里用到了大数定律:当训练集包含充足的独立同分布样本时,P(y)可通过各类样本出现的频率来进行估计)p(x|y)的获得略显困难,因为x往往包含多个相关因素(是一个多种因素构成的向量)。所以目标转换为 agrmax4、例子讲解...

2021-10-23 21:05:35 1348

原创 LeetCode刷题20 有效的括号

栈stack:1、数据入栈和出栈的时间复杂度都为O(1)数据结构和算法(四):栈 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/374673422、作用:栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针(短暂储存数据)3、常见:利用栈实现字符串逆序;利用栈判断分隔符是否匹配4、栈可以通过数组实现class Solution: def isValid(self, s: str) -> bool: ..

2021-10-21 23:41:35 68

原创 投影、投影矩阵、正交投影矩阵

1、投影2、幂等矩阵3、正交投影

2021-10-19 10:04:12 2645 2

原创 leetcode 刷题 2 两数相加

ListNodeLeetCode简单链表题,题目已经定义了链表节点ListNode调用:ListNode l1l1.val 表示当前指针的值l1.next 表示链表下一个节点迭代法# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next...

2021-10-18 23:29:54 73

空空如也

空空如也

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

TA关注的人

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