乡间小路


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

SVD分解及应用

发表于 2018-10-30 | 更新于: 2018-10-30 | 分类于 机器学习

奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。

阅读全文 »

Pytorch入门实战:训练一个聊天机器人

发表于 2018-10-29 | 更新于: 2018-10-29 | 分类于 深度学习 , Pytorch与Mxnet

本文参考 pytorch 官方 tutorial CHATBOT TUTORIAL。

需要掌握的pytorch用法

  1. torch.Tensor 是默认的 tensor 类型 torch.FlaotTensor 的简称。32-bit floating point。

  2. torch.cat((x, x, x), dim=1)
    在给定维度上对输入的张量序列进行连接操作。例如 x shape = (2, 3), 经过上面的变换之后的输出为 shape = (2, 9)

  3. torch.topk(input, k, dim)
    返回按第dim维最大的 k 个值,以及出现的位置。

  4. torch.gather(input, dim, index)
    沿给定轴dim,将输入索引张量index指定位置的值进行聚合。

    1
    2
    3
    4
    a = torch.tensor([[1, 2, 3], [4, 5, 6]])
    index = torch.LongTensor([[0, 1], [2, 0]])
    b = torch.gather(a, dim=1, index=index)
    # b: [[1, 2], [6, 4]]
  5. torch.nn.utils.rnn.pack_padded_sequence(input, lengths, batch_first=False)
    在 rnn 中,将一个填充过的变长序列压紧。输入的形状可以是 (T×B×*)。T 是最长序列长度,B 是 batch size,* 代表任意维度(可以是0)。如果 batch_first=True 的话,那么相应的 input size 就是 (B×T×*)。
    输入的序列,应该按序列长度的长短排序,长的在前,短的在后。即 input[:,0] 代表的是最长的序列,input[:, B-1]保存的是最短的序列。
    lengths 表示每个序列的长度。

  6. torch.nn.utils.rnn.pad_packed_sequence(sequence, batch_first=False)
    这个操作和 pack_padded_sequence() 是相反的。把压紧的序列再填充回来。
    返回的 tensor 的 size 是 T×B×*, T 是最长序列的长度,B 是 batch_size,如果 batch_first=True, 那么返回值是 B×T×*。Batch 中的元素将会以它们长度的逆序排列。

  7. torch.masked_select(input, mask, out=None)
    Returns a new 1-D tensor which indexes the input tensor according to the binary mask mask which is a ByteTensor.
    The shapes of the mask tensor and the input tensor don’t need to match, but they must be broadcastable.

  8. torch.nn.utils.clip_grad_norm_(parameters, max_norm, norm_type=2)
    梯度裁剪

阅读全文 »

动态规划解题(持续更新)

发表于 2018-08-15 | 更新于: 2018-10-28 | 分类于 数据结构与算法

记录一些动态规划问题的解题思路,会一直持续更新。

阅读全文 »

【转】自适应学习率算法

发表于 2018-10-26 | 更新于: 2018-10-26 | 分类于 优化算法

神经网络研究员早就意识到学习率肯定是难以设置的超参数之一,因为它对模型的性能有显著的影响。损失通常高度敏感于参数空间中的某些方向,而不敏感于其他。动量算法可以在一定程度缓解这些问题,但这样做的代价是引入了另一个超参数。在这种情况下,自然会问有没有其他好的方法。如果我们相信方向敏感度在某种程度上是轴对齐的,那么每个参数设置不同的学习率,在整个学习过程中自动适应这些学习率便是有道理的。本节将简要说明这些自适应参数学习率的算法。

阅读全文 »

C++ Prime:类

发表于 2018-09-27 | 更新于: 2018-10-24 | 分类于 C++

本文是《C++ Primer》一书第七章的读书笔记。本文将通过构造SalesData、Screen和WindowMgr三个类来说明C++类的特性。

阅读全文 »

岭回归、Lasso回归与稀疏性

发表于 2018-10-22 | 更新于: 2018-10-22 | 分类于 机器学习

Ridge Regression其实就是带了L2正则化的线性回归。Lasso Regression其实就是带了L1正则项的线性回归。

阅读全文 »

排序算法总结

发表于 2018-09-14 | 更新于: 2018-10-21 | 分类于 数据结构与算法

Pip错误:module 'pip' has no attribute 'main'

发表于 2018-10-20 | 更新于: 2018-10-20 | 分类于 杂七杂八

一开始想用conda安装一个包,但conda上找不到,然后就像用pip试试,但输入命令pip install cupy,却报错如下:

1
2
3
4
Traceback (most recent call last):
File "/home/pengfei/anaconda3/envs/pytorch/bin/pip", line 6, in <module>
sys.exit(pip.main())
AttributeError: module 'pip' has no attribute 'main

解决方法,升级pip到最新版本。但使用conda的升级命令没用,pip又不好使,所以只能先找到可安装的pip,然后从网站下载安装:

1
2
3
4
5
6
7
8
# 先搜索可用的pip
anaconda search -t conda pip
# 会出来很多的pip,选择conda-forge/pip
anaconda show conda-forge/pip
# 然后出现如下信息
# To install this package with conda run: conda install --channel https://conda.anaconda.org/conda-forge pip
# 根据提示安装即可
conda install --channel https://conda.anaconda.org/conda-forge pip

Pytorch与Mxnet/Gluon炼丹对比

发表于 2018-10-19 | 更新于: 2018-10-19 | 分类于 深度学习 , Pytorch与Mxnet

mxnet的gluon接口是模仿pytorch的接口设计的,所以两者有很多共通之处。总结一下两者接口的对比。

阅读全文 »

Pytorch入门实战:训练ImageNet数据集

发表于 2018-10-18 | 更新于: 2018-10-18 | 分类于 深度学习 , Pytorch与Mxnet

ImageNet是图像图像领域不可不调的一个数据集。本文记录自己的训练脚本,参考自Pytorch官方的example。

阅读全文 »
123…10
乡间小路

乡间小路

把知道的东西讲清楚

98 日志
13 分类
91 标签
推荐博客
  • 火光摇曳
  • 吴良超的学习笔记
  • 刘建平Pinard
  • 水滴石穿
  • 明也无涯
  • SnailTyan
  • 求知若饥,知行合一
  • Fix you
  • 月见樽
  • Jacob Kong
  • xuanyuyt
  • 悟乙己
  • 女王的宫殿
  • 不正经数据科学家
  • CodeTutor
  • Deep Systems
  • Jonathan Hui
  • Orisun
  • milter
  • MrLevo520的博客
  • 李宏毅主页
  • qingyun_wudaoletu的博客
  • 始终
  • Grandyang
  • Hae's Blog
  • 月牙眼的楼下小黑
  • Longfei Han
  • bitcarmanlee的博客
  • Zhang's Wikipedia
  • 碎碎念
  • jiange_zh
  • ZSYGOOOD
  • 演员的自我修养
  • Free Mind
  • 四去六进一
  • 郭耀华's Blog
  • Young_Gy
  • Jack Cui
  • FesianXu
  • ke1th
  • secondsilverman
© 2019 乡间小路
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4