数学分析
文章平均质量分 52
数学理论与建模相关
拾牙慧者
会点c++、python;
展开
-
为什么两层3*3卷积核效果比1层5*5卷积核效果要好?
感受野感受野:卷积神经网络各输出特征像素点,在原始图片映射区域大小。举个例子,原图为3x3大小,我们使用3x3大小的卷积核卷积,得到的输出图片大小是1x1的,所以输出图片的感受野是3。感受野表征了卷积核的特征提取能力。2遍3 * 3卷积与1遍5 * 5卷积设原图大小长宽皆为x(x>=5) ,我们使用5x5的卷积核在x方向上滑动,步长为1,需要滑动(x-5+1)次,y方向同理,滑动了(x-5+1)次,所以最终卷积了(x-4) * (x-4)次,也就是说得到的输出图大小为(x-4) * (x原创 2020-09-09 09:15:10 · 3733 阅读 · 0 评论 -
GAP(全局平均池化层)操作
转载的文章链接:为什么使用全局平均池化层?关于 global average poolinghttps://blog.csdn.net/qq_23304241/article/details/80292859在卷积神经网络的初期,卷积层通过池化层(一般是 最大池化)后总是要一个或n个全连接层,最后在softmax分类。其特征就是全连接层的参数超多,使模型本身变得非常臃肿。之后,有大牛在NIN(Network in Network)论文中提到了使用全局平局池化层代替全连接层的思路,以下是摘录的一.转载 2020-09-15 22:30:48 · 14600 阅读 · 5 评论 -
为什么使用1 * 1 的卷积核
为什么使用 1* 1卷积核?作用:1、实现跨通道的交互和信息整合2、 进行卷积核通道数的降维和升维3、 在保持feature map尺度不变的(即不损失分辨率)的前提下大幅增加非线性特性跨通道的交互和信息整合使用1 * 1卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,3 * 3,64channels的卷积核前面添加一个1 * 1,28channels的卷积核,就变成了3 * 3,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了2原创 2020-09-15 20:59:06 · 1210 阅读 · 0 评论 -
《YOLO算法笔记》(草稿)
检测算法回顾5、6年前的检测算法大体如下:手动涉及特征时应该考虑的因素:1、尺度不变性 2、光照不变性 3、旋转不变性这一步骤称为特征工程,最重要的一个算法称为sift,(回顾SIFT讲解)体现了上述所有的观点。在分类的过程中,经典的工具有SVM、NN。由于每一个步骤都会存在误差,随着链路不断增长,会导致误差逐步累积,最终带来错误。stage1生成备选框,stage2进行精准化.v1讲解一些概念和定义每个备选框都可以用四个维度唯一标定。confidence为置信度,置信度表达原创 2021-07-04 19:48:31 · 370 阅读 · 1 评论 -
机器学习笔记:PCA的简单理解以及应用建议
用notability做的笔记,比较随意,对于第五点的PCA错误使用需要特别强调。目录1、PCA与线性回归2、PCA主成分数量选择3、压缩重现4、PCA应用建议5、PCA的错误使用1、PCA与线性回归2、PCA主成分数量选择3、压缩重现4、PCA应用建议5、PCA的错误使用...原创 2020-10-31 19:47:56 · 455 阅读 · 0 评论 -
简单的数据增强代码(C++与opencv)
包括了图片批量平移、旋转、以及像素变换#include <opencv2/opencv.hpp>#include "opencv2/features2d.hpp"#include <vector>#include <algorithm>#include <iostream>#include "windows.h"#include <stdio.h>#include <time.h>#include <math.h原创 2021-02-12 17:38:35 · 863 阅读 · 0 评论 -
【神经网络计算】——神经网络实现鸢尾花分类
本blog为观看MOOC视频与网易云课堂所做的笔记课堂链接:人工智能实践:TensorFlow笔记吴恩达机器学习疑问与思考为什么按照batch喂入数据之前看的视频里面处理数据都是一次性将所有数据喂入,现在看的这个视频对数据进行了分组投入。这是为何?参考链接:深度学习中的batch理解(batch size一次喂给神经网络的数据大小量)用CNN做图像分类的时候,为什么要一批一批地输入数据?对样本数据的处理方法:传统的梯度下降法:用全部样本计算迭代时的梯度随机梯度下降法(在线梯度.原创 2020-08-30 22:58:57 · 2133 阅读 · 0 评论 -
jupyter notebook指定工作目录
【1】打开Anaconda Navigator打开Anaconda Navigator,点击左侧Environments,点击base(root)->open Terminal【2】输入指令jupyter notebook --generate-config按下回车键,弹出config所在位置。以VS Code打开文件【3】修改第261行代码#c.NotebookApp.notebook_dir = ''替换为c.NotebookApp.notebook_dir = 'D:\co原创 2020-08-06 04:50:50 · 1923 阅读 · 2 评论 -
解析法实现一元线性回归、多元线性回归以及数据模型可视化操作
解析法实现一元线性回归代码:#加载样本数据x=[137.97,104.50,100.00,124.32,79.20,99.00,124.00,114.00,106.69,138.05,53.75,46.91,68.00,63.02,81.26,86.21]y=[145.00,110.00,93.00,116.00,65.32,104.00,118.00,91.00,62.00,133.00,51.00,45.00,78.50,69.65,75.69,95.30]meanX=sum(x)/len(x原创 2020-08-25 19:36:52 · 2886 阅读 · 1 评论 -
梯度下降法预测波士顿房价以及简单的模型评估
import numpy as npimport tensorflow as tf import matplotlib.pyplot as plt boston_housing =tf.keras.datasets.boston_housing(train_x,train_y),(test_x,test_y)=boston_housing.load_data()print(train_x.shape,train_y.shape,test_x.shape,test_y.shape)num_trai原创 2020-08-28 14:45:21 · 2278 阅读 · 3 评论 -
python与tensorflow知识点截图集锦(持续囤积)
目录前言conda环境管理python语法【1】语言属性【2】代码缩进问题【3】input和output函数与print函数【4】关键字与简单数据类型与简单运算符【5】利用缩进体现逻辑关系【6】数据结构:列表与元组【7】数据结构:字典【8】数据结构:集合【8】基础函数以及函数的定义方式【8】模块、包和库的命名方式以及导入方式【9】常用模块sys模块platform模块math模块random模块【10】对象与类【11】文件操作【12】异常处理try:except语句和with语句NumPy库【1】数组形状描原创 2020-08-21 13:55:26 · 356 阅读 · 0 评论 -
TensorFlow的可训练变量和自动求导机制
文章目录一些概念、函数、用法TensorFlow实现一元线性回归一些概念、函数、用法对象Variable创建对象Variable:tf.Variable(initial_value,dtype)利用这个方法,默认整数为int32,浮点数为float32,注意Numpy默认的浮点数类型是float64,如果想和Numpy数据进行对比,则需要修改与numpy一致,否则在机器学习中float32位够用了。将张量封装为可训练变量print(tf.Variable(tf.random. norm.原创 2020-08-26 23:30:11 · 1497 阅读 · 0 评论 -
CNN基本步骤以及经典卷积(LeNet、AlexNet、VGGNet、InceptionNet 和 ResNet)网络讲解以及tensorflow代码实现
课程来源:人工智能实践:Tensorflow笔记2文章目录前言1、卷积神经网络的基本步骤1、卷积神经网络计算convolution2、感受野以及卷积核的选取3、全零填充Padding4、tf描述卷积层5、批标准化(BN操作)6、池化Pooling7、舍弃Dropout8、卷积神经网络搭建以及参数分析2、经典卷积网络讲解1、LeNet2、AlexNet3、VGGNet4、InceptionNet5、ResNet6、经典卷积网络总结总结前言本讲目标:讲解卷积神经网络的基本步骤以及分析比较经典的网络架构原创 2020-09-16 17:33:10 · 3329 阅读 · 0 评论 -
划分数据集代码(按照4:1的比例)以及根据各自文件名写入txt文件
会将图片分到两个文件夹中,并且生成两个txt文件,分别写入图片名字。#include <fstream>//ifstream读文件,ofstream写文件,fstream读写文件#include <string>//文本对象,储存读取的内容#include <iostream>//屏幕输出cout#include <cstdlib>//调用system("pause");#include <windows.h>//用于函数SetCons原创 2021-02-12 17:36:05 · 846 阅读 · 0 评论 -
前向验证对于模型的更新作用
首先,让我们看一个小的单变量时间序列数据,我们将用作上下文来理解这三种回测方法:太阳黑子数据集。该数据集描述了刚刚超过 230 年(1749-1983 年)观察到的太阳黑子数量的每月计数。数据集显示了季节之间差异很大的季节性。首先对数据集进行训练-测试划分:使用多个训练测试拆分将导致训练更多模型,进而更准确地估计模型在未见数据上的性能。训练-测试拆分方法的一个限制是,训练的模型在测试集中的每个评估中被评估时保持固定。这可能是不现实的,因为模型可以在新的每日或每月观察可用时重新训练。下一节将解决原创 2022-03-14 20:43:04 · 1853 阅读 · 0 评论 -
【TensorFlow学习笔记:神经网络八股】(实现MNIST数据集手写数字识别分类以及FASHION数据集衣裤识别分类)
课程来源:人工智能实践:Tensorflow笔记2文章目录前言一、搭建网络八股sequential二、使用步骤1.引入库2.读入数据总结前言本讲目标:使用八股搭建神经网络神经网络搭建八股iris代码复现MNIST数据集训练MNIST数据集Fashion数据集一、搭建网络八股sequential示例:使用六步法,使用TensorFlow的API;tf.keras搭建网络八股1、import 导入相关模块2、train、test 告知要喂入网络的训练集、测试集是什么,也就是要原创 2020-09-05 14:54:24 · 922 阅读 · 7 评论 -
【神经网络八股扩展】:数据增强
课程来源:人工智能实践:Tensorflow笔记2文章目录前言TensorFlow2数据增强函数数据增强+网络八股代码:总结前言本讲目标:数据增强,增大数据量关于我们为何要使用数据增强以及常用的几种数据增强的手法,可以看看下面的文章,虽说是翻译的,但仍有可鉴之处:数据增强(Data Augmentation)TensorFlow2数据增强函数对图像的增强就是对图像的简单形变,用来应对因为拍照角度不同引起的图片形变。TensorFlow2给出了数据增强函数image_gen_train原创 2020-09-07 23:52:47 · 355 阅读 · 0 评论 -
利用梯度下降法求解一元线性回归和多元线性回归
文章目录原理以及公式【1】一元线性回归问题【2】多元线性回归问题【3】学习率【4】流程分析(一元线性回归)【5】流程分析(多元线性回归)归一化原理以及每种归一化适用的场合一元线性回归代码以及可视化结果多元线性回归代码以及可视化结果总结原理以及公式【1】一元线性回归问题原函数是一元函数(关于x),它的损失函数是二元函数(关于w和b)这里介绍两种损失函数:平方损失函数和均方差损失函数【2】多元线性回归问题X和W都是m+1维的向量,损失函数是高维空间中的凸函数【3】学习率学习率属于超参.原创 2020-08-26 16:23:17 · 1364 阅读 · 1 评论 -
【TensorFlow学习笔记:神经网络优化(6讲)】
NN复杂度空间复杂度:层数:隐藏层层数+输出层总参数:总w+总b时间复杂度:乘加运算次数以下图为例:总参数=3x4+4(第一层) +4x2+2(第二层)=26乘加运算次数=3x4+4x2=20指数衰减学习率已知:学习率过小,收敛速度慢。学习率过大导致不收敛。可以先用较大的学习率,快速得到较优解,然后逐步减小学习率,使模型在训练后期稳定,例如指数衰减学习率。指数衰减学习率=初始学习率*学习率衰减率^(当前轮数/多少轮衰减一次)epoch = 40LR_BASE = 0.2 #原创 2020-09-04 17:01:33 · 958 阅读 · 0 评论 -
【神经网络扩展】:断点续训和参数提取
课程来源:人工智能实践:Tensorflow笔记2文章目录前言断点续训主要步骤参数提取主要步骤总结前言本讲目标:断点续训,存取最优模型;保存可训练参数至文本断点续训主要步骤读取模型:先定义出存放模型的路径和文件名,命名为.ckpt文件。生成ckpt文件的时候会同步生成索引表,所以通过判断是否存在索引表来知晓是不是已经保存过模型参数。如果有了索引表就利用load_weights函数读取已经保存的模型参数。code:checkpoint_save_path = "./checkp原创 2020-09-08 23:41:17 · 924 阅读 · 0 评论 -
滑动窗口在重构数据集的作用
step1:使用滑动窗口重构数据集给定时间序列数据集的数字序列,我们可以将数据重构为看起来像监督学习问题。我们可以通过使用以前的时间步作为输入变量并使用下一个时间步作为输出变量来做到这一点。通过观察重构后的数据集与原本的时间序列,我们可以总结出如下几点:使用先前的时间步来预测下一个时间步的方法称为滑动窗口法。在统计和时间序列分析中,这称为滞后或滞后方法。下面将着重关注一下几点:step2:多元时间序列如何重构?单变量时间序列:这些数据集每次仅观察到一个变量,例如每小时的温度。上一节中原创 2022-03-14 20:39:26 · 2886 阅读 · 1 评论 -
使用鸢尾花数据集实现一元逻辑回归、多分类问题
目录原理【1】从线性回归到广义线性回归【2】逻辑回归【3】损失函数【4】总结TensorFlow实现一元逻辑回归原理【1】从线性回归到广义线性回归广义线性回归通过联系函数,对线性模型的结果进行一次非线性变换,使他能够描述更加复杂的关系。【2】逻辑回归阶跃函数不是一个单调可微的函数、可以使用对数几率函数替代sigmoid函数将(-无穷,+无穷)的输入转化到(0,1)【3】损失函数线性回归的处理值是连续值,不适合处理分类任务用sigmoid函数,将线性回归的返回值映射原创 2020-08-29 22:27:41 · 3869 阅读 · 3 评论 -
【神经网络八股扩展】:自制数据集
课程来源:人工智能实践:Tensorflow笔记2文章目录前言文件一览将load_data()函数替换掉总结前言本讲目标:自制数据集,解决本领域应用将我们手中的图片和标签信息制作为可以直接导入的npy文件。文件一览首先看看我们的文件长什么样:路径:D:\python code\AI\class4\MNIST_FC\mnist_image_label\mnist_test_jpg_10000图片文件:(黑底白字的灰度图,大小:28x28,每个像素点都是0~255之间的整数)标签文件:原创 2020-09-07 20:15:19 · 1840 阅读 · 1 评论 -
双指数平滑中参数对于预测模型的影响
先看看α在β一致的情况下,α越小,模型越滞后。再看看β在α一致的情况下,β越大,模型对于趋势的预测更敏锐。原创 2022-03-14 20:44:48 · 675 阅读 · 0 评论 -
时间序列进行分析的一些手法以及代码实现(移动平均、指数平滑、SARIMA模型、时间序列的(非)线性模型)
文章目录1、移动平均moving average方法weighted average方法2、指数平滑单指数平滑 exponential_smoothing双指数平滑三指数平滑 Triple exponential smoothing3、平稳性以及时间序列建模SARIMA模型4、时间序列的(非)线性模型时间序列的滞后值使用线性回归XGBoost5、一些疑惑以及技术选型6、文章参考7、代码附录传统模型法机器学习的方法(线性回归、XGB)demosarima_demoexp_smooth_demolinear_r原创 2022-03-14 20:25:50 · 5578 阅读 · 0 评论 -
洛必达法则使用条件
使用条件1、分子分母同趋向于0或无穷大 。2、分子分母在限定的区域内是否分别可导。3、当两个条件都满足时,再求导并判断求导之后的极限是否存在:若存在,直接得到答案;若不存在,则说明此种未定式无法用洛必达法则解决;如果不确定,即结果仍然为未定式,再在验证的基础上继续使用洛必达法则。注意事项1、求极限之前,先要检查是否满足0/0或∞/∞型构型,不然滥用洛必达法则会出错。当不存在时(不包括∞情形),就无法用洛必达法则,这时称洛必达法则不适用,得从另外途径求极限,例如利用泰勒公式去求解。2、当条件转载 2021-02-23 20:45:41 · 24437 阅读 · 2 评论 -
(保守群组测试 非保守群组测试 二次重复测试 自适应二次重复测试)四种群体测试的C++代码
假设该病在人群中的患病率(先验概率)为p,我们想用群体检验法检验N个独立样本组大小n,即样本数量。单个试验的诊断方法的FNR用fN表示,FPR可忽略不计。用G表示一组样本,G=0表示G中的所有样本均未感染。相反,G=1意味着G是一个阳性组;即,它至少有一个感染标本。通过观察不同方法的分组试验结果,我们将一个组分为感染组和未感染组,分别用Gˆ=1和Gˆ=0表示。原创 2021-01-29 00:22:55 · 426 阅读 · 0 评论 -
群体测试中的假阴性影响
群体测试中的假阴性比个体测试中的假阴性风险要大得多。如果一组样本被感染,该组中的每个样本都可能被感染。因此,如果该受感染池的检测结果为假阴性,则该结果表明池中的每个人都没有感染。此外,在群体试验中混合样本会使受感染的样本被未受感染的样本稀释。因此,如果不明智地确定组的大小,感染的标本就变得不可检测,检测的灵敏度也会降低,从而导致假阴性(稀释效应)。因此,群体测试方法必须能抵抗假阴性结果。不幸的是,在小组测试领域的大多数研究的主要焦点仅仅是减少平均测试次数。因此,需要更多的研究来减轻群体测试中假阴性的影响,提原创 2021-01-29 00:02:16 · 251 阅读 · 0 评论 -
简单的群体测试方案C++代码(Group testing against Covid-19)
原理参考链接https://www.econstor.eu/handle/10419/221811http://www.magigen.com/h-nd-348.html文章原理回顾文章比较了两种估计人群中病毒流行率的方法:1、个体测试,即对12000人的样本进行病毒测试,并采用标准二项测试得出95%的置信区间;2、群体测试,即对500组35人进行测试(总人口涉及17500人)关于置信区间(概率论的知识):置信区间是从bai样本统计du量派生的值范围,可能包含zhi未知总体参dao数的值原创 2021-01-27 18:42:57 · 869 阅读 · 0 评论 -
数学建模:层次分析法实例以及代码
目录层次分析法的思想层次分析法步骤具体案例(市政工程项目建设决策)1.问题提出2.建立递阶层次结构3.构造判断矩阵(成对比较阵)并赋值4.层次单排序(计算权向量)与检验(一致性检验)计算权向量一致性检验5.层次总排序(组合权向量)与检验(一致性检验)6.结果分析7.层次分析法的优缺点层次分析法的代码实现(matlab)层次分析法的思想层次分析法的思想:将所有要分析的问题层次化;根据问题的性质和所要到达的总目标,将问题分为不同的组成因素,并按照这些因素间的关联影响即其隶属关系,将因素按不同层次聚集组.原创 2020-11-22 22:06:09 · 33456 阅读 · 4 评论 -
拉普拉斯
转载 2020-02-12 13:51:42 · 178 阅读 · 0 评论
分享