NLP秋招持续更

【阿里钉钉】

1. 问简历。有一些没有说太明白
2. 基础知识很重要 可能是不想要我,问的是简历上没怎么写的
3. CNN的工作流程

https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner’s-Guide-To-Understanding-Convolutional-Neural-Networks-Part-2/
CNN - ReLU- 池化层 -dropout- 全连接层

4. 池化层的作用
  1. 当输入作出少量平移时,pooling能够帮助输入的表示近似不变 2. 保留主要特征同时减少参数和计算量,防止过拟合,提高模型泛华能力
5. C++ 的内存泄漏是怎么造成的

在使用new或malloc动态分配堆上的内存空间,而并未使用delete或free及时释放掉内存。
C语言中场景:1. malloc和free未成对出现
2. 通过局部分配的内存,未在调用者函数体内释放
3. 在局部分配的内存未释放
4. 由于程序运行时出现不可遇见的错误,导致内存泄漏。

C++ 语言中

  1. 不匹配使用new[] 和 delete[]
  2. delet void * 的指针,导致没有调用到对象的析构函数,析构的所有清理工作都没有去执行从而导致内存的泄露;
  3. 没有将基类的析构函数定义为虚函数,当基类的指针指向子类时,delete该对象时,不会调用子类的析构函数
6. 问会不会其他语言,最后做题要求最好c++(因为我说C++比java熟)

好 我现在要怒学java了 刷题用java

7. 【做的TOPK 的堆排序以及时间复杂度和空间复杂度】

参考中文帖 https://leetcode.com/problems/kth-largest-element-in-an-array/discuss/301338/Python-or-tm-215
求最大的TOPK
堆排序:建立初始堆 O(n)
堆调整 n-1个节点进行调整 (n-1)logn
总的时间复杂度 nlogn
空间复杂度 O()
最大堆: 平均时间复杂度 O(n+ klogn) (heapify O(N) pop K 个每个logn
空间复杂度O(n)
最小堆:Time: O(k) + O((n-k) * logk) | Space: O(K)

8.【数据结构 中的排序 哪些是不稳定的】

参考 https://www.cnblogs.com/onepixel/p/7674659.html
稳定: 冒泡 直接插入 基数 归并 桶排序 计数排序
不稳定:快排 堆排 希尔 选择
在这里插入图片描述

9. 【激活函数的应用场景】

激活函数根据神经元与模型的预测关系决定神经元是否被激活
同时也能将输出规范化到[-1, 1] 或者[0, 1]中

https://missinglink.ai/guides/neural-network-concepts/7-types-neural-network-activation-functions-right/

激活函数的角色:
是输入和输出之间的门
在这里插入图片描述
三种激活函数

  1. 阶跃函数 只能有一个输出, 不能进行多分类
    在这里插入图片描述
    2.线性激活函数 A = cx ,可以有多种输出
    存在的两个问题: 1)导数是常数与输入无关,不能进行反向传播。
    2)相当于把神经网络的所有层都压缩成一层,因为最后的输出还是输入的线性关系。相当于一个线性回归模型,很难解决具有多变参数的问题。

3.非线性激活函数
解决的问题:
1) 能够进行反向传播, 因为求导之后是跟输入相关的
2)允许模型多层堆叠形成深层神经网络,多层隐藏层能够提高模型的准确率

非线性激活函数的共同点以及如何选择非线性激活函数

  1. sigmoid函数(logic函数)

在这里插入图片描述
在这里插入图片描述

优点 :
1) 梯度平滑,输出不会有太大的跳跃
2)输出值在0 1 之间
3)更清晰的预测 比如当X高于2 或者小于-2 预测值Y 更贴近1 或者-1 能够更好的预测

缺点:
1) 梯度消失 当输入较大或者较小时容易发生梯度消失,导致网络不能继续训练或者训练的很慢不能有正确的预测
2) 输出不是0中心对称
3) 计算昂贵

  1. tanH 正切双曲线

在这里插入图片描述
在这里插入图片描述

优点: 0中心 使得具有很强正负值以及中庸值的数据更容易建模
具有sigmoid函数的优点(梯度平滑 输出在-1 +1 之间 clear predicton)
缺点: 梯度消失 类似于sigmoid函数

  1. ReLU函数 整流线性单元 max(0, x)
    在这里插入图片描述
    优点:
  1. 计算高效, 模型收敛更快
    2)非线性,虽然看起来是线性函数,但是能够进行反向传播
    缺点:
    输入时非正时,梯度为0, 神经元不能被激活
  1. Leaky ReLU 泄漏整流单元 max(0.1*x, x)
    在这里插入图片描述
    优点: 解决ReLU 神经元死亡问题
    relu的优点(计算高效,收敛迅速 反向传播)
    缺点:
    对于负值预测不一致

  2. Softmax
    优点:
    1)在输出神经元中,能够对多种类别进行分类

10 深度神经网络和神经网络对比

知乎问答 https://www.zhihu.com/question/26017374
(1)深度: 隐层神经元的个数
2) 新的网络结构 比如CNN提出了局部视野和权重共享减少模型参数 LSTM ResNet等
2)新方法:权重初始化方法(xavier,逐层初始化),损失函数, 防止过拟合方法(dropout ,BN等)
3) 新的激活函数 Relu

网络结构上:多层神经网络是 输入层- 隐藏层 -输出层,需要自己提取特征,采用反向算法求得最佳参数。限制:1.处理大量数据时需要自己提取数据中的特征 2.必须增加隐藏层的层数,才能实现更为近似的复杂的函数。3. 不能处理时间序列的问题。
多层神经网络伴随着‘万能逼近定理‘而生:单隐藏层(hidden layer)非线性前馈神经网络,可以在实数空间近似任何连续函数

深度神经网络能够自动提取数据中的特征,更接近大脑的处理模式;学习算法的改变,比如用CNN代替全连接,训练方法也有基于BP算法的,也有新的;有带有反馈和时间参数的RNN。

语言 C++ JAVA

11【交叉熵的物理意义 KL散度的物理意义】

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值