<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FLR的博客]]></title><description><![CDATA[记录一点一滴，默而知之]]></description><link>https://blog.youkuaiyun.com/lj_FLR</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lj_FLR]]></copyright><item><title><![CDATA[深度学习基础24（实战：房价预测）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123992046</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123992046</guid><author>lj_FLR</author><pubDate>Wed, 06 Apr 2022 15:52:25 +0800</pubDate><description><![CDATA[实战：预测房价
此数据集由Bart de Cock于2011年收集 ， 涵盖了2006-2010年期间亚利桑那州埃姆斯市的房价。 这个数据集是相当通用的，不会需要使用复杂模型架构。
下载和缓存数据集
这里实现几个函数来方便下载数据。 首先，我们建立字典DATA_HUB， 它可以将数据集名称的字符串映射到数据集相关的二元组上， 这个二元组包含数据集的url和验证文件完整性的sha-1密钥。 所有类似的数据集都托管在地址为DATA_URL的站点上。
import hashlib
import os
import]]></description><category></category></item><item><title><![CDATA[深度学习基础22（数值稳定性）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123967924</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123967924</guid><author>lj_FLR</author><pubDate>Tue, 05 Apr 2022 13:35:13 +0800</pubDate><description><![CDATA[数值稳定性和模型初始化
初始化方案的选择在神经网络学习中起着举足轻重的作用， 它对保持数值稳定性至关重要。
此外，这些初始化方案的选择可以与非线性激活函数的选择有趣的结合在一起。
选择哪个函数以及如何初始化参数可以决定优化算法收敛的速度有多快。 糟糕选择可能会导致我们在训练时遇到梯度爆炸或梯度消失。
梯度消失和梯度爆炸

不稳定梯度带来的风险不止在于数值表示； 不稳定梯度也威胁到我们优化算法的稳定性。 我们可能面临一些问题。
要么是梯度爆炸（gradient exploding）问题： 参数更新过大，破坏了]]></description><category></category></item><item><title><![CDATA[深度学习基础21（Dropout）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123924414</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123924414</guid><author>lj_FLR</author><pubDate>Sat, 02 Apr 2022 16:56:48 +0800</pubDate><description><![CDATA[丢弃法（Dropout）
我们为什么要使用丢弃法？

一个好的模型需要对输入数据的扰动鲁棒

丢弃法：在层之间加入噪音
无偏差加入噪音


对x加入噪音得到x’ 我们希望E[x’]=x，x的期望不变


丢弃法对每个元素进行如下扰动



这样可以保证x的期望不变
使用丢弃法


通常将丢弃法作用在隐藏全连接层的输出上



正则项只在训练中使用：只影响模型参数的更新
重新审视过拟合
当面对更多的特征而样本不足时，线性模型往往会过拟合。 相反，当给出更多样本而不是特征，通常线性模型不会过拟合。
但线性模型泛]]></description><category></category></item><item><title><![CDATA[深度学习基础20（权重衰退以及代码实现详解）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123903959</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123903959</guid><author>lj_FLR</author><pubDate>Fri, 01 Apr 2022 17:51:08 +0800</pubDate><description><![CDATA[权重衰减
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ehy5R4fH-1648806333395)(C:\Users\Lenovo\Documents\Tencent Files\850604703\FileRecv\MobileFile\Image\O6Z4JUTQKQ5[F51]45}0~[B.png)](https://img-blog.csdnimg.cn/c14d72718c1a4d289631d2dbde576be0.png?x-oss-process=i]]></description><category></category></item><item><title><![CDATA[深度学习基础19（模型选择，拟合，K折交叉）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123852101</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123852101</guid><author>lj_FLR</author><pubDate>Wed, 30 Mar 2022 17:34:04 +0800</pubDate><description><![CDATA[模型选择、欠拟合和过拟合
我们的目标是发现模式（pattern）
但是，我们如何才能确定模型是真正发现了一种泛化的模式， 而不是简单地记住了数据呢？
例如，我们想要在患者的基因数据与痴呆状态之间寻找模式， 其中标签是从集合{痴呆,轻度认知障碍,健康}中提取的。
因为基因可以唯一确定每个个体（不考虑双胞胎）， 所以在这个任务中是有可能记住整个数据集的。
只有当模型真正发现了一种泛化模式时，才会作出有效的预测。
更正式地说，我们的目标是发现某些模式， 这些模式捕捉到了我们训练集潜在总体的规律。
如果成功做到了这]]></description><category></category></item><item><title><![CDATA[深度学习基础18（多层感知机代码实现）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123843442</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123843442</guid><author>lj_FLR</author><pubDate>Wed, 30 Mar 2022 12:49:14 +0800</pubDate><description><![CDATA[多层感知机的从零开始实现
现在自己实现一个多层感知机。
为了与之前softmax回归 获得的结果进行比较， 将继续使用Fashion-MNIST图像分类数据集
import torch
from torch import nn
from d2l import torch as d2l

batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

初始化模型参数
Fashion-MNIST中的每个图像由 2]]></description><category></category></item><item><title><![CDATA[深度学习基础17（感知机，结合非线性函数来构建具有更强表达能力的多层神经网络架构）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123828550</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123828550</guid><author>lj_FLR</author><pubDate>Tue, 29 Mar 2022 18:31:38 +0800</pubDate><description><![CDATA[多层感知机
隐藏层
softmax回归的模型架构通过单个仿射变换将我们的输入直接映射到输出，然后进行softmax操作。
如果我们的标签通过仿射变换后确实与我们的输入数据相关，那么这种方法确实足够了。 但是，仿射变换中的线性是一个很强的假设。
线性模型可能会出错
例如，线性意味着单调假设：
任何特征的增大都会导致模型输出的增大（如果对应的权重为正）， 或者导致模型输出的减小（如果对应的权重为负）。
有时这是有道理的。 例如，如果预测一个人是否会偿还贷款。
可以认为，在其他条件不变的情况下， 收入较高的申请人]]></description><category></category></item><item><title><![CDATA[深度学习基础16（softmax回归使用pytorch框架简洁实现）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123825576</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123825576</guid><author>lj_FLR</author><pubDate>Tue, 29 Mar 2022 16:47:33 +0800</pubDate><description><![CDATA[softmax回归的简洁实现
深度学习框架的高级API能够使实现softmax 线性回归变得更加容易。
同样，通过深度学习框架的高级API也能更方便地实现softmax回归模型。
import torch
from torch import nn
from d2l import torch as d2l

batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

初始化模型参数
softmax回归的输出]]></description><category></category></item><item><title><![CDATA[深度学习基础15（softmax回归的基本实现）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123804600</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123804600</guid><author>lj_FLR</author><pubDate>Mon, 28 Mar 2022 20:16:41 +0800</pubDate><description><![CDATA[softmax回归的从零开始实现
引入Fashion-MNIST数据集， 并设置数据迭代器的批量大小为256。
import torch
from IPython import display
from d2l import torch as d2l

batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

初始化模型参数
和之前线性回归的例子一样，这里的每个样本都将用固定长度的向量表示。
原始数据集]]></description><category></category></item><item><title><![CDATA[深度学习基础14（softmax回归数据集的选择以及读取）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123802370</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123802370</guid><author>lj_FLR</author><pubDate>Mon, 28 Mar 2022 18:31:25 +0800</pubDate><description><![CDATA[图像分类数据集
MNIST数据集是图像分类中广泛使用的数据集之一，是对手写数字的识别，大概86年提出的
但作为基准数据集过于简单。
我们将使用类似但更复杂的Fashion-MNIST数据集
%matplotlib inline
import torch
import torchvision  #是pytorch对于计算机视觉实现的一个库
from torch.utils import data#方便读取数据一些小批量的函数
from torchvision import transforms#对数据操作的模]]></description><category></category></item><item><title><![CDATA[深度学习基础13（三种常见loss函数的优劣）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123796494</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123796494</guid><author>lj_FLR</author><pubDate>Mon, 28 Mar 2022 15:27:35 +0800</pubDate><description><![CDATA[损失函数

损失函数用来衡量预测值和真实值之间的区别
下面介绍三个常用的损失函数
L2 Loss（均方损失）

除以2的意思是说在求导的时候2和1/2可以抵消
下面所有图的横坐标就是预测值与真实值的差

上图是这个损失函数的特性：
蓝色的曲线：损失函数的曲线
绿色的曲线：是它的似然函数，可以看出它的似然函数是一个高斯分布
橙色的曲线：表示损失函数的梯度
L1 Loss （绝对值损失函数）


蓝色的曲线：损失函数的曲线
绿色的曲线：是它的似然函数
橙色的曲线：表示损失函数的梯度，可以看出在y’大于0时，它的]]></description><category></category></item><item><title><![CDATA[深度学习基础12（softmax回归学前需知）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123795483</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123795483</guid><author>lj_FLR</author><pubDate>Mon, 28 Mar 2022 14:57:22 +0800</pubDate><description><![CDATA[softmax回归
分类问题：不是问“多少”，而是问“哪一个”：

某个图像描绘的是驴、狗、猫、还是鸡？
某人接下来最有可能看哪部电影？

通常，机器学习实践者用分类这个词来描述两个有微妙差别的问题：


我们只对样本的“硬性”类别感兴趣，即属于哪个类别；


我们希望得到“软性”类别，即得到属于每个类别的概率。 这两者的界限往往很模糊。其中的一个原因是：即使我们只关心硬类别，我们仍然使用软类别的模型。
​


分类问题
我们从一个图像分类问题开始。 假设每次输入是一个2×2的灰度图像。
我们可以用一个标量]]></description><category></category></item><item><title><![CDATA[深度学习基础11（线性回归使用pytorch里的框架来实现）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123761402</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123761402</guid><author>lj_FLR</author><pubDate>Sat, 26 Mar 2022 19:47:31 +0800</pubDate><description><![CDATA[线性回归的简洁实现
接下来使用一些框架来实现线性回归学习
框架可以自动化基于梯度的学习算法中重复性的工作。
在上篇文章中，我们只运用了：
（1）通过张量来进行数据存储和线性代数；
（2）通过自动微分来计算梯度。
实际上，由于数据迭代器、损失函数、优化器和神经网络层很常用， 现代深度学习库也为我们实现了这些组件。
下面将介绍如何通过使用深度学习框架来简洁地实现 线性回归模型
生成数据集
与上篇文章类似，首先生成数据集。
import numpy as np
import torch
from torch.ut]]></description><category></category></item><item><title><![CDATA[深度学习基础10（线性回归最基础实现，只使用自动求导和tensor计算）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123760433</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123760433</guid><author>lj_FLR</author><pubDate>Sat, 26 Mar 2022 18:11:05 +0800</pubDate><description><![CDATA[线性回归的从零开始实现
本文将从零开始实现整个方法， 包括数据流水线、模型、损失函数和小批量随机梯度下降优化器。
这样做事有意义的，可以知道更深的原理，同时，了解更细致的工作原理将方便我们自定义模型、自定义层或自定义损失函数
当然我们以后都是使用深度学习里面的框架
本文将只使用简单的tensor的计算和自动求导来演示线性回归
先导入random的包，因为我们要随机梯度下降和随机化初始化我们的权重
%matplotlib inline #意思是我们在plot的时候嵌入到matnotebook里面
import]]></description><category></category></item><item><title><![CDATA[深度学习基础9（优化算法，梯度下降，小批量随机梯度下降，超参数）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123757747</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123757747</guid><author>lj_FLR</author><pubDate>Sat, 26 Mar 2022 16:06:42 +0800</pubDate><description><![CDATA[基础优化方法

这个图可以直观的看出寻找最优解的路线
梯度下降

有显示解的模型都非常简单，但我们以后几乎解决的问题都是没有显示解的
当一个模型没有显示解的时候怎么办呢？
下面来讲一下梯度下降：


梯度下降通过不断沿着反梯度方向更新参数求解


挑选一个参数的随机初始值w0


重复迭代参数t=1,2,3（在接下来的时刻里不断更新w0，来接近我们的最优解）

（上图为更新法则，意思是：上一个时刻 减去 学习率（标量）*损失函数关于t-1时刻的梯度）


沿梯度方向将增加损失函数值


学习率：步长的超参数]]></description><category></category></item><item><title><![CDATA[深度学习基础8（概率，期望，方差）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123755808</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123755808</guid><author>lj_FLR</author><pubDate>Sat, 26 Mar 2022 14:46:07 +0800</pubDate><description><![CDATA[概率
简单地说，机器学习就是做出预测。
第一个例子：根据照片区分猫和狗
首先，问题的难度可能取决于图像的分辨率。

虽然人类很容易以160×160像素的分辨率识别猫和狗， 但它在40×40像素上变得具有挑战性，而且在10×10像素下几乎是不可能的。
换句话说，我们在很远的距离（从而降低分辨率）区分猫和狗的能力可能会变为猜测。
如果完全肯定图像是一只猫，我们说标签𝑦是"猫"的概率，表示为𝑃(𝑦=“猫”)等于1。
第二个例子：给出一些天气监测数据，预测明天北京下雨的概率。 如果是夏天，下雨的概率是0.5。
在这]]></description><category></category></item><item><title><![CDATA[深度学习基础7（正反向传播，计算图，自动微分，分离计算，控制流梯度计算）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123742627</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123742627</guid><author>lj_FLR</author><pubDate>Fri, 25 Mar 2022 18:36:00 +0800</pubDate><description><![CDATA[开始之前，补充一个关于梯度的图，方便记忆输入输出的形状

计算图

自动求导的两种模式
正向积累

存储中间结果

反向积累（又叫反向传递）


去除不需要的枝
​



关于复杂度：

自动微分
深度学习框架通过自动计算导数，即自动微分（automatic differentiation）来加快求导。
实际中，根据我们设计的模型，系统会构建一个***计算图***（computational graph）， 来跟踪计算是哪些数据通过哪些操作组合起来产生输出。
自动微分使系统能够随后反向传播梯度。
这里，反向]]></description><category></category></item><item><title><![CDATA[深度学习基础6（微分，偏导，梯度，链式法则）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123740995</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123740995</guid><author>lj_FLR</author><pubDate>Fri, 25 Mar 2022 17:31:16 +0800</pubDate><description><![CDATA[微积分
如下图所示，内接多边形的等长边越多，就越接近圆。 这个过程也被称为逼近法（method of exhaustion）。

事实上，逼近法就是**积分（integral calculus）**的起源
微积分的另一支，**微分（differential calculus）**被发明出来。
在微分学最重要的应用是优化问题，即考虑如何把事情做到最好，这种问题在深度学习中是无处不在的。
在深度学习中，我们“训练”模型，不断更新它们，使它们在看到越来越多的数据时变得越来越好。
通常情况下，变得更好意味着最小化一]]></description><category></category></item><item><title><![CDATA[深度学习基础5（降维运算，矩阵计算，不同种类的范数）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123719501</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123719501</guid><author>lj_FLR</author><pubDate>Thu, 24 Mar 2022 19:46:49 +0800</pubDate><description><![CDATA[降维
写在前面：轴1的长度就是列的维数（有几列）
我们可以对任意张量进行的一个有用的操作是计算其元素的和。
在数学表示法中，我们使用∑符号表示求和。 为了表示长度为𝑑的向量中元素的总和，可以记为
在代码中，可以调用计算求和的函数：
x = torch.arange(4, dtype=torch.float32)
x, x.sum()

(tensor([0., 1., 2., 3.]), tensor(6.))
我们可以表示任意形状张量的元素和。
A.shape, A.sum()

(torch.Size(]]></description><category></category></item><item><title><![CDATA[深度学习基础4（标量，向量，张量，矩阵）]]></title><link>https://blog.youkuaiyun.com/lj_FLR/article/details/123717590</link><guid>https://blog.youkuaiyun.com/lj_FLR/article/details/123717590</guid><author>lj_FLR</author><pubDate>Thu, 24 Mar 2022 18:01:02 +0800</pubDate><description><![CDATA[线性代数
标量
严格来说，称仅包含一个数值的叫标量（scalar）
标量由只有一个元素的张量表示。
在下面的代码中，我们实例化两个标量，并执行一些算术运算
import torch

x = torch.tensor(3.0)
y = torch.tensor(2.0)

x + y, x * y, x / y, x**y

(tensor(5.), tensor(6.), tensor(1.5000), tensor(9.))
向量
可以将向量视为标量值组成的列表。
将这些标量值称为向量的元素（eleme]]></description><category></category></item></channel></rss>