热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

Github深度学习面试题答案

Github深度学习面试题答案(一)——深度学习相关本文是对于github上一篇关于无人驾驶的深度学习方面提问的‘’部分个人见解+论坛内外

Github深度学习面试题答案(一)—— 深度学习相关




本文是对于github上一篇关于无人驾驶的深度学习方面提问的
‘’部分个人见解+论坛内外对该问题的解答‘’
本文属于搬运+整合的笔记贴,主要是为了自身学习用。
搬运会标明出处,如有侵权,无意冒犯,
希望原作者联系我,我会进行处理,感谢。

Github面试题地址:https://github.com/Ewenwan/MVision**

1、机器学习和深度学习的区别,各自适用于什么问题


  1. 机器学习:囊括了几乎所有对世界影响最大的方法(包括深度学习),主要目的是设计和分析一些能让计算机自动学习的算法
    深度学习:可以理解为含有多层隐藏层的神经网络,属于机器学习的子类,是利用深度神经网络来解决特征表达的一种学习过程
  2. 两者对比:
    a 、 应用场景
    机器学习 ---- 指纹识别,特征物体检测等领域已经达到商业化要求
    深度学习 ---- 主要文字识别,人脸技术,语义分析,智能监控等领域。
    b 、所需数据量
    机器学习适应于各种数据量,在数据量小的场景效果突出
    当数据量增大的时候,深度学习算法更加突出
    c 、执行时间 – 训练算法所需的时间量
    由于神经网络有多个隐藏层(或者说有多个超参数),因此在训练算法时需要指数时间,训练成本相对于机器学习来说很大。
    d 、解决问题的方法
    机器学习算法遵循标准程序解决问题,拆分问题–分别解决–合并结果–获得答案
    深度学习集中方式解决问题,不必进行问题拆分

2、随机梯度下降(stochastic gradient descent)

SGD算法 – 从样本中随机抽出一组,训练后按梯度更新一次,然后再抽取一组,在更新一次,在样本量及其大的情况下,可能不用训练完所有的样本就可以获得一个损失值在可接受范围之内的模型,是一种逐个样本进行loss计算进行迭代的方法。


  • SGD的做法实际上是 – 扫描所有的训练样本,首先是第一组训练样本(x(1),y(1)),然后只处理第一个训练样本 – 我们的梯度下降只对这第一个训练样本的代价函数进行。换句话说是,我们只要关注第一个样本,然后把参数稍微修改一点使其对第一个训练样本的拟合变得更好一点完成这个内层循环(for i = 1,…,m)以后,再转向第二个训练样本,把参数稍微修改一点使其对第二个训练样本的拟合变得更好一点,然后再转向第三个训练样本以此类推直到完成所有的训练集。
  • SGD算法在每一次计算之后便更新参数,而不需要将所有的训练集求和,在梯度下降算法还没有完成一次迭代时,随机梯度下降算法就已经走出了很远。但是这样的算法存在的问题是,不是每一步都朝着‘正确’的方向迈出的。因此算法虽然会逐渐走向全局最小的位置,但是可能无法touch到最小值的那一点,反而是在最小值点附近徘徊。 从波士顿房价预测(深度学习典型例子)的例子中可以看出,SGD的特点 – 总体上收敛,局部有一点震荡。 SGD的优势 – SGD不需要对所有的m个训练样本求和来得到梯度项,只需要对单个训练样本求出这个梯度项,在这个过程中我们已经开始优化参数了。

3、神经网络训练如何解决过拟合和欠拟合

解决过拟合:


  • a、获取更多的训练数据
    训练数据越多,模型的泛化能力越好,这个是最优的方法,但是很多情况下我们无法获取更多的数据,因此需要其他方法

  • b、减小网络容量
    这是防止过拟合最简单的方法 在深度学习中,模型容量就是模型中可学习参数的个数。 参数越多,模型就拥有越大的记忆容量。 减小网络容量,即减少参数的个数,即对层数和每层的单元个数进行处理。

  • c、添加权重正则化 – L1,L2正则化


根据奥卡姆剃刀原理: 如果一件事有两件解释,那么最可能正确的解释就是最简单的那个,即假设更少的那个。


简单的模型(参数更少的模型)比复杂模型更不容易过拟合。
通过强制让模型权重只能取得较小的值来降低过拟合
实现方法:向网络损失函数中添加与较大权重值相关的成本。
L1:添加的成本与权重系数的绝对值成正比。
L2:添加的成本与权重系数的平方成正比。


  • d、添加dropout正则化
    暂时丢弃一部分神经元及其连接的方法,可防止过拟合,同时指数级/高效地连接不同的架构。
    使用了Dropout技术的神经网络会设定一个保留率p,然后每一个神经元在一个批量的训练中以概率1-p随即训练是否去掉,最后推断时所有神经元都要保留。
    Dropout的缺点在于会使得明确的代价函数不再被明确定义。
  • e、Early stopping
    将权重初始化为小值,这时,只会用到神经网络的线性部分,网络能力比较弱。
    随着训练时间的增长,会越来越多的用到网络的非线性部分,网络的能力逐渐增强。 这时观察验证集错误率,如果持续增加的话,就可以提早停止训练。
  • f、多个模型平均
    将多个模型bias小的模型平均,会得到一个variance小的模型
  • g、贝叶斯方法
    对权重进行采样,然后对采样的权值分别预测输出,然后平均输出值。

4、L1正则化(L1 normalization)和L2正则化(L2 normalization)区别,具体有何用途

a、L1正则化 – 在原本损失函数基础上加上权重参数的绝对值

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


L1正则化对所有参数的惩罚力度都一样,可以让一部分权重变为0,因此产生稀疏模型,能够去除某个些特征(权重为0则等效于去除)。


b、L2正则化 – 在原本损失函数的基础上加上权重参数的平方和
在这里插入图片描述
或者
在这里插入图片描述


L2正则化减少了权重的固定比例,使得权重平滑,L2正则化不会使权重变为0(不会产生稀疏模型),所以选择了更多的特征.



具体区别:
A、L1可以产生0解,L2可以产生趋近0的解
B、L1获得稀疏解,L2获得非零稠密解 – L1使得权重系数,L2使得权重平滑
C、如果事先假定只有非常少数的特征是重要的,可以用L1
D、L1优点是能够获得sparse模型,对于large-scale的问题来说这一点很重要,因为可以减少存储空间
E、L2优点是实现简单,能够起到正则化的作用。缺点就是L1的优点:无法获得sparse模型



  • 参考blog:
    https://blog.csdn.net/ybdesire/article/details/84946128

5、L1正则化相比于 L2正则化为何具有稀疏解?


相比L2正则化,L1正则化的稀疏性具有本质的不同,L1正则化产生的更稀疏的解是指最优值中的一些参数为0.


由于个人能力,仅能从数据计算的角度解释,数据先验的角度暂不理解。

假设只有一个参数w,损失函数为L(w),分别加上L1正则化和L2正则化后有:
在这里插入图片描述

假设L(W)在0出的倒数为d0
在这里插入图片描述

那么,引入L2正则化项后,在0处导数为

在这里插入图片描述

引入L1正则化项后,在0处导数为
在这里插入图片描述


总结为:
L1和L2正则化项在0处导数不一样,对于L2,损失函数在0处导数不变;
而对于L1,损失函数在0处导数有突变,从d0+λ到d0-λ,导致原函数在0处会有一个极小值点。
因此在优化时,很可能会优化到该极小值点上,即w=0处.



  • 参考blog:
    https://blog.csdn.net/ybdesire/article/details/84946128

6、CNN基本原理,CNN的哪些部分是神经元


解释”CNN基本原理”的角度— CNN的定义 + CNN的各层意义



CNN神经元 —— 神经元就是指一个带权重W和偏置B,以及激活方程f的一个单元 输入I和输出O的关系是 O = f(WI+B)



CNN的定义:
卷积网络(convolutional network),也叫作卷积神经网络(convolutional neural network,CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。



CNN的各层意义:
搭建一个神经网络,通常都是
Input > convolutional Layer(s)(+activated) > pooling Layer(s) > fully-connected > Output
其中卷积层和池化层可以视情况任意增加,即是 in- loop(>-conv-pooling-…-conv-pooling>)- fc > out
LeNet5对CNN的经典结构解释


下面主要对卷积层,池化层和全连接层进行说明


Input和Output层作用和意义暂不说明


---------------------------------Convolutions Layer(卷积层)的作用和意义 : ---------------------------------


  • Conv layer作用:卷积层从输入像素数组矩阵(input image)中提取最基本的特征。
  • 提取方式是卷积层使用“卷积核”(convolution kernel)提取局部特征,
    在这个角度看,卷积核 == 特征提取器 == 过滤器 / 滤波器(filter)

在这里插入图片描述


对于该图的理解 —— 像素矩阵输入后经过卷积核映射后(矩阵运算)后,输出一个5 * 5的矩阵。
如图,一个7 * 7的矩阵,卷积核为3 * 3,输出为(7-3+1) * (7-3+1)= 5 * 5 的矩阵,
矩阵放置到了经过bagging后的7 * 7矩阵。


- 理解局部感知概念


  • 在人脑识别图片的过程中,并不是对整张图片同时识别,
  • 而是先感知到某个local feature(从狗头感知到狗,猫尾巴感知到猫),
  • 然后再从更高层次对局部进行综合操作,从而得到全局信息。
  • 通过局部感知提取局部特征,使得模型的计算参数减少,计算成本降低。
  • 然而剩下的参数依然较多,这时引入权值共享机制:

通俗来说权值共享指 —— 给一张输入图片,用一个卷积核去扫这张图,卷积核里面的数就叫权重,这张图每个位置是被同样的卷积核扫的,所以权重是一样的,也就是共享。


  • 引入权值共享的原因:
    同一层下的神经元的连接参数只与特征的提取有关,而与具体的位置无关
    因此可以保证同一层中所有位置的连接是权值共享的,既同一层中都使用同一个卷积核进行过滤。

参照blog:
卷积神经网络CNN基本原理详解
https://blog.csdn.net/woaijssss/article/details/79535052
CNN卷积神经网络原理详解(上)
https://blog.csdn.net/LEEANG121/article/details/102633718?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=1329187.8310.16178419329314091&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control


---------------------------------Activated function(激活函数)的作用和意义:---------------------------------


  • 激活函数并非独立的一层,而是卷积后应该进行激活处理。
  • 所谓激活,实际上是对卷积层的输出结果做一次非线性映射。
  • 如果不用(其实就相当于激活函数是f(x)=x),这种情况下,每一层的输出都是上一层输入的线性函数。
    容易得出,无论有多少神经网络层,输出都是输入的线性组合,与没有隐层的效果是一样的,这就是最原始的感知机了,其并不能解决线性不可分问题,而卷积后的输出结果并非全部线性可分,因此需要进行激活。
  • 正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。
  • 不加激活函数具体原因 >>> 7、CNN去掉激活函数会怎么样

常用的激励函数有:
Sigmoid函数
Tanh函数
ReLU
Leaky ReLU
ELU
Maxout
激励层建议:首选ReLU,因为迭代速度快,但是有可能效果不佳。如果ReLU失效的情况下,考虑使用Leaky
ReLU或者Maxout,此时一般情况都可以解决。Tanh函数在文本和音频处理有比较好的效果。


---------------------------------Pooling layer(池化层)的作用和意义:---------------------------------


  • 池化也称为欠采样或下采样。
  • 主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。

  • 主要有:
  • 一般池化: Max Pooling:最大池化 Average Pooling:平均池化
  • 重叠池化 : OverlappingPooling
  • 空金字塔池化 : Spatial Pyramid Pooling

---------------------------------Full-connected layer(全连接层)的作用和意义:---------------------------------


  • 作用:连接所有特征,将输出值送给分类器(如softmax分类器)

  • 在来到FC层之前,已经经过若干次卷积+激励+池化,
    如果神经元数目过大,学习能力强,有可能出现过拟合。
    因此可以引入dropout,局部归一化(LRN)、数据增强等操作来防止过拟合。

  • 当来到FC层之后,可以理解为一个简单的多分类神经网络,通过softmax函数得到最终的输出,整个模型训练完毕。

  • 下图展示了一个含有多个卷积层+激励层+池化层的过程:
    在这里插入图片描述

7、CNN去掉激活函数会怎么样


  • 激活函数的作用是加入非线性因素,提高神经网络对模型的表达能力,解决线性模型不能解决的问题。
  • 不带激活函数的单层感知机是一个线性分类器,不能解决线性不可分的问题
  • 反映到CNN中,应该理解为

“激活函数是用来加入非线性因素的,因为线性模型的表达力不够”



  • 这句话字面的意思很容易理解,但是在具体处理图像的时候是什么情况呢?

  • 我们知道在神经网络中,对于图像,
    我们主要采用了卷积的方式来处理,也就是对每个像素点赋予一个权值,这个操作显然就是线性的。
    但是对于我们样本来说,不一定是线性可分的,
    为了解决这个问题,我们可以进行线性变化,或者我们引入非线性因素,解决线性模型所不能解决的问题。


  • 参考blog:
    https://blog.csdn.net/yjl9122/article/details/70198357
    https://blog.csdn.net/program_developer/article/details/78704224

8、介绍下你了解的轻量级CNN模型(了解)


轻量级深度学习网络(一):详解谷歌轻量级网络MobileNet-v1
https://blog.csdn.net/chenyuping333/article/details/81363125?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242



轻量级模型:MobileNet V2
https://blog.csdn.net/kangdi7547/article/details/81431572?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control


9、无监督/半监督深度学习(了解)?


解答思路:首先了解无监督/半监督学习,再到无监督/半监督深度学习



  • 无监督/半监督、监督学习参考blog:
    https://blog.csdn.net/jcjx0315/article/details/73288501

监督学习(Supervised Learning
监督学习是使用已知正确答案的示例来训练网络的
其中:数据集的创建和分类 中对分类和回归的解释值得记录
在数学上,我们在神经网络中找到一个函数,这个函数的输入是一张图片(图像检测应用),
当目标不在图片中,输出0,否则为1.这个过程叫分类。
在这种情况下,我们进行的通常是一个yes or no的训练,
但是,监督学习还能输出一组介于0和1值,这个任务我们称为回归。



无监督学习(Unsupervised Learning)
无监督学习适用于具有数据集但无标签的情况。
无监督学习采用输入集,并尝试查找数据中的模式。
无监督的学习方法包括:
自编码
主成分分析
随机森林
K均值聚类
生成对抗网络



半监督学习(Semi-supervised Learning)
半监督学习在训练阶段结合了大量未标记的数据和少量标签数据,与使用所有标签数据的模型相比,使用训练集的训练模型在训练时可以更为准确,而且训练成本更低。
为什么使用未标记数据有时可以帮助模型更准确,关于这一点的体会就是:
即使你不知道答案,但你也可以通过学习来知晓,有关可能的值是多少以及特定值出现的频率。


对于无监督深度学习和半监督深度学习:


  • 半监督深度学习,深度学习需要用到大量有标签数据,即使在大数据时代,干净能用的有标签数据也是不多的,由此引发深度学习与半监督学习的结合。
  • 半监督深度学习定义:有标签数据+无标签数据混合城的训练数据中使用的深度学习算法
  • 半监督深度学习算法大致有三类:

第一类 — 无标签数据预训练,有标签数据微调
好的初始化,能够让结果更加稳定,迭代次数更少
初始化方式主要有两种:无监督预训练,伪有监督预训练
无监督预训练:
a、用所有数据逐层重构预训练,对网络的每一侧给,都做重构自编码,得到参数后用有标签数据微调
b、用所有数据训练重构自编码网络,然后把自编码网络的参数,作为初始参数,用有标签数据微调。
伪有监督与训练:
通过某种方式/算法(如半监督算法,k均值聚类算法等),给无标签数据附上伪标签信息,先用这些伪标签信息来预训练网络,然后再用有标签数据微调。

第二类 — 使用从网络得到的深度特征来做半监督算法 给神经网络制造标签数据,相当于简洁的self-training。 一般流程为:
先用有标签数据训练网络(此时网络一般过拟合),从该网络中提取所有数据的特征,以这些特征来用某种分类算法对无标签数据进行分类,挑选你认为的分类正确的无标签数据加入到训练集,再训练网络,如此循环。
由于网络得到新的数据(挑选出来分类后的无标签数据)会更新提升,使得后续提出来的特征更好,后面对无标签数据分类就更精确,挑选后加入到训练集中又继续提升网络。对于该想法的性能,个人保持猜疑态度,由于噪声的影响,挑选加入到训练无标签数据一般都带有有标签噪声(就是某些无标签数据被分类错误),这些噪声会误导网络且被网络学习记忆

第三类 — 让网络以半监督学习的方式运行
第一类和第二类都是用了有标签数据和无标签数据,但就神经网络本身而言,其实还是运行再一种有监督的方式上。 让深度学习真正成为半监督算法的方法:



b 、2015-Semi-Supervised Learning with Ladder Networks
2015年诞生半监督ladderNet,ladderNet是其他文章中先提出来的想法,但这篇文章使它 work in semi-supervised fashion,而且效果非常好,达到了当时的 state-of-the-art 性能。
ladderNet是有监督算法和无监督算法的有机结合。前面提到,很多半监督深度学习算法是用无监督预训练这种方式对无标签数据进行利用的,但事实上,这种把无监督学习强加在有监督学习上的方式有缺点:两种学习的目的不一致,其实并不能很好兼容。
无监督预训练一般是用重构样本进行训练,其编码(学习特征)的目的是尽可能地保留样本的信息;而有监督学习是用于分类,希望只保留其本质特征,去除不必要的特征。
ladderNet 通过 skip connection 解决这个问题,通过在每层的编码器和解码器之间添加跳跃连接(skip connection),减轻模型较高层表示细节的压力,使得无监督学习和有监督学习能结合在一起,并在最高层添加分类器,ladderNet就变身成一个半监督模型。
ladderNet 有机地结合了无监督学习和有监督学习,解决兼容性问题,发展出一个端对端的半监督深度模型。



  • 参考blog:
    https://zhuanlan.zhihu.com/p/33196506

10、Relu为什么比sigmod好?


a 、采用sigmoid作为激活函数进行指数运算时,计算量大,尤其是在反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用relu激活函数,整个过程的计算量节省很多。
b 、对于深层网络,sigmoid函数进行反向传播时,很容易出现梯度消失的情况(在sigmoid接近饱和区域时,变换太缓慢,倒数趋向于0,这时候会造成信息丢失),从而无法完成深层网络的训练。
c 、Relu会使一部分神经元的输出为,这样造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。



推荐阅读
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 本文详细介绍了商汤科技面试中涉及的CV算法面经内容,包括CornerNet的介绍与CornerPooling的解决方案、Mimic知识蒸馏的实现方式、MobileNet的特点、普通卷积和DW PW卷积的计算量推导、Residual结构的来源等。同时还讨论了在人脸关键点和检测中的mimic实现方式、pose对人脸关键点的提升作用、目标检测中可能遇到的问题以及处理检测类别冲突的方法。此外,还涉及了对机器学习的了解程度和相似度分析的问题。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
author-avatar
holy190
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有