自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Pytorch】21. RNN代码分析

本节会学习用一个简单的RNN来做时间序列本节会学习用一个简单的RNN来做时间序列的预测。如图所示,给定一些输入数据,然后可以产生下一个事件的预测我们会按照下面的步骤First, we’ll create our dataThen, define an RNN in PyTorchFinally, we’ll train our network and see how it performs创建数据import torchfrom torch import nnimport nump

2021-04-16 16:16:02 5202 2

原创 【Pytorch】21. 循环神经网络RNN和LSTM

文章目录RNNLSTMLSTM架构Learn Gate学习门Forget Gate 遗忘门Remember Gate记忆门Use Gate 应用门其他架构Gated Recurrent Unit(GRU)Peephole Connections本节我们学习recurrent neural networks (RNNs)和 long short-term memory (LSTM)RNN假设有一个普通的神经网络,输入一张图片,预测出来是狗但是如果这张图片真的是一只狼呢?神经网络怎么才可以知道呢?假如

2021-04-16 12:50:14 952 1

原创 【Pytorch】20. Style Transfer风格迁移代码分析

根据论文Image Style Transfer Using Convolutional Neural Networks, by Gatys 来重建代码。论文使用VGG19,网络结构如下。接下来,我们要做的就是,用一个预训练后的VGG19网络来提取content和style的features。然后写出content和style的loss函数,并不断更新我们的target image,直到达到我们想要的效果。你也可以用自己的图片# import resources%matplotlib inline

2021-04-14 12:06:20 1066

原创 【Pytorch】20. Style Transfer 风格迁移

文章目录VGG19风格迁移content lossGram MatrixStyle Losstotal loss风格迁移就是将一张图片的风格迁移到另一张图片上面,比方说把浮世绘的风格迁移到猫的图片上VGG19我们需要用到VGG19的网络,这个网络长下面的样子,一张三通道的彩色图片作为输入,经过一系列的卷积和pooling层,有5个pooling层,中间夹着一组2个或者4个的卷积层,比方说第一个pooling层之前就有两个卷积层,最后一个pooling层之前有四个卷积层。最后是3个全连接层。我们

2021-04-13 22:22:09 743

原创 【Pytorch】18. CNN的不同层

文章目录卷积层过滤器的重要性卷积层池化层增加深度Pytorch实现PyTorch 中的卷积层PyTorch 中的池化层卷积层过滤器的重要性当你深入学习这门课程时,将发现刚刚学习的不同类型的过滤器非常重要,尤其是当你学习卷积神经网络 (CNN) 时。CNN 是一种深度学习模型,可以学习完成图像分类和对象识别等任务。它们可以使用卷积层跟踪空间信息并学习提取特征,例如对象边缘。下面是一个简单的 CNN 结构示例,由多个层级组成,包括这个“卷积层”。卷积层我们通过向输入图像应用一系列不同的图像过滤器(也

2021-04-12 18:15:01 640

原创 【Pytorch】17. 卷积

MLP和CNN我们之前用到的数据集是MNIST,这是一个很规整的数据集,但是实际情况中我们经常会遇到不那么clean的数据,比方说数字在网格的任何位置,或者颜色有变化。这对MLP多层感知机来说就很复杂了。这类图片对于CNN来说就很简单了举个例子,这里是一个4×4的图片,如果是MLP的话,需要将图片进行flatten,然后中间有隐藏层,稠密相连,也就是dense connection,仔细看NLP,就会发现有很多多余的相连,每个隐藏节点都需要与原始图像的每个像素相连吗?或许不是,将原图分成四个部分,

2021-04-08 17:54:29 267

原创 【Pytorch】16. 使用预训练模型分类自己的图片

本节我们做一个迁移学习的练习,上一节我们已经学了识别猫狗,这一节我们将使用一个在ImageNet上面预训练好的模型,用来识别我们自己的猫狗图片用torchvision.models可以下载预训练网络。大多数的预训练模型都要求输入是224x224的图片,然后color channel是正态分布的,均值和方差分别是 [0.485, 0.456, 0.406] 和 [0.229, 0.224, 0.225]data_dir = './Cat_Dog_data'# TODO: Define transfo

2021-04-07 21:29:08 882

原创 【Pytorch】15. 图片数据的处理

之前我们用到的数据集都是人工合成的数据集,现在让我们用一些真实生活中的数据集,本节会用到一些 full-sized images 就像我们用手机拍出来的照片一样。我们使用Kaggle上的dataset of cat and dog photos文章目录Loading Image DataTransformsData LoadersData AugmentationLoading Image Data最简单的导入图片的方法就是使用 torchvision 中的 datasets.ImageFolde

2021-04-07 13:28:32 552 1

原创 【Pytorch】14. 保存和加载模型

本节会介绍在pytorch中如何保存和加载模型,这样就可以使用之前训练好的模型进行预测或者继续训练了state_dict可以查看储存在model中的参数,weights和bias的矩阵print("Our model: \n\n", model, '\n')print("The state dict keys: \n\n", model.state_dict().keys())print (model.state_dict())保存模型最简单的方法就是用torch.save, 例如我们可以把它存

2021-04-07 11:32:50 156

原创 【Pytorch】12. 练习:分类Fashion-MNIST数据

上一节学了怎么搭建和训练神经网络,你将使用 Fashion-MNIST dataset的数据1. Load the Datasetimport torchfrom torchvision import datasets, transformsimport helper# Define a transform to normalize the datatransform = transforms.Compose([transforms.ToTensor(),

2021-04-02 12:03:50 315

原创 【Pytorch】11. 训练神经网络

文章目录Losses in PyTorchAutograd训练网络上一节我们学习了如何构建一个神经网络,但是构建好的神经网络并不是那么的smart,我们需要让它更好的识别手写体。也就是说,我们要找到这样一个function F(x),能够将一张手写体图片转化成对应的数字的概率刚开始的网络非常naive,我们要计算**loss function(cost)**来估计预测的error,例如使用mean squared lossℓ=12n∑in(yi−y^i)2\large \ell = \frac{1

2021-04-02 10:47:00 290

原创 【Pytorch】10. torch.nn介绍

深度神经网络往往需要上百层,用上一节我们使用的直接通过weights矩阵来构建网络几乎不可能,所以需要pytorch的 nn 模块,为了演示它的用法, 我们将使用数据库MNIST。每张图片都是28×28像素的# Import necessary packages%matplotlib inline # 将 matplotlib 设置为以交互方式在 notebook 中工作%config InlineBackend.figure_format = 'retina' #在分辨率较高的屏幕(例如 R

2021-04-01 15:04:52 931

原创 【PyTorch】9. pytorch中的Tensors

Introduction to Deep Learning with PyTorch文章目录Introduction to Deep Learning with PyTorchNeural NetworksTensors改变张量形状Stack them up!和numpy的转化Neural Networks一个简单的神经网络数学表达式为:y=f(w1x1+w2x2+b)y = f(w_1 x_1 + w_2 x_2 + b)y=f(w1​x1​+w2​x2​+b)y=f(∑iwixi+b)

2021-03-30 15:22:56 213

原创 【Pytoch】8. 梯度消失和学习速率下降

上一节讲了神经网络的优化办法,这节讲神经网络会遇到的其他问题文章目录梯度消失使用其他激活函数动量批次与随机梯度下降学习速率衰退梯度消失看一下sigmoid激活函数的图像,在两端的导数都非常的小那么在多层感知机中,反向传播计算梯度的时候,这种情况尤为明显这也就意味着,我们在梯度下降的时候,迈的步子非常非常小,可能永远也无法从山上下来,这种现象就叫做梯度消失如何解决这个问题呢?使用其他激活函数一个方法就是使用其他激活函数,比如说双曲正切Relu函数,这个函数也是除了sigmoid之外最

2021-03-30 15:17:13 464

原创 【Pytorch】7. 训练优化

前面的部分我们学了怎么构建神经网络以及如何训练,但有时候我们发现结果不如意,那么该怎么办呢?这部分就学习一些解决方法文章目录使用测试集(验证集)早期停止正则化(Regulation)Dropout随机重新开始使用测试集(验证集)下面哪个模型更优呢?其实肉眼是不太看的出来的,就算右边的模型好像所有点都分类正确了,但也有可能过拟合,所以我们可以引入测试集(或者验证集),先训练一部分,然后进行测试结果发现,第一个模型有一个分类错误,第二个模型有两个分类错误,所以跟我们的直觉还是不相符的因此在机器

2021-03-29 16:44:55 157

原创 【Pytorch】6. 反向传播

前向反馈前向反馈是神经网络用来将输入变成输出的流程。如下图,利用输入向量,对其应用一系列模型和sigmoid函数,这些图组合后成为高级的非线性图再看一遍这个过程,对输入向量先应用W1,然后进行sigmoid,再应用W2,再进行sigmoid,然后最后W3,sigmoid,就得到了y^,这个过程就是前向反馈反向传播和之前一样,神经网络将产生误差函数,最终我们需要最小化该误差函数。现在,我们准备好训练神经网络了。为此,我们将使用一种方法,叫做反向传播。简而言之,反向传播将包括:进行前向反馈运算

2021-03-28 09:57:37 291

原创 【Pytorch】5. 神经网络结构

神经网络结构在学习了感知机之后,我们可以来认识神经网络,神经网络可以看成是更复杂的更多层的感知机组成的。例如下面这个例子,两个线性的感知机加起来可以得到右边这样的模型假如第一个模型的某一个点的预测值为0.7,第二个模型0.8,那么加起来就是1.5,但是概率值是没有大于1这一说的,所以要把它变成01之间的数字,回想之前学的可以把任何数字映射到01范围内的函数就是sigmoid函数。总结一下就是单独用每个模型计算,然后相加之后sigmoid函数。如果我们希望第一个模型的影响比第二个更大,只要加上权重

2021-03-27 15:29:04 170

原创 【Pytorch】3. 最大似然率&交叉熵

最大似然率 Maximum Likehood假如我要预测我会被某所大学录取的概率,模型1预测出来概率是80%,模型2是55%,那么哪个模型更好呢?要看我最终是否被录取,如果被录取了,那么模型1就是更好的,如果没有,就是模型2。当然我只是其中一个例子,如果有很多很多的人,那么能更好的预测这些人的模型就是更好的模型,这就叫做最大似然率图片中所示的两个模型,数字表示预测该点发生的概率,明显第一个模型没有第二个模型预测的好将第一个模型变到第二个模型的方法就是最大化似然概率但是我们不希望用乘积的形式来表示

2021-03-24 16:13:58 517

原创 【Pytorch】2. 激活函数

激活函数梯度下降需要注意的地方就是把离散型的也改成连续型的,因为误差函数必须是可微分的。因为如果是离散型,有可能不管从哪个方向下降,梯度值都是一样的,不存在最大的梯度的方向。而从连续性变成离散型,我们可以将激活函数从左侧的阶跃函数,变成右边的sigmoid函数sigmoid函数可以将整个平面变成一个概率平面,如图所示,经过了sigmoid function之后,平面上的点落在某个地方就可以知道这一点预测为蓝色或者红色区域的概率了然后感知机也发生了变化,原先我们说这个学生会不会被录取,现在我们

2021-03-19 17:42:15 251

原创 [pytorch]感知机

如果你跟我一样想从非常简单的概念入手,学习最基本的pytorch代码,可以关注我的专栏,在目录中找到pytorch简易教程的文章部分,我会持续保持更新理论部分从一个简单的问题入手,假设我们是一间大学,来决定录取哪些学生,我们有这些学生的两个数据,一个是在校平时成绩Grades,一个是考试成绩test红色的点表示这些学生被拒绝,蓝色的点表示这些学生通过很明显,如果能找到一条直线进行划分,那么下次再有学生来了,只要看他在直线的那一边,就可以决定这个学生是通过还是拒绝把上面的例子.

2020-11-02 18:58:04 974 1

原创 吴恩达《深度学习》笔记 2.1二分分类 2.2 Logistic函数

专栏目录:任妍Carol:机器学习小白笔记目录吴恩达课程链接:网易云课堂《神经网络和深度学习》本节链接:2.1 二分分类 2.2 Logistic函数——————————————————————————————————————文章目录如何表示一张图片?二分分类Logistic 回归总结如何表示一张图片?上节我们讲到了结构化数据和非结构化数据,如图中的音频、图片和文本就是非结构化数据。...

2019-04-04 18:16:07 364

原创 吴恩达深度学习和神经网络第一周笔记

从这篇文章开始,我将介绍深度学习和神经网络的知识,一起来看看吧~神经网络,听起来很腻害的一个词,但其实不难理解。神经元我们先看一个神经元是什么?比方说最常见的一个例子,通过房间的大小来预测房价,一个线性回归方程。从 x(房间大小)到 y(价格)的映射可以用一个函数来表示,那么这个函数就可以看做是一个神经元。是不是很容易理解?就是把之前我们学过的函数啊,算法啊什么的概念给起一个新的名字—...

2019-04-03 17:25:38 254

原创 让你丝滑顺畅的管理代码库——Git使用指南

Git是啥?跟Github有关系吗?跟Pornhub有关系吗?额(⊙﹏⊙)…作为一个计算机小白,难免会疑问三连那么假设你不是一个计算机小白,你是一个计算机大

2019-03-11 13:33:50 693

原创 优达笔记-特征缩放

文章目录特征缩放在Python中实践特征缩放特征缩放特征缩放这个名字听起来很腻害的样子,实际上它讲了一个非常浅显的方法。例如下面的Cameront1身高5.9,体重175,他穿L号的衣服。Sarah体重115,身高5.2,她穿S号的衣服。那么有个人叫Chris,他体重140,身高6.1,应该穿了L还是S呢?我们可以合理的猜测一下,Chris的身高6.1更接近Cameron的5.9的身...

2019-01-28 14:24:28 271

原创 【机器学习】非监督学习初探—聚类

文章目录非监督学习聚类K-均值 (K-Means)Sklearn中的K-均值非监督学习机器学习有两种,一种是监督学习,另一种是非监督学习。监督学习就是我告诉计算机你把班上同学分个类,分类标准是按照性别,男生和女生;非监督分类就是告诉计算机你自己去把班上同学分个类吧,我不告诉你分类标准。没有分类标准该如何分类呢?这就需要引入一个新的方法:聚类(Clustering)聚类有两个人,一个叫做S...

2019-01-26 16:38:58 630

原创 优达笔记-安然数据分析 异常值处理

安然事件,作为美国最大的欺诈案,也是破产案,不仅在经济法律领域有很重要的意义,它所保留下来的关于高管及员工的工资、邮件、股权等等的真实数据对于想要学习机器学习的人来说也是非常好的材料上一篇文章我们讲了如何查看数据,包括查看这些数据有那些特征,每个人的数据是什么,如何查看NaN值等,需要回归的可以再看两眼哦[机器学习] 美国最大欺诈案—对安然事件数据集的分析(一)本篇文章主要是对安然事件数据的异...

2019-01-25 18:48:50 740

原创 优达学诚--对安然事件数据集的分析

本篇文章旨在通过对安然事件数据集的分析教会大家面对一个数据集,应该如何下手安然事件造成有史以来最大的公司破产。在2000年度,安然是美国最大的能源公司,然而被揭露舞弊后,它在一年内就破产了。我们之所以选择使用安然事件的数据集来做机器学习的项目,是因为我们已经有安然的电子邮件数据库,它包含150名前安然员工之间的50万封电子邮件,主要是高级管理人员。这也是唯一的大型公共的真实邮件数据库。感兴趣...

2019-01-25 15:55:24 2436

原创 【机器学习】 遇到异常值怎么办?

文章目录异常值如何处理异常值不管是机器学习还是数据分析,只要你面对一大堆数据,总是免不了出现异常值的可能性,那么遇到这些异常值,我们该如何让处理捏?异常值假设下图的数据集中,右上角有一个异常值。假设我们不对异常值做任何的处理,直接进行回归操作,那么最后得到的很有可能就是第一条线的回归方程,虽然我们觉得最后一条线看起来更简单更符合我们的期望那么异常值是哪里来的呢?异常值可能是由于传感器的...

2019-01-25 15:10:08 1247

原创 线性回归中的最小二乘法和梯度下降法比较

为什么要比较这两种方法呢?很多人可能不知道,我先简单的介绍一下机器学习有两种,一种是监督学习,另一种是非监督学习。监督学习就是我告诉计算机你把班上同学分个类,分类标准是按照性别,男生和女生;非监督分类就是告诉计算机你自己去把班上同学分个类吧,我不告诉你分类标准。在监督学习中,如果我们面对的变量是连续型的变量就要用到回归回归其实是非常容易理解,也非常实用的一种方法,很多经济类的学生在写论文的...

2019-01-18 17:22:56 10657 4

原创 【机器学习】一看就懂的教程:决策树

在机器学习中,监督分类(自己先选定好特征参数)有朴素贝叶斯,支持向量机SVM,还有决策树。对于前两个,可以看下面两篇文章复习:[机器学习]一看就懂的教程:朴素贝叶斯[机器学习]一看就懂的教程:支持向量机SVM决策树,听名字就知道很简单,所以这个算法我也是非常简单的过一下构建决策树 Decision Trees下图的样本,通过决策树,要进行三次分割代码是十分简单#导入模块from ...

2019-01-13 16:52:26 536 1

原创 【机器学习】支持向量机SVM识别谁发了邮件

开始本章的项目之前,请先阅读[机器学习]一看就懂的教程:支持向量机SVM,先花10分钟了解一下SVM是什么项目介绍:每个人都有自己的常用语,本项目会给你两个人的邮件文本内容,分别是Sarah和Chris,分析他们的常用语。然后再给你一封没有发件人的邮件,通过邮件的正文内容从而预测是谁发送的文章?不用担心,邮件的内容我们已经处理好了,把数据分成训练数据和测试数据也都分好了,所有你需要做的就是,写...

2019-01-12 15:12:18 266

原创 【机器学习】一看就懂的教程:支持向量机SVM

支持向量机SVM的翻译为Support Vector Machine,但是实际上跟machine机器没有什么关系,只是起了个这个名字。SVM是1963年提出了,提出之后就得到了非常广泛的应用,因为它是做监督分类的一个非常好的手段。搓搓手一起来学习吧~~好的分割线什么才是好的分割线?如果是下面这样的样本集合那么答案很简单,“/”这样的一条线就是最好的分割线那么如果现在给你的是这样的一个数据集...

2019-01-11 14:47:03 1119

空空如也

空空如也

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

TA关注的人

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