Machine Learning
文章平均质量分 91
机器学习
一只工程狮
对于深度学习较为感兴趣,研究范围包括但不限于图像分类、目标检测、图像分割、视频异常检测、动作识别、AI部署与优化加速等
展开
-
dropout 正则化(Dropout Regularization)
dropout 正则化(Dropout Regularization)除了L2L2L2正则化,还有一个非常实用的正则化方法——“Dropout(随机失活)”,我们来看看它的工作原理。假设你在训练上图这样的神经网络,它存在过拟合,这就是dropout所要处理的,我们复制这个神经网络,dropout会遍历网络的每一层,并设置消除神经网络中节点的概率。假设网络中的每一层,每个节点都以抛硬币的方...原创 2019-12-17 10:01:12 · 1744 阅读 · 0 评论 -
L2正则化(Regularization)
正则化(Regularization)深度学习可能存在过拟合问题——高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据,这是非常可靠的方法,但你可能无法时时刻刻准备足够多的训练数据或者获取更多数据的成本很高,但正则化通常有助于避免过拟合或减少你的网络误差,下面我们就来讲讲正则化的作用原理。我们用逻辑回归来实现这些设想,求成本函数JJJ的最小值,它是我们定义的成本函数,参数包含一些训练...原创 2019-12-17 09:35:56 · 31953 阅读 · 4 评论 -
解决High bias 和High variance 的方法
在训练机器学习模型的过程中,解决High bias 和High variance 的过程:是否存在High bias ?增加网络结构,如增加隐藏层数目;训练更长时间;寻找合适的网络架构,使用更大的NN结构;是否存在High variance?获取更多的数据;正则化( regularization);寻找合适的网络结构;在大数据时代,深度学习对监督式学习大有裨益,使得我们不...原创 2019-12-17 08:54:25 · 1670 阅读 · 0 评论 -
偏差,方差(Bias /Variance)
偏差,方差(Bias /Variance)假设这就是数据集,如果给这个数据集拟合一条直线,可能得到一个逻辑回归拟合,但它并不能很好地拟合该数据,这是高偏差(high bias)的情况,我们称为“欠拟合”(underfitting)。相反的如果我们拟合一个非常复杂的分类器,比如深度神经网络或含有隐藏单元的神经网络,可能就非常适用于这个数据集,但是这看起来也不是一种很好的拟合方式分类器,方差...原创 2019-12-17 08:48:16 · 579 阅读 · 0 评论 -
训练、验证、测试集
训练、验证、测试集对于一个需要解决的问题的样本数据,在建立模型的过程中,我们会将问题的data划分为以下几个部分:训练集(train set):用训练集对算法或模型进行训练过程;验证集(development set):利用验证集或者又称为简单交叉验证集(hold-out cross validation set)进行交叉验证,选择出最好的模型;测试集(test set):最后...原创 2019-12-17 08:22:06 · 469 阅读 · 0 评论 -
参数VS超参数(Parameters vs Hyperparameters)简介
参数VS超参数(Parameters vs Hyperparameters)想要你的深度神经网络起很好的效果,你还需要规划好你的参数以及超参数。什么是超参数?比如算法中的learning rate aaa(学习率)、iterations(梯度下降法循环的数量)、LLL(隐藏层数目)、n[l]{{n}^{[l]}}n[l](隐藏层单元数目)、choice of activation funct...原创 2019-12-11 11:16:32 · 927 阅读 · 0 评论 -
为什么使用深度神经网络?(Why use deep neural network?)
为什么使用深度神经网络?(Why use deep neural network?)我们都知道深度神经网络能解决好多问题,其实并不需要很大的神经网络,但是得有深度,得有比较多的隐藏层,这是为什么呢?我们一起来看几个例子来帮助理解,为什么深度神经网络会很好用。首先,深度网络在计算什么? 首先,深度网络究竟在计算什么?如果你在建一个人脸识别或是人脸检测系统,深度神经网络所做的事就是,当你...原创 2019-12-11 10:56:25 · 2859 阅读 · 0 评论 -
随机初始化(Random Initialization)
随机初始化(Random Initialization)当你训练神经网络时,权重随机初始化是很重要的。对于逻辑回归,把权重初始化为0当然也是可以的。但是对于一个神经网络,如果你把权重或者参数都初始化为0,那么梯度下降将不会起作用。让我们看看这是为什么。有两个输入特征,n[0]=2n^{[0]} = 2n[0]=2,2个隐藏层单元n[1]n^{[1]}n[1]就等于2。因此与一个隐藏层相关的矩...原创 2019-12-11 10:29:52 · 7037 阅读 · 0 评论 -
神经网络的梯度下降(Gradient descent for neural networks)
神经网络的梯度下降(Gradient descent for neural networks)假设单隐层神经网络会有W[1]W^{[1]}W[1],b[1]b^{[1]}b[1],W[2]W^{[2]}W[2],b[2]b^{[2]}b[2]这些参数,还有个nxn_xnx表示输入特征的个数,n[1]n^{[1]}n[1]表示隐藏单元个数,n[2]n^{[2]}n[2]表示输出单元个数。那么参...原创 2019-12-11 10:07:03 · 844 阅读 · 0 评论 -
激活函数(Activation functions)
激活函数(Activation functions)使用一个神经网络时,需要决定使用哪种激活函数用在隐藏层上,哪种用在输出节点上。可能你在刚接触神经网络时,对于两层神经网路的前向传播中的a[1]=σ(z[1])a^{[1]} = \sigma(z^{[1]})a[1]=σ(z[1])和a[2]=σ(z[2])a^{[2]} =\sigma(z^{[2]})a[2]=σ(z[2])这两步会使用到...原创 2019-12-11 09:05:00 · 976 阅读 · 1 评论 -
计算一个神经网络的输出(Computing a Neural Network's output)
计算一个神经网络的输出(Computing a Neural Network’s output)Note:在编程实现一个神经网络的时候,有一个注意点就是我们要记得保存每一步计算出来的zzz和aaa,以及每一步的dwdwdw、dbdbdb等,以便我们进行反向传播。首先,回顾下只有一个隐藏层的简单两层神经网络结构:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dN...原创 2019-12-11 08:28:28 · 4310 阅读 · 1 评论 -
神经网络概述(Neural Network Overview)
神经网络概述(Neural Network Overview)神经网络从本质上来说就是拥有一个或者多个隐藏层的逻辑回归,但是在激活函数的选择上确有多个选择不仅仅局限于sigmoid函数。逻辑回归(Logistic Regression)公式1:xwb} ⟹ z=wTx+b\left. \begin{array}{l} x\\ w\\ b \end{array} \rig...原创 2019-12-08 08:55:32 · 432 阅读 · 0 评论 -
逻辑回归是线性模型还是非线性模型?
个人观点,现在都是把逻辑回归作为复合函数使用的,如下所示:z=g(x)z=g(x)z=g(x)f(z)=11+e−zf(z)=\frac{1}{1+{{e}^{-z}}}f(z)=1+e−z1逻辑回归的原始形式f(z)f(z)f(z)是非线性的,决定这个复合函数是否是线性的,要看 g(x)g(x)g(x)的形式。 假设阈值为0.5,那么逻辑回归最终求得如下解:z≥0,即g(x)...转载 2019-12-06 09:35:57 · 5192 阅读 · 0 评论 -
向量化(Vectorization)
向量化(Vectorization) 向量化是非常基础的去除代码中for循环的艺术,在深度学习安全领域、深度学习实践中,你会经常发现自己训练大数据集,因为深度学习算法处理大数据集效果很棒,所以你的代码运行速度非常重要,否则如果在大数据集上,你的代码可能花费很长时间去运行,你将要等待非常长的时间去得到结果。所以在深度学习领域,运行向量化是一个关键的技巧。下面举一个例子:import nump...原创 2019-12-05 13:18:22 · 6891 阅读 · 0 评论 -
通过计算图(Computation Graph)理解反向传播计算导数的方式
反向传播的作用其实就是计算相关的导数,继而在利用梯度下降等方法来更新www,bbb等参数。计算图(Computation Graph)可以说,一个神经网络的计算,都是按照前向或反向传播过程组织的。首先我们计算出一个新的网络的输出(前向过程),紧接着进行一个反向传输操作。后者我们用来计算出对应的梯度或导数。计算图解释了为什么我们用这种方式组织这些计算过程。这里,我们将举一个例子说明计算图是什么。...原创 2019-12-05 10:56:03 · 872 阅读 · 0 评论 -
梯度下降(Gradient Descent)
梯度下降法(Gradient Descent)梯度下降法可以做什么?在你测试集上,通过最小化代价函数(成本函数)J(w,b)J(w,b)J(w,b)来训练的参数www和bbb,而梯度下降正是寻找参数www和bbb的一种方法。 如图,在第二行给出和之前一样的逻辑回归算法的代价函数(成本函数)梯度下降法的形象化说明 在这个图中,横轴表示你的空间参数www和bbb,在实践中,www...原创 2019-12-05 10:28:47 · 294 阅读 · 0 评论 -
逻辑回归的代价函数(Logistic Regression Cost Function)
Note:要注意区别代价函数和损失函数的区别为什么需要代价函数:一句话概括就是代价函数是衡量我们训练的模型的好坏程度为了训练逻辑回归模型的参数www和参数bbb,我们需要一个代价函数,通过训练代价函数来得到参数www和参数bbb。先看一下逻辑回归的输出函数: 为了让模型通过学习调整参数,你需要给予一个$m$样本的训练集,这会让你在训练集上找到参数 $w$ 和参数$b$,来得到你的输出...原创 2019-12-05 09:38:37 · 5908 阅读 · 1 评论 -
Sigmoid函数
sigmoid是一个解决二分类问题的一种函数其公式如下:σ(z)=11+e−z\sigma \left( z \right)=\frac{1}{1+{{e}^{-z}}}σ(z)=1+e−z1sigmoid函数又叫做logistic函数,机器学习中一个重要的预测模型逻辑回归(LR)就是基于Sigmoid函数实现的。在解决二分类问题时,通常需要对问题作出预测而sigmoid函数其取值范围在(...原创 2019-12-04 21:45:28 · 6324 阅读 · 1 评论 -
逻辑回归(Logistic Regression)
逻辑回归学习算法,适用于二分类问题原创 2019-12-04 20:38:21 · 1769 阅读 · 0 评论