上海大学 吴昊
计算机专业博士研究生,华为云计算专家,CSDN博客专家,CSDN人工智能领域优质创作者,现主要研究Python数据分析、机器学习、NLP相关领域内容。
展开
-
深度学习入门必看-手写数字识别
前言目前深度学习框架paddlepaddle、tensorflow、pytorch比较,结合网上大神的总结,pytorch更好学,社区也大,教程较多,莫名其妙的错误比较少。它基于动态图,可以按照正常人的思路玩,API较稳定。paddlepaddle的话同时支持动态图和静态图,但是社区还在建设中,版本迭代更新快。不过可以嫖百度的云计算服务,值得一试。而且配套的预训练模型和可视化等等开发工具也在上线中,蛮好用的。tensorflow是出了名新手劝退框架,因为文档比较反萌新,版本兼容性较差(我曾在嫉妒转载 2021-11-15 15:29:56 · 14550 阅读 · 12 评论 -
Bert+CNN文本分类(含代码实现)
一、什么是CNN?CNN的特点:(1)特定特征位移不变性(2)特征缩放不变性2. CNN模型构造过程2.1 Convolution(卷积)(1)获取关键特征(减少参数)(2)共享权重(再次减少参数)2.2 Max Pooling(池化)2.3 Flatten向量转换为如图所示可以进入全连接层的向量模式3. TextCNN上图可理解为:通过不同的size(如上图2、3、4等),上图红色代表 size=2,黄色...原创 2022-03-28 00:17:38 · 14201 阅读 · 25 评论 -
深度学习入门代码详解(附代码)
目录一、数据处理1.1 读入数据1.2 数据形状变换1.3 数据集划分1.4 数据归一化处理1.5 封装成load data函数二、模型设计2.1 训练配置2.2 训练过程2.3 梯度下降法2.4 计算梯度2.5 使用Numpy进行梯度计算2.6 确定损失函数更小的点2.7 代码封装Train函数2.8 训练扩展到全部参数三、随机梯度下降法( Stochastic Gradient Descent)3.1 数据处理代码修改3.2 ...转载 2021-11-28 00:47:35 · 26075 阅读 · 39 评论 -
Python 实现一个简单的神经网络(附代码)
目录⭐前言⭐⭐砖块:神经元⭐????一个简单的例子????????编码一个神经元????????把神经元组装成网络????????例子:前馈????????编码神经网络:前馈????????训练神经网络 第一部分????????损失????????损失计算例子????????代码:MSE损失????????训练神经网络 第二部分????????例子:计算偏导数????????代码:一个完整的神经网络????????后话????⭐前言⭐以下内原创 2021-12-29 16:55:11 · 21717 阅读 · 10 评论 -
Bert文本分类实战(附代码讲解)
一、Bert简介BERT全称是Bidirectional Encoder Representations from Transformers,是google最新提出的NLP预训练方法,在大型文本语料库(如维基百科)上训练通用的“语言理解”模型,然后将该模型用于我们关心的下游NLP任务(如分类、阅读理解)。 BERT优于以前的方法,因为它是用于预训练NLP的第一个**无监督,深度双向**系统,从名字我们能看出该模型两个核心特质:依赖于Transformer以及双向,同时它也是木偶动画《芝麻街》里面的角色,原创 2022-03-25 23:30:02 · 26180 阅读 · 71 评论 -
F1-score值计算
F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0。1. TP、TN、FP、FN解释说明真实情况 预测结果 正例 反例 正例 TP(真正例) FN(假反例) 反例 FP(假正例) TN(真反例) 行表示预测的label值,列表示真实label值 TP:True Positive, 被判定为正样本,事实上也是原创 2021-06-25 10:47:27 · 32188 阅读 · 5 评论 -
PyTorch的torch.cat、squeeze()、unsqueeze()和size()函数
目录一、sequeeze()函数二、unsequeeze()函数三、size()函数四、torch.cat函数在Pytorch做深度学习过程中,CNN的卷积和池化过程中会用到torch.cat、squeeze()、unsqueeze()和size()函数,下面分别做讲解:一、sequeeze()函数x.squeeze(dim)用途:进行维度压缩,去掉tensor中维数为1的维度参数设置:如果设置dim=a,就是去掉指定维度中维数为1的示例:import ..原创 2022-04-13 10:16:16 · 2509 阅读 · 0 评论 -
Anaconda安装Pytorch(win系统)
前面有一篇博客专门讲了安装CPU版本的Pytorch,因为当时没有GPU,现在有了3090,专门记录一下安装GPU版的过程。原创 2023-03-06 22:19:13 · 693 阅读 · 0 评论 -
numpy中的hstack()、vstack()、stack()、concatenate()函数详解
目录1.concatenate()2. stack()3.vstack()4.hstack()5.tf中的stack()本文主要介绍一下numpy中的几个常用函数,包括hstack()、vstack()、stack()、concatenate()。1.concatenate()我们先来介绍最全能的concatenate()函数,后面的几个函数其实都可以用concatenate()函数来进行等价操作。concatenate()函数根据指定的维度,对一个元组、列表...原创 2021-08-08 16:26:32 · 3622 阅读 · 0 评论 -
分类——逻辑回归Python实现
一、确认训练数据import numpy as npimport matplotlib.pyplot as plt#读入训练数据train = np.loadtxt('D:/深度之眼/study/sourcecode-cn/sourcecode-cn/images2.csv', delimiter=',', skiprows=1)train打印结果二、逻辑回归实现train_x = train[:,0:2]train_y = train[:,2]#初始化参数theta.原创 2021-07-20 12:41:55 · 4635 阅读 · 6 评论 -
梯度下降算法Python实现
随机梯度下降法的做法是使用一下表达式(我前面的博客有讲到公式推理过程)来更新参数,表达式中的k 是随机选择的现在有了训练数据的矩阵X,把行的顺序随机地予以调整,然后重复应用更新表达式就行了。import numpy as npimport matplotlib.pyplot as plt#读入训练数据train = np.loadtxt('D:/NoteBook/sourcecode-cn/click.csv', delimiter=',', skiprows=1)train_x =原创 2021-07-19 14:39:03 · 572 阅读 · 2 评论 -
分类——感知机Python实现
一、训练数据数据格式如下x1 x2 y 153 432 -1 220 262 -1 118 214 -1 474 384 1 485 411 1 396 321 1 上面是分类问题的训练数据。那和回归的时候一样,先将它们画成图来看看。在图中用圆点表示y = 1的数据、用叉号表示y = −1 的数据可能会更容易理解。...原创 2021-07-19 20:26:01 · 791 阅读 · 0 评论 -
分类——正则化Python实现
一、确认训练数据我们试着用正则化分类数据,不过除了应用正则化以外,如果能通过比较过拟合时图的状态和应用了正则化后图的状态,具体总结出正则化对模型施加了什么样的影响就更好了。我们先构造一个函数我们造一些向这个g(x) 加入了一点噪声的训练数据,然后将它们画成图虚线就是正确的g(x) 的图形,圆点就是加入了一点噪声的训练数据,我先准备了8 个数据。假设我们用10 次多项式来学习这个训练数据。首先编写从创建训练数据的矩阵到预测函数的定义为止的代码。# 标准化mu = train_.原创 2021-07-21 00:07:19 · 1716 阅读 · 1 评论 -
虚拟环境安装Pytorch详细教程
目录一、创建 PyTorch 虚拟环境1.1 打开 Anaconda 自带的 Anaconda Prompt1.2 打开 Anaconda Prompt 之后,在命令行输入命令1.3 输入命令,进入 pytorch 虚拟环境二、安装Pytorch2.1添加清华镜像源2.2搜索可用版本2.3安装2.4验证是否成功一、创建 PyTorch 虚拟环境1.1 打开 Anaconda 自带的 Anaconda Prompt1.2 打开 Anacond....原创 2022-03-16 13:49:49 · 13984 阅读 · 1 评论 -
Python之Numpy库基本使用
一、为什么要使用Numpy库1.低效的Python for循环【例】 求100万个数的倒数def compute_reciprocals(values): res = [] for value in values: # 每遍历到一个元素,就要判断其类型,并查找适用于该数据类型的正确函数 res.append(1/value) return resvalues = list(range(1, 1000000))%timeit compu.原创 2021-11-03 20:50:15 · 1144 阅读 · 2 评论 -
机器学习基于图像大小进行分类(三)
一、对数似然函数我们就对似然函数进行微分,求出参数θ 就行了,然而直接对似然函数进行微分有点困难,在此之前要把函数变形。首先它是联合概率。概率都是1 以下的数,所以像联合概率这种概率乘法的值会越来越小。如果值太小,编程时会出现精度问题。这是第一个处理起来有点难的地方。另外还有一个是乘法,与加法相比,乘法的计算量要大得多。那就只要取似然函数的对数就好了。解决问题的方法是在等式两边加上log 即可。log是单调递增函数:图形一直向右上方延伸。单调递增函数是在x1 < x2 时,f(x1原创 2021-07-12 18:20:13 · 243 阅读 · 0 评论 -
新闻语料抽取
一、新闻语料获取从激光制造网获取1.8w余条新闻数据,并按照标题、内容、链接、时间来爬取数据,并写入excel表格,数据格式如下:二、数据处理1. 读取数据分别读取新闻语料数据与企业数据,首先获取企业数据中的企业名称一列并逐一赋予id。import pandas as pdimport numpy as npimport re#关键词数据projs = pd.read_csv('E:/zhihuiyuanqu/jiguanghuizong.csv')data = pd..原创 2021-11-09 14:48:20 · 1062 阅读 · 0 评论 -
基于word2vec训练的268G+使用(包含百度百科)
这是网友用268G+语料训练好的word2vec模型。训练语料:百度百科800w+条,26G+ 搜狐新闻400w+条,13G+ 小说:229G+下载链接:https://pan.baidu.com/s/1WH4exhHdSK3MwFPjFZK_xA提取码:hosi模型参数:window=5 min_count=10 size=128 hs=1 negative=0 iter=5 ps:其它参数见gensim库,执行代码为:gensim.models.Word2Vec(..原创 2021-12-07 14:55:59 · 787 阅读 · 1 评论 -
深度学习参数详解(Epoch,Batch,Iteration,Batch_Size)
名词 定义 Epoch 使用训练集的全部数据对模型进行一次完整训练,“一代训练” Batch 使用数据集中的一小部分样本对模型权重进行一次反向传播的参数更新,“一批数据” Iteration 使用一个Batch数据对模型进行一次参数更新的过程,“一次训练” batch_size 一个mini-batch所包含的样本数目称为batch_size 为什么要使用多于一个epoch?在神经网络中传递完整的数据集一次是不够的,而且我们需要将完.原创 2022-03-30 13:45:00 · 4949 阅读 · 2 评论