首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
咸鱼妮
获赞
1
粉丝
3
关注
4
看过 TA
2
女
门头沟学院
2021
算法工程师
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑咸鱼妮吗?
发布(24)
评论
刷题
收藏
咸鱼妮
关注TA,不错过内容更新
关注
2020-05-10 16:50
已编辑
门头沟学院 算法工程师
二叉树中序遍历
中序:左-根-右 C++迭代 一个模板写法: class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int> ans; stack<TreeNode*> node; if(!root) return ans; node.push(root); while(!node.empty()){ TreeNode* cur = node.top(); node.pop(); if(cur != nullptr){ if(cur->right) node.pus...
0
点赞
评论
收藏
分享
2020-05-10 17:01
已编辑
门头沟学院 算法工程师
二叉树前序遍历
前序遍历:顶-左-右 C++迭代 一个通用模板,比下面自己写的效率差点: class Solution { public: vector<int> preorderTraversal(TreeNode* root) { vector<int> ans; stack<TreeNode*>node; if(!root) return ans; node.push(root); while(!node.empty()){ TreeNode* cur = node.top(); node.pop(); if(cur != nullptr){ if(cur->r...
0
点赞
评论
收藏
分享
2019-12-03 19:46
门头沟学院 算法工程师
深拷贝浅拷贝
浅拷贝 拷贝完后对原对象进行操作会影响到拷贝后的对象有两种情况: 拷贝后的对象和原对象的地址一样,只是传递了对象的引用 拷贝后的对象和原对象的地址不一样,但是对象里面的可变元素的地址是一样的。相当于创建了一个新的对象指向原来的值 深拷贝 拷贝完后对原对象进行操作不会影响到拷贝后的对象新对象的地址和新对象的可变元素的地址都与原对象的不一样
0
点赞
评论
收藏
分享
2019-12-03 19:36
已编辑
门头沟学院 算法工程师
learning rate 调整策略
lr含义 参数更新时乘的学习率(步长) 特点 lr大,学习速度快,一般在刚开始训练时使用,易震荡和损失函数值爆炸lr小,学习速度慢,一般在训练中后期使用,易过拟合和收敛速度慢 一般设置 刚开始训练时:学习率以 0.01 ~ 0.001 为宜 一定轮数过后:逐渐减缓 接近训练结束:学习速率的衰减应该在100倍以上 如果是迁移学习,由于模型已在原始数据上收敛,此时应设置较小学习率 (≤10−4) 在新数据上进行微调 调整策略 指数型衰减 阶梯式衰减 分段常数下降 多项式衰减 cosine衰减 cosine_decay_restarts:lr先从较大值以cosine形式衰减,然后restar到...
0
点赞
评论
收藏
分享
2019-12-03 19:36
已编辑
门头沟学院 算法工程师
参数初始化注意点
1.不能把参数都初始化为0参数都为0,反向传播时无法进行梯度更新 2.参数不能都相同不管是哪个神经元,其前向传播和反向传播的算法都是一样的,如果初始值一样,那么不管训练多少次,每个神经元的参数都会是一样的即每一层相当于只有一个神经元,最终一个L层的神经网络就相当于一个线性的网络 3.参数初始值不能太大如果参数初始值太大,对于常用的一些激活函数如sigmoid函数而言,其输入值会分布在两端,导致导数值很小,梯度下降显著变慢 4.参数初始值不能过于小因为参数越小模型越简单,如果过小了可能模型过于简单反倒使得效果不好(为什么参数越小,说明模型越简单呢,这是因为越复杂的模型,越是会尝试对所有的样本进行...
0
点赞
评论
收藏
分享
2019-12-03 19:37
已编辑
门头沟学院 算法工程师
防过拟合的方法
一、正则化 使参数越稀疏、参数值越小,模型越简单,泛化性能越强 概念 L0正则化的值是模型参数中非零参数的个数L1正则化表示各个参数绝对值之和L2正则化表示各个参数平方和的开方 二、Dropout 在每个训练批次中让一定比例的隐层节点值为01.减少节点之间的相互作用,使得模型不会太依赖某些局部的特征2.相当于对很多个不同到的神经网络取平均 实现方法 在训练网络的每个单元中添加一个求概率的流程有两个版本的实现1.vanilla版本,在forward时直接对输入进行遮罩X'=[x0,0,x2,x3],在backward时梯度和输入保持一致D'=[d0,0,d2,d3]。在预测时1-p倍的缩小I=(...
0
点赞
评论
收藏
分享
2019-12-03 19:37
已编辑
门头沟学院 算法工程师
三种梯度下降算法
梯度下降和反向传播 梯度下降是找损失函数极值的一种方法,即向着梯度指向的方向是函数值下降(上升)最快的方向反向传播是求梯度的一种方法 梯度下降算法 用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。 批量梯度下降法(Batch Gradient Descent,BGD) 每次迭代都要使用训练集的所有数据 随机梯度下降(Stochastic Gradient Descent,SGD) 每次迭代只使用一个样本 Mini-Batch SGD 与SGD每次迭代只用一个样本不同,这种方法每次迭代使用一个batc...
0
点赞
评论
收藏
分享
2019-12-03 19:37
已编辑
门头沟学院 算法工程师
各种熵
信息熵 信息熵代表的是随机变量或整个系统的不确定性,熵越大,随机变量或系统的不确定性就越大。 交叉熵 其用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所需要付出的努力的大小。pk是真实分布,qk是非真实分布 交叉熵越低,这个策略就越好 ,所以在机器学习分类算法中总是最小化交叉熵。 相对熵,又称KL散度 其用来衡量两个取值为正的函数或概率分布之间的差异,即: 相对熵 = 某个策略的交叉熵 - 信息熵(根据系统真实分布计算而得的信息熵,为最优策略) 只有当某个策略与最优策略相等时,其值才为0,所以机器学习的目的就是希望采用的策略尽可能地逼近甚至等于最优策略,也就是尽可...
0
点赞
评论
收藏
分享
2019-09-05 22:14
已编辑
门头沟学院 算法工程师
__init()__
此文转自https://www.cnblogs.com/insane-Mr-Li/p/9758776.htmlhttps://www.cnblogs.com/liyichen/p/5931840.html 说明及使用 1.__init__相当于对一个已构造的实例进行初始化当一个对象被创建,Python首先创建一个空对象,然后为那个新对象调用init()方法。这个方法函数通常用来创建对象的实例变量并执行任何其他一次性处理。如果没有用init初始化(即赋值?)实例对象,则它不能被调用(待尝试 class A(object): def __init__(self,name): self.name=...
0
点赞
评论
收藏
分享
1
2
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务