![](https://img-blog.csdnimg.cn/c4cd392bee1a4bd28e0b309099140b67.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习
文章平均质量分 63
深度学习相关学习内容分享
缓下脚步
Life was like a box of chocolates, you never know what you’re gonna get.
展开
-
马尔科夫链、PCV及贝叶斯动图详解
在下面的示例中,原始数据以3D的形式绘制,但可以通过不同的视角,将其投射到2D空间。在本例中,PCA变换确保水平轴PC1的变化量最大,垂直轴PC2的变化量次之,第三轴PC3的变化量最少。这是一个很好的迹象,我们所看到的结构反映了现实世界地理的一个重要事实北爱尔兰是四个国家中唯一一个不在大不列颠岛上的。当马尔科夫链处于状态“R”时,它保持在该状态的概率是0.9,状态改变的概率是0.1。同样,“S”状态保持不变的概率是0.9,过渡到“R”状态的概率是0.1。所以模拟中的每一天都有50%的概率是下雨的。原创 2023-10-24 19:38:06 · 184 阅读 · 0 评论 -
卡尔曼滤波基本原理详解
总的来说,卡尔曼滤波器是一个状态估计器,它利用传感器融合、信息融合来提高系统的精度。通常,我们要观测一个系统的状态,有两种手段。一种是通过系统的状态转移方程,并结合上一时刻的状态推得下一时刻的状态。一种是借助辅助系统(量测系统)的测量得到系统状态。这两种方式都有各自的不确定性,卡尔曼滤波可以将这两者做到最优结合(加权平均),使得我们估计的状态的不确定性小于其中任何一种。所以权重的选择至关重要,它意味着我们更信任哪一种方式得出的状态(当然是更加信任不确定性较小的状态)。原创 2023-10-23 15:39:57 · 1458 阅读 · 0 评论 -
机器学习之感知机原理及Python实现
因为是线性模型,所以感知机的原理并不复杂,本节和大家来看一下感知机的基本原理和Python实现。假设数据是线性可分的,当然有且仅在数据线性可分的情况下,感知机才能奏效。所谓线性可分,也即对于任何输入和输出数据都存在某个线性超平面wx+b=0能够将数据集中的正实例点和负实例点完全正确的划分到超平面两侧,这样数据集就是线性可分的。由上可知完整的感知机算法包括参数初始化、对每个数据点判断其是否误分,如果误分,则按照梯度下降法更新超平面参数,直至没有误分类点。w和b为感知机模型参数,也是感知机要学习的东西。原创 2023-09-21 15:47:46 · 612 阅读 · 0 评论 -
Keras函数——keras.callbacks.ModelCheckpoint()及模型的训练
2、在训练阶段的model.compile之后加入下列代码实现每一次epoch(period=1)保存最好的参数。4、在model.fit添加callbacks=[checkpoint]实现回调。1、从keras.callbacks导入ModelCheckpoint类。3、在训练阶段的model.fit之前加载先前保存的参数。在每个epoch后保存模型到filepath。原创 2023-06-06 22:51:43 · 403 阅读 · 0 评论 -
Keras函数——mode.fit_generator()
可以传递一个1D的与样本等长的向量用于对样本进行1对1的加权,或者在面对时序数据时,传递一个的形式为(samples,sequence_length)的矩阵来为每个时间步上的样本赋不同的权。validation_steps: 当validation_data为生成器时,本参数指定验证集的生成器返回次数。verbose:日志显示,0为不在标准输出流输出日志信息,1为输出进度条记录,2为每个epoch输出一行记录。initial_epoch: 从该参数指定的epoch开始训练,在继续之前的训练时有用。原创 2023-06-06 14:55:43 · 536 阅读 · 0 评论 -
深度学习之Epoch、Iteration、Batchsize详解
同时,代价函数也在减小,或者说代价在减小,有时候也称为损失函数或者损失,两者是一样的。因此,为了解决这个问题,我们需要把数据分成小块,一块一块的传递给计算机,在每一步的末端更新神经网络的权重,拟合给定的数据。增大Batch_Size,所需内存容量增加(epoch的次数需要增加以达到最好的结果)这里我们发现上面两个矛盾的问题,因为当epoch增加以后同样也会导致耗时增加从而速度下降。下降的含义是代价函数的下降。迭代是重复反馈的动作,神经网络中我们希望通过迭代进行多次的训练以达到所需的目标或结果。原创 2023-06-06 11:19:51 · 734 阅读 · 0 评论 -
keras.callbacks.ModelCheckpoint()详解及模型的训练
2、在训练阶段的model.compile之后加入下列代码实现每一次epoch(period=1)保存最好的参数。4、在model.fit添加callbacks=[checkpoint]实现回调。1、从keras.callbacks导入ModelCheckpoint类。3、在训练阶段的model.fit之前加载先前保存的参数。在每个epoch后保存模型到filepath。原创 2023-06-04 12:06:26 · 2672 阅读 · 1 评论 -
机器学习中的Dropout和学习率衰减
在每个训练批次中,通过忽略一半的特征检测器(让一半的隐层节点值为0),可以明显地减少过拟合现象。在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络的时候经常会遇到过拟合的问题,过拟合具体表现在:模型在训练数据上损失函数较小,预测准确率较高;此时,训练模型费时就成为一个很大的问题,不仅训练多个模型费时,测试多个模型也是很费时。在训练过程开始时,使用较大的学习率值,可以使结果快速收敛,随着训练的进行,逐步降低学习率和收敛的速度,有助于找到最优结果。原创 2023-06-03 22:20:59 · 205 阅读 · 0 评论 -
Win10下Tensorflow+GPU的环境配置
注:如果想要对安装包进行更新,可以切换盘符到Anaconda安装目录输入conda list 就可以查询现在安装了哪些库,初次安装的包一般比较老,为了避免之后使用报错,可以输入 conda update --all 命令,把所有包进行更新,在提示是否更新的时候输入 y(Yes)让更新继续,等待完成即可。本文主要记录了Win10下,Cuda9.0、Cudnn7.3.1、Tensorflow-gpu1.13.1、python3.6.8、Keras的安装过程。分别在网站上下载对应的版本,安装即可。原创 2023-06-02 10:19:20 · 569 阅读 · 0 评论 -
Tensorflow函数——tf.placeholder()函数
在Tensoflow2.0以前,还是静态图的设计思想,整个设计理念是计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,这一点和python的其他数值计算库(如Numpy等)不同,graph为静态的,在实际的运行时,启动一个session,程序才会真正的运行。我们知道,很多python程序的底层为C语言或者其他语言,执行一行脚本,就要切换一次,是有成本的,tensorflow通过计算流图的方式,可以帮你优化整个session需要执行的代码。原创 2023-06-02 10:14:21 · 679 阅读 · 0 评论 -
人工神经网络
隐藏层中,两层神经网络可以无限逼近任意连续函数,也就是说,面对复杂的非线性分类任务,两层神经网络可以分类的很好,关键就是从输入层到隐藏层时,数据发生了空间变换。最简单的激活函数是临界值判定,如输入总和高于阈值(如0.5),则神经元将输出值1.0,否则将输出值0.0.输出层对于二分类问题,可以使用sigmoid函数,输出0和1之间的值,以表示预测主类别值的概率。此外,线性整流函数ReLU相比这两个函数,只需要一个阈值就可以得到激活值,能够提供更好的结果。ReLU函数不是传统的非线性函数,而是分段线性函数。原创 2023-05-31 15:17:34 · 92 阅读 · 1 评论 -
深度学习之Keras
Keras是一个高层神经网络API,Keras完全由Python编写而成,使用Tensorflow、Theano及CNTK作为后端。4.执行预测——调用模型的evaluate()或predict()等函数对新数据进行预测。2.编译模型——指定损失函数和优化器,并调用模型的compile()函数,完成模型编译。3.训练模型——通过调用模型的fit()函数来训练模型。1.定义模型——创建一个序贯模型并添加配置层。通过Python脚本查看Keras使用的后端。原创 2023-05-26 14:09:05 · 172 阅读 · 1 评论