![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习和机器学习(一些笔记)
无
过动猿
这个作者很懒,什么都没留下…
展开
-
机器学习_pytorch_简单神经网络
文章目录回归问题分类问题快速搭建法保存提取批训练Optimizer优化器回归问题建立数据集# 建立数据集import torchimport matplotlib.pyplot as pltx = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x data (tensor), shape=(100, 1)y = x.pow(2) + 0.2*torch.rand(x.size()) # nois原创 2021-11-08 14:20:44 · 733 阅读 · 0 评论 -
机器学习_pytorch_高阶内容
文章目录GPU加速训练Dropout缓解过拟合批标准化GPU加速训练对数据集进行更改对模型进行更改两种方法:1. .cuda()2. device = torch.device("cuda" if torch.cuda.is_available() else "cpu") .to(device)Dropout缓解过拟合net_dropped = torch.nn.Sequential( torch.nn.Linear(1, N_HIDDEN), torch.nn原创 2021-11-08 16:29:55 · 219 阅读 · 0 评论 -
机器学习_pytorch_高级神经网络结构_AutoEncoder自编码
文章目录AutoEncoder自编码1. 获取训练数据2. AutoEncoder模型3. 训练AutoEncoder自编码神经网络也能进行非监督学习, 只需要训练数据, 不需要标签数据. 自编码就是这样一种形式. 自编码能自动分类数据, 而且也能嵌套在半监督学习的上面, 用少量的有标签样本和大量的无标签样本学习.1. 获取训练数据自编码只用训练集就好了, 而且只需要训练 training data 的 image, 不用训练 labels.import torchimport torch.nn原创 2021-11-08 15:42:47 · 288 阅读 · 0 评论 -
机器学习_数据获取
文章目录数据获取1.一些常见的机器学习现成数据集2.从哪获取数据集3.生成数据4.其他方法数据获取1.一些常见的机器学习现成数据集MNIST:手写数据集ImageNet:图片数据集,从图片搜索引擎上获得AudioSet:音频数据集,youtube上的音频切片Kinetics:人类行为数据集,youtube上的视频切片KITTI:无人驾驶数据集,被相机记录到的一些交通场景Amazon Review:评论数据集,亚马逊网站上的一些用户评论SQuAD:问答数据集LibriSpeech:有声读物原创 2021-11-16 16:07:13 · 1249 阅读 · 0 评论 -
机器学习_神经网络技巧
检验神经网络将数据集分成训练集和测试集交叉验证:数据集不足时,可使用交叉验证来测试特征标准化解决各特征之间因为量纲不同导致的各特征对结果影响的权重不同的问题方法:min-max标准化、标准差标准化等选择好特征好特征:能使得我们更轻易的分辨出相应特征代表的类别的特征删除特征的原则(1)避免无意义的特征:比如对于两个类别来说,某个特征在两个类别上的数据分布基本一致,代表这个特征并不能对分类有什么帮助,需要删除。(2)避免重复性的特征:比如对于距离来讲,“米”和“千米”虽然量纲原创 2021-11-08 12:58:52 · 443 阅读 · 0 评论 -
机器学习_pytorch_神经网络基础
文章目录numpy 和 torch 对比变量 Variable激励函数numpy 和 torch 对比numpy、torch的相互转换import torchimport numpy as npnp_data = np.arange(6).reshape((2,3))torch_data = torch.from_numpy(np_data)tensor2array = torch_data.numpy()print(np_data)print(torch_data)print(t原创 2021-11-08 13:29:55 · 685 阅读 · 0 评论 -
机器学习_sklearn_一般使用
文章目录通用学习模式sklearn 强大数据库sklearn 常用属性与功能通用学习模式1.导入需要的模块2.获取数据3.划分测试集和训练集4.建立模型-训练-预测# 1.导入模块from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.neighbors import KNeighborsClassifier# 2.获得数据iris = datasets.原创 2021-11-08 16:38:31 · 820 阅读 · 0 评论 -
机器学习_pytorch_高级神经网络结构_CNN
文章目录卷积神经网络CNN1. 获取数据集2. CNN模型3. 训练4. 取10个数据,看看预测的值对不对卷积神经网络CNN1. 获取数据集import torchimport torch.nn as nnimport torch.utils.data as Dataimport torchvision # 数据库模块import matplotlib.pyplot as plttorch.manual_seed(1) # reproducible# 初始化常量EPO原创 2021-11-08 14:52:34 · 88 阅读 · 0 评论 -
机器学习_pytorch_高级神经网络结构_RNN
文章目录RNN(LSTM)循环神经网络(分类)1. 准备数据集(同CNN)2. RNN模型3. 训练RNN(LSTM)循环神经网络(回归)1. RNN模型2.训练RNN(LSTM)循环神经网络(分类)1. 准备数据集(同CNN)2. RNN模型RNN的整体流程:1.(input0, state0) -> LSTM -> (output0, state1);2.(input1, state1) -> LSTM -> (output1, state2);3....4.(i原创 2021-11-08 14:57:26 · 408 阅读 · 0 评论 -
机器学习_sklearn_高级使用
文章目录正则化Normalization交叉验证Cross-validationLearning curve 检视过拟合validation_curve 检视过拟合保存模型正则化Normalizationfrom sklearn import preprocessing #标准化数据模块import numpy as np#建立Arraya = np.array([[10, 2.7, 3.6], [-100, 5, -2], [120, 2原创 2021-11-10 08:55:15 · 123 阅读 · 0 评论 -
深度学习第20天_项目1_fasttext原理
fastText原理剖析fastText的模型架构fastText的架构有三层:输入层,隐含层,输出层输入层:是对文档embedding之后的向量,包含又N-gram特征隐藏层:是对输入数据的求和平均输出层:是文档对应标签如下图所示:(1)N-gram的理解a. bag of word(词袋)bag of word 又称为bow,称为词袋。是一种只统计词频的手段。b. N-gram模型但在很多情况下,词袋模型是不满足我们的需求的例如:我爱她 和 她爱我 在词袋模型下,概率完全原创 2021-10-04 09:12:46 · 428 阅读 · 0 评论 -
深度学习第19天_项目1_文本分类的介绍
文本分类文本分类的目的回顾之前的流程,我们可以发现文本分类的目的就是为了进行意图识别在当前我们的项目下,我们只有两种意图需要被识别出来,所以对应的是2分类的问题可以想象,如果我们的聊天机器人有多个功能,那么我们需要分类的类别就有多个,这样就是一个多分类的问题。例如,如果希望聊天机器人能够播报当前的时间,那么我们就需要准备关于询问时间的语料,同时其目标值就是一个新的类别。在训练后,通过这个新的模型,判断出用户询问的是当前的时间这个类别,那么就返回当前的时间。同理,如果还希望聊天机器人能够播报未来原创 2021-09-30 09:04:26 · 232 阅读 · 1 评论 -
深度学习第18天_项目1_文本分词
文本分词准备词典和停用词(1)准备词典user_dict_path = "C:/Users/dajian/PycharmProjects/pythonProject9/7.chat_service/corpus/user_dict/keywords.txt"jieba.load_userdict(config.user_dict_path)(2)准备停用词stopwords_path = "C:/Users/dajian/PycharmProjects/pythonProject9/7.c原创 2021-09-26 09:36:34 · 129 阅读 · 0 评论 -
深度学习第17天_项目1_语料准备
语料准备分词词典最终词典的格式:(1)词典来源a.各种输入法的词典例如:https://pinyin.sogou.com/dict/cate/index/97?rf=dictindex例如:https://shurufa.baidu.com/dict_list?cid=211b.手动收集,根据目前的需求,我们可以手动收集如下词典机构名称,例如:传智,传智播客,黑马程序员课程名词,例如:python,人工智能+python,c++等(2)词典处理输入法的词典都是特殊格式,需要使原创 2021-09-26 08:23:15 · 193 阅读 · 1 评论 -
深度学习第16天_项目1_项目流程介绍
聊天机器人需求分析和流程介绍需求分析在黑马头条的小智同学实现聊天机器人,能够起到智能客服的效果,能够为使用app的用户就饿绝基础的问题,而不用额外的人力。但是由于语料的限制,所以这里使用了编程相关的问题,能够回答类似:python是什么,python有什么优势 之类的问题。效果演示实现流程(1)整体架构整个流程的描述如下:a.接受用户的问题之后,对问题进行基础的处理b.对处理后的问题进行分类,判断其意图c.如果用户希望闲聊,那么调用闲聊模型返回结果d.如果用户希望咨询问原创 2021-09-25 09:18:01 · 77 阅读 · 0 评论 -
深度学习第15天_项目1_走近聊天机器人
聊天机器人目前企业中常见的聊天机器人(1)QA BOT(问答机器人):回答问题a.代表:智能客服b.比如:提问和回答(2)TASK BOT(任务机器人):帮助人们做事情a.代表:sirib.比如:设置明天早上9点的闹钟(3)CHAT BOT(闲聊机器人):通用、开放聊天a.代表:微软小冰常见的聊天机器人是怎么实现的(1)问答机器人的常见实现手段a.信息检索、搜索(简单,效果一般,对数据问答对的要求高) 关键词:tfidf、SVM、朴素贝叶斯、RNN、CNNb.知识原创 2021-09-25 08:33:25 · 114 阅读 · 0 评论 -
深度学习第13天_梯度爆炸和梯度消失
梯度消失假设我们由四层极简神经网络:每层只有一个神经元假设我们使用sigmoid激活函数,即f为sigmoid函数,sigmoid的导数如下图假设每层都取得sigmoid导函数的最大值0.25时,x1=0.5,w1=w2=w3=0.5,那么在反向传播时∇w1<0.50.250.50.250.5*∇out = 1/2^7∇out当权重初始过小或使用易饱和神经元(sigmoid,tanh…),sigmoid在y=0,1处梯度接近0,而无法更新参数,使神经网络在反向传播时也会呈现指数倍缩小,产原创 2021-09-24 10:06:33 · 90 阅读 · 0 评论 -
深度学习第12天_RNN实现文本情感分类
Pytorch中LSTM和GRU模块的使用LSTM介绍LSTM和GRU都是由torch.nn提供(1)LSTM的apitorch.nn.LSTM(input_size, hidden_size, num_layers, batch_first, dropout, bidirectional)a. input_size:输入数据的形状,即embedding_dimb. hidden_size:隐藏层的神经元数量,即每一层有多少个LSTM单元c. num_layer:即RNN中的LSTM单元原创 2021-09-24 09:27:46 · 590 阅读 · 0 评论 -
深度学习第11天_循环神经网络RNN2
循环神经网络RNN循环神经网络的介绍为什么有了神经网络还需要有循环神经网络?在普通的神经网络中,信息的传递是单向的,这种限制虽然是的网络变得更容易学习,但在一定程度上也减弱了神经网络模型的能力,特别是在很多限时任务重,网络的输出不仅和当前时刻的输入相关,也和过去一段时间的输出相关,此外,普通网络难以处理时序数据,比如视频、语音、文本等,时序数据的长度一般是不固定的,而前馈神经网络要求输入和输出的位数都是固定的,不能任意改变。因此,当处理这一类和时许相关的问题时,就需要一种能力更强的模型。循环神经原创 2021-09-24 09:27:26 · 171 阅读 · 0 评论 -
深度学习第十天_文本情感分类
文本情感分类原创 2021-09-10 10:18:19 · 562 阅读 · 0 评论 -
深度学习第九天_循环神经网络
循环神经网络RNN基础文本的tokenization(1)概念和工具的介绍 tokenization就是通常所说的分词,分出的每一个词语我们把它成文token 常见的分词工具有很多,比如: - jieba分词:https://github.com/fxsjy/jieba - 清华大学的分词工具THULAC:https://github.com/thunlp/THULAC-Python(2)中英文分词的方法 a.把句子转化为词语 比如:我爱深度学习可以分为[我,爱,原创 2021-09-05 10:53:59 · 131 阅读 · 0 评论 -
深度学习第八天_pytorch实现手写数字识别
使用pytorch实现手写数字识别思路和流程分析流程:(1)准备数据,这些需要准备DataLoader(2)构建模型,这里可以使用torch构造一个深层的神经网络(3)模型的训练(4)保存模型,后续持续使用(5)模型的评估,使用测试集,观察模型的好坏准备训练集和测试集(1)torchvision.transforms的图形数据处理方法a. torchvision.transforms.ToTensor i. 把一个取值范围是[0,255]的PIL.Image或者shape为原创 2021-09-05 09:28:52 · 457 阅读 · 0 评论 -
深度学习第七天_数据集
模型中使用数据加载器的目的在前面的线性回归模型中,我们使用的数据很少,所以直接把全部数据放到模型中去使用。但是在深度学习中,数据量通常都是非常多的,非常大的,如此大量的数据,不可能一次性的在模型中进行向前的计算和反向传播,经常我们会对整个数据进行随机的打乱顺序,把数据处理成一个个的batch,同时还会对数据进行预处理数据集类的使用Dataset基类介绍在torch中提供了数据集的基类torch.utils.data.Dataset,继承这个基类,我们能够非常快速的实现对数据的加载Datase原创 2021-08-07 10:45:18 · 263 阅读 · 0 评论 -
深度学习第六天_常见的优化算法
常见的优化算法介绍梯度下降算法(BGD)每次迭代都需要把样本都送入,这样的好处是每次迭代都顾及了全部的样本,做的是全局最优化随机梯度下降法(SGD)针对梯度下降算法训练速度过慢的缺点,提出了随机梯度下降算法,随机梯度下降算法是从样本中随机抽出一组,训练后按梯度更新一次,然后再抽取一组,再更新一次,在样本量极其大的情况下,可能不用训练完所有的样本呢就可以获得一个损失值在可接受范围之内的模型了torch中的api为:torch.optim.SGD()小批量梯度下降(MBGD)SGD原创 2021-08-05 09:26:17 · 133 阅读 · 0 评论 -
深度学习第五天_GPU上运行
在原创 2021-08-04 10:33:41 · 579 阅读 · 0 评论 -
深度学习第四天_线性回归
线性回归实现下面,我们使用一个自定义的数据,来使用torch实现一个简单的线性回归假设我们的基础模型就是y = wx+b,其中w和b均为参数,我们使用y = 3x+0.8来构造数据x,y,所以最后通过模型应该能够得出w和b应该分别接近3和0.8准备数据计算预测值y_predict计算损失loss,把参数的梯度置为0,进行反向传播更新参数在这里插入代码片...原创 2021-08-04 09:48:55 · 359 阅读 · 0 评论 -
深度学习第三天_梯度下降和反向传播
梯度下降和反向传播梯度梯度:是一个向量,导数+变化最快的方向(学习的前进方向)梯度下降a.算出梯度∇wb.w = w-a*∇w 梯度<0,表示w将增大 梯度>0,表示w将减小梯度就是多元函数参数的变化趋势(参数学习的方向),只有一个自变量时称为导数反向传播a.神经网络的计算图 wn[i,j]表示第n层第i个神经元,连接到第n+1层第j个神经元的权重f可理解为激活函数,∇out为损失函数对预测值的导数遇到分叉之后的结果需要相加,分叉之前导数相乘即可原创 2021-08-02 10:23:53 · 412 阅读 · 0 评论 -
深度学习第二天_pytorch入门
pytorch张量Tensora.各种数值数据称为张量b.常数:scaler:0阶张量c.向量:vector:1阶张量d.矩阵:matrix:2阶张量e.3阶张量张量Tensor的创建a.利用python中的列表或者序列创建tensor torch.tensor([[1,-1],[1,-2]]) b.使用numpy中的数组创建tensor torch.tensor(np.array([1,2,3],[4,5,6]))c.使用torch的api创建tensor (1)t原创 2021-07-31 10:07:56 · 126 阅读 · 0 评论 -
深度学习第一天_基本概念
深度学习的介绍深度学习机器学习的分支,人工神经网络位基础,对数据的特征进行学习的方法机器学习和深度学习的区别a.特征抽取: i.人工的特征抽取的过程 ii.深度学习:自动的进行特征抽取b.数据量 i.机器学习:数据少,效果不是特别好 ii.深度学习:数据多,效果更好应用场景a.图像识别 i.物体识别 ii.场景识别 iii.人脸检测跟踪 iiii.人脸身份认证b.自然语言处理技术 i.机器翻译 ii.文本识别 iii.聊天对话原创 2021-07-29 10:38:55 · 97 阅读 · 0 评论