自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 深度学习(1)数据操作以及预处理

N维数组是机器学习及深度学习主要的数据结构。一个数字被称为标量;一个一维数组被称为向量;一个二维数组被称为特征矩阵;常用的3维数组,例如RGB图片;常用4维数组,例如一个RGB图片批量。经过预处理后,已经将csv文件转换为一个纯数字构成的矩阵了,此时就可以将矩阵转换为张量了。(2)从创建的csv文件中加载原始数据集。接下来处理Alley所在列的NaN。常用数据处理操作包括插值和删除。(1)手动创建模拟数据集。(3)处理缺失的数据。

2023-11-07 23:24:10 92 1

原创 pandas学习(1)

DataFrame可以视作既有行索引,又有列索引的二维数组。首先,可以通过np.random.normal方法生成一个符合正态分布的二维数组。stock_change = np.random.normal(0,1,(10,5)) # 生成一个符合正态分布的均值为0,方差为1的10行5列的二维数组输出的结果如下,可以发现,该二维数组没有行列索引。可以使用pandas中的DataFrame函数,为生成的二维数组添加指定的行、列索引。

2023-11-06 23:23:23 84 1

原创 numpy学习(2)——numpy数组的计算及读取本地数据

例如:一个shape为(3,3,4)的3维数组,和一个shape为(3,4)的二维数组,虽然形状不同,但是从末尾向前遍历,会发现3维数组的后2个维度的形状与二维数组形状相同,因此这2个数组是可以进行计算的。(1)定义:在numpy中,轴可以理解为方向,使用数字0,1,2,...进行表示。例如一维数组只有一个0轴,二维数组有0,1轴,3维数组有0,1,2轴。如果2个数组的后缘维度(从末尾开始计算的维度)的轴长相符或其中一方长度等于1,则这2个数组是广播兼容的,则这2个数组可以进行计算。

2023-11-02 22:59:15 125 1

原创 numpy学习(1)——numpy数组

通过reshape来改变数组的形状,参数为所需要的块数、行数、列数。需要注意的是,调用reshape函数的数组自身形状不会发生变化,而是返回了一个新的形状的数组。当要将多维数组转换为一维数组是,reshape的参数为(数组总个数,)即可;对一个numpy数组进行数字运算。例如将一个多维数组+2,会对数组中的每一个元素进行+2运算,同理,减、乘、除也相同。通过使用创建出来的数组对象,调用其shape属性即可查看数组的形状,shape属性返回一个元组。可以通过设置arange里的参数,修改生成的数组形状。

2023-11-01 22:58:40 99 1

原创 matplotlib绘制其余图形(1)

上面的图像有一个问题,就是x轴对应的刻度是数字,不是对应的信息,可以使用xticks为数字绑定指定的信息。(1)使用scatter函数进行绘制。使用函数barh进行绘制。(1)单次条形图的绘制。(2)绘制横着的条形图。

2023-10-29 20:49:29 41 1

原创 matplotlib绘制折线图(3)

在之前绘制的气温变化曲线中,x,y轴虽然已经显示了刻度,但仍然不够清晰。可以通过xlabel,ylabel等属性,为x、y轴添加对应的文字信息。设置多个y数组,然后用plot函数绘制多次。(2)设置线条颜色以及线条样式。(1)为每一条折线图添加图注。

2023-10-27 20:31:44 46 1

原创 matplotlib绘制折线图(2)——设置显示中文

通常地,通过x_ticks函数来设置x轴显示的刻度的类型,如果该函数只有一个参数,那么默认刻度为数字类型。可以通过再设置一个参数,将前面的参数与后面的参数做对应,在实际绘图的过程中,绘制刻度依据的是后面的参数。rc函数中有2个默认参数,第一个参数指定要修改的内容,例如要修改字体,第一个参数就应该为'font',第二个参数可以设置呈 **变量名 的形式,代表该变量是一个字典。可以观察到,x轴的刻度从一开始的0到120变成了hello,0到hello,110。(2)使用多个参数后绘制的图像。

2023-10-27 19:40:57 359 1

原创 matplotlib折线图

该图像生成的结果为:x轴,y轴的刻度为matplotlib自动生成的刻度,与在代码中设定的刻度不一致。数据可视化、数据分析,使数据更加直观,matplotlib是python最底层的绘图库。如果想要设置步长小于1的刻度,可以通过自定义标签来实现。2.以矢量图的形式进行保存(图像放大后不会产生锯齿)(1)通过figure函数设置图像的宽、高、清晰度。调用figure方法后的产生的新图像:变得更加宽。(3)设置x轴的刻度(使用xticks函数)

2023-10-26 19:35:02 36

原创 边缘提取——计算机视觉基础

对x求导得到的是y方向上的边,对y求导得到的是x方向上的边。先利用高斯卷积核对该图像做平滑操作,在对卷积后的结果进行求导,即可找到梯度的最大值,进而找到图像边缘。但是,先卷积再求导的计算量较大,因此,可以先对高斯卷积核进行求导,再对高斯一阶偏导卷积核与原图像再做一次卷积。(3)图像梯度:分别对图像x,y方向上的像素点进行求导,2个导数构成的向量即为图像梯度。(2)深度不连续:在实际场景中不存在的边,例如一个瓶子实际上是圆的,但在拍照显示到图像上会产生竖直的边。此时,无法通过导数梯度的最大值找到边缘。

2023-10-25 22:35:26 380

原创 图像噪声与中值滤波器

其中原函数f表示理想图像,η表示随机噪声,该随机噪声服从参数为μ,σ的高斯分布,通常μ=0,σ较小。(2)减小高斯噪声的一般方法:当σ较大时,高斯噪声越大,此时适当增大高斯卷积核的σ值,能够减小卷积后得到的图像噪声。(3)中值滤波的优势:在保留原图像权值整体不变的基础上,对产生的噪声的像素值点用中值像素点进行替换,从而使得整个图像变得更加平滑,降低噪声。例如下图中,对改模板内的数值排序:10,15,20,23,27,30,31,33,90,其中27排在中间,将27替换原图的90。

2023-10-24 22:11:47 49

原创 高斯卷积核

假设当前卷积核的σ设置为2,根据2*3σ+1计算得到该卷积核的宽度为7。但是,在进行归一化的过程中,模板尺寸越大,高斯函数与模板相乘得到的趋近于0的值就越多,归一化后的结果就越小,进而卷积核中心的最大的像素与周围相差的也就越小,得到的图像越平滑。由此可见,有时候使用标准差较小的卷积核连续做多次卷积的时间复杂度小于用标准差较大的卷积核做1次卷积的时间复杂度。使用平均卷积核通常是为了达到让图像变得模糊的效果,但是,当原图像乘以该卷积核时,有时会令原图像上产生水平和竖直的条状,这种现象被称为振铃,如下图所示。

2023-10-23 22:46:09 1489 1

原创 图像卷积与卷积神经网络

令F为图像,H为卷积核,F与H的卷积记为R = F * H。公式为:卷积的实质就是对图像中的每一个像素点,用它周围的像素点进行加权求和,从而调整该点的灰度值。

2023-10-20 23:03:49 75 1

原创 神经网络中的超参数

因此,可以将(0.00001,1)该空间均匀地划分,(0.00001,0.0001),(0.0001,0.001),(0.001,0.01),(0.01,0.1)这5个均匀的空间,这样在下一次随机采样时超参数会更加合理。但是,这样有一个缺点:学习率作为比较重要的参数,只选择3个不同的值可能并不合理,无法找到该超参数的最优值。2.精搜索:利用之前粗搜索后缩小的空间,在该空间再进行分组,选择验证集正确率最高的那组,然后在范围比较小的组里面再去划分,在迭代5-10次后,选择验证集里面正确率最高的那组超参数。

2023-10-19 12:31:55 731 1

原创 过拟合与欠拟合

下述神经网络中,假设标红的2个神经元起主要作用,如果通过随机失活使2个神经元失效,那么这个神经网络就起不到作用了。定义:学习时选择的模型中参数过多,导致对训练数据集表现效果很好,但是在测试集上表现得很差的现象,即模型的泛化能力很弱,并没有评估能力。(1)将一部分特征设置为0,相当于减少了神经网络中参与计算的参数(参数乘以特征,值为0),降低了模型的容量。实现方式:在某一层中使用Dropout,即将该层的输出值进行一部分的随机的舍弃,将该部分输出设置为0。定义:让隐层中的神经元以一定概率不被激活。

2023-10-18 22:44:45 38

原创 梯度下降的优化

如下图所示,循环中的前两部与小批量随机采样梯度下降算法一致,先进行采样然后计算梯度,在之后使用一个变量v来记录梯度g的累加值,在每次迭代的过程中,v=uv+g,u为动量系数,一般设置为0.9,这样做的目的是让累加值能得到及时地更新。而在已经达到了极值点后,g为0,v=0.9v,再进行n次迭代后,v=0.9的n次幂乘v,v就趋近于无穷小了,进而是梯度停留在离极小值点附近的位置。设立变量r,用于累计平方梯度,r=r+g*g,当梯度较大时,r就会得到较大的值,在进行权值的更新时,分母的值增大,导致。

2023-10-17 22:38:23 44

原创 激活函数评估

在接下来的梯度计算中,图里的每一条边的梯度就全部都是0了。类似的,tanh激活函数的导数与sigmoid的导数相似,也会出现梯度消失的问题,因此,tanh也不是一个好的激活函数。Leaky ReLu函数在小于0的部分,仍然存在着0.01的梯度,因此使用Leaky ReLu函数不会出现梯度损失。2.ReLu函数的导数在大于0的情况下,其导数值为1,小于0导数值为0。在进行梯度下降时,有时候该函数的某处的导数会较大,导致在更新权值后,权值很可能会跳过极小值点,导致可能花费更多的迭代次数才能找到局部极小值。

2023-10-16 14:58:59 38 1

原创 全连接神经网络——计算图

计算图是一种有向图,用来表达输入、输出以及中间变量之间的计算关系,图中每一个结点代表一种数学运算。例如求函数的计算图,那么该计算图如下所示:不难发现,该图是一个有向图,其中结点包含运算符,边代表着运算结果。

2023-10-16 13:59:33 498 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除