深度学习-人工智能
文章平均质量分 70
Darkness_01
这个作者很懒,什么都没留下…
展开
-
正则化减小过度拟合
如果怀疑神经网络过渡拟合了数据,即存在高方差问题,正则化可是一个解决方案,另外一个方案则是准备大量数据,但是有些时候我们可能找不到那么多的数据或者数据获取成本较高,这时正则化是一个可靠的方法正则化,可以减少网络过度拟合或减少网络延迟那逻辑回归函数作为例子,首先给出了一个成本函数参数包含一些训练数据和不同数据中个体预测的损失w和b是逻辑回归的两个参数w是一个多维度参数矢量b是一个实数在逻辑回归函数中加入正则化,即只需要加入正则化参数λ其中,为w欧几里得范数的平方。原创 2024-01-31 17:13:04 · 951 阅读 · 0 评论 -
模型/数据训练
训练数据可以分为几个阶段训练集简单交叉验证集(验证集【dev set】)测试集步骤分为:对训练集执行训练算法通过验证集选择最好的模型,经过充分验证选择了最终模型选择模型后,在测试集上进行评估,对最终所选定的神经网络系统作出无偏评估,如果不需要无偏评估,也可以不做测试集在大数据时代,随着数据量的增加,对于训练数据时的三个集的比例也随之发生了改变,验证集和测试集的比例随之不断减小。原创 2024-01-24 14:34:15 · 605 阅读 · 0 评论 -
超参数(Hyperparameters)与参数(parameters)
还有其他的一些超参数,momentum、mini batch的大小,几种不同的正则化参数。并且该参数值,可能会随着时间的推移,以及设备等问题的变化而发生改变,以至于后续我们还需要。使用的激活函数,隐层使用的修正线性单元(ReLU),sigmoid,tanh。以上这些需要自己设置的参数,被称为超参数,这些数字控制了最后参数w和b的值。需要基于想法去不断的尝试,选择最合适的参数值,称之为调参。超参数的选择有很多的可能性,需要去尝试不同的值。隐藏单元数 n[1],n[2]······梯度下降法循环的数量。原创 2024-01-23 12:22:56 · 813 阅读 · 1 评论 -
深度学习(深层神经网络)
其中w也需要不断更新每一层都进行以上就是神经网络的一个梯度下降循环在实现上对z,w,b的值进行缓存,在实现反向传播时很方便如有错误还请各位大佬留言指正。原创 2023-12-10 22:46:12 · 1080 阅读 · 0 评论 -
深度学习(随机初始化权重)
通常我们喜欢将权重矩阵初始化为很小很小的随机值因为,如果用的额是tanh或者sigmoid激活函数,或者在输出层有一个sigmoid函数,如果权重太大,当计算激活函数值时根据公式然后,是应用于z^[1]的额激活函数所以如果w很大,z就会很大,或者z值会很大或很小,在这种情况下,结合tanh和sigmoid函数图像可得到,最后的值可能落在其平缓部分,梯度的效率非常小,梯度下降法会很慢,学习就会很慢。原创 2023-12-08 22:53:45 · 1156 阅读 · 0 评论 -
深度学习(激活函数)
在神经网络中,激活函数分为两种:隐藏层激活函数和输出层激活函数。函数是决定神经网络模型输出的数学方程。换句话说,激活函数是在人工神经网络中添加的一种函数,用于帮助网络学习数据中的复杂模式。它接收来自上一个单元的输出信号,并将其转换为下一个单元可以接受的形式。所有隐藏层通常使用相同的激活函数。输出层通常会使用与隐藏层不同的激活函数,这取决于模型所需的预测类型。激活函数通常也是可微分的,这意味着可以计算给定输入值的一阶导数。原创 2023-12-04 21:49:59 · 1296 阅读 · 1 评论 -
深度学习(神经网络)
其中如上图所示,第一列(三个圆所表示的一层),所对应的就是与z相关的计算,而第二列(一个圆算表示的那一层)所对应的就是a及y帽类似的计算。通过输入特征量X,参数w和b,计算出z,进而再用z求出a,用a同时表示输出y帽,接下来就可以计算求损失函数L。在这个神经网络当中我们要经过多次计算,反复计算Z和a,反复计算a和z,最后计算损失函数。再利用sigmod(z[i]),计算得出a[1],用另外一个线性方程得到a[2]使用"[]",目的是为了区别于"()",圆括号表示为单个训练样本,x[i],表示网络的第i层。原创 2023-12-01 18:04:16 · 390 阅读 · 1 评论 -
深度学习(神经网络的表示及输出)
首先拿以上这样一种神经网络模型来演示。原创 2023-12-03 13:37:19 · 1374 阅读 · 1 评论 -
深度学习(python中numpy向量的说明)
当然,如果出于某种情况得到了上述(5,)这种数据结构,可以使用reshape来将其转换成一个5*1或1*5的数组。如果不确定一个向量的具体维度是多少,可以用assert进行这样一个声明,确保这是一个向量。其结果为(5,) ,表示为python中秩为1的数组,既不是行向量,也不是列向量。因此建议不使用,之前a的那种数据结构,即不用(5,)及(n,)的秩为1的数据结构。Python中广播的灵活性也会带来一些细微的错误,以及一些奇怪的BUG。不要使用秩为1的数组,应当使用其行向量或列向量。原创 2023-11-30 18:46:35 · 362 阅读 · 0 评论 -
深度学习(python中的广播实例)
如果一个m*n的矩阵,对一个1*n(m*1)的矩阵进行加减乘除时,会进行重复m(n)次已得到m*n的矩阵,并进行运算。技术上,在第一行代码后变量cal已经是一个1*4的矩阵了,所以技术上不需要调用reshape。axis=0,这个轴为0,希望python在竖直方向求和,这个轴0意味着数值方向相加,在前期的logistic回归函数当中的参数b就利用了类似的广播形式。python会做的事情是,将100拆开为一个1*4的矩阵(向量)一个矩阵加一个常数,该常数会不断重复,直到得到与之相同的矩阵。原创 2023-11-30 00:46:32 · 383 阅读 · 0 评论