[原创]Machine Learning/机器学习 文章合集

转载请注明出处:https://www.codelast.com/

注:带有 ♬♬♬♬♬ 标志的是文章合集。

用人话解释机器学习中的Logistic Regression(逻辑回归)

如何防止softmax函数上溢出(overflow)和下溢出(underflow)

ELL(Embedded Learning Library,微软嵌入式学习库)文章合集 ♬♬♬♬♬Read More

[原创]最优化/Optimization文章合集

转载请注明出处:https://www.codelast.com/

最优化(Optimization)是应用数学的一个分支,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。我一直对最优化比较感兴趣,所以写过一些相关的笔记,可能有不正确的地方,但请学术派、技术流们多多包涵。

➤ 拟牛顿法/Quasi-Newton,DFP算法/Davidon-Fletcher-Powell,及BFGS算法/Broyden-Fletcher-Goldfarb-Shanno

➤ 最速下降法/steepest descent,牛顿法/newton,共轭方向法/conjugate direction,共轭梯度法/conjugate gradient 及其他

➤ Ridders求导算法

➤ 选主元的高斯-约当(Gauss-Jordan)消元法解线性方程组/求逆矩阵
文章来源:http://www.codelast.com/
➤ 关于 最优化/Optimization 的一些概念解释

➤ 最小二乘的理论依据

➤ Powell共轭方向集方法(Powell's Conjugate Direction Method)的实现Read More

[原创]Raspberry Pi/树莓派 文章合集

转载请注明出处:https://www.codelast.com/

注:带有 ♬♬♬♬♬ 标志的是文章合集。

Raspberry Pi是什么?
引用维基百科的一句话:

The Raspberry Pi is a credit card sized single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of stimulating the teaching of basic computer science in schools.

Read More

[原创]Apache Pig中文教程合集

转载必须注明出处:http://www.codelast.com/

Apache Pig是用来处理大规模数据的高级查询语言,配合Hadoop使用,可以在处理海量数据时达到事半功倍的效果,比使用Java,C++等语言编写大规模数据处理程序的难度要小N倍,实现同样的效果的代码量也小N倍。

我根据自己在工作中的学习和总结,写了如下一些Apache Pig中文教程,供大家参考。
文章来源:http://www.codelast.com/
➤  Apache Pig的一些基础概念及用法总结(1)

➤  Apache Pig的一些基础概念及用法总结(2)

➤  Apache Pig中文教程(进阶)Read More

[原创] 强化学习框架 rlpyt 源码分析:(6) 模型指标什么时候从 nan 变成有意义的值

转载需注明出处:https://www.codelast.com/

查看关于 rlpyt 的更多文章请点击这里

rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 如果你想用这个框架来开发自己的强化学习程序(尤其是那些不属于Atari游戏领域的强化学习程序),那么需要对它的源码有一定的了解。本文尝试从 rlpyt 自带的一个实例来分析它的部分源码,希望能帮助到一小部分人。

▶▶ 观察训练日志引出的问题
以 example_1 为例,在训练的过程中,程序会不断打印出类似于下面的日志(部分内容):… Read More

[原创] 强化学习框架 rlpyt 的数据可视化工具:viskit

转载需注明出处:https://www.codelast.com/

查看关于 rlpyt 的更多文章请点击这里

rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 
在训练强化学习模型的过程中,rlpyt 产生的大量训练日志看起来无比枯燥,本文展示了如何利用 viskit 把这些日志数据可视化。… Read More

[原创] 强化学习框架 rlpyt 源码分析:(5) 提供额外参数的Mixin类

转载需注明出处:https://www.codelast.com/

查看关于 rlpyt 的更多文章请点击这里

rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 如果你想用这个框架来开发自己的强化学习程序(尤其是那些不属于Atari游戏领域的强化学习程序),那么需要对它的源码有一定的了解。本文尝试从 rlpyt 自带的一个实例来分析它的部分源码,希望能帮助到一小部分人。

▶▶ Mixin类简介
rlpyt 里面有大量的 *Mixin 类,例如 AtariMixin,MujocoMixin,RecurrentAgentMixin 等,作者并没有为这些名字很怪的class写任何注释,仅从使用的地方来看,很多Mixin类都与agent类有关联。… Read More

[原创] 树莓派:这个世界是你们的,是我们的,但终究是Python的!

转载需注明出处:https://www.codelast.com/

要查看更多树莓派相关文章,请点击这里

很多年前我刚开始玩树莓派的时候,Python还是个“很不火”的编程语言,而如今Python借着深度学习(Deep Learning)的东风,已经毫无疑问地成了世界上最耀眼的明日之星;想当年我刚开始玩树莓派的时候,使用WiringPi开发库、在C++下开发GPIO应用是一个比较明智的选择,而如今树莓派上的Pyhton GPIO库已经百花齐放,并且多个树莓派的OS都已经内置了一或多个Python GPIO开发包,真正做到了:你只要装好系统,就马上能用Python写程序操作GPIO,立等可用。… Read More

[原创] 在树莓派上安装 Miniconda 并创建 Python 3.6环境

转载需注明出处:https://www.codelast.com/

要查看更多树莓派相关文章,请点击这里

在树莓派3上安装Miniconda,并不能安装普通的Linux版,你得安装 for ARM v7 的版本:

wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-armv7l.sh

chmod +x Miniconda3-latest-Linux-armv7l.sh
./Miniconda3-latest-Linux-armv7l.sh
跟着向导一步步走下去就可以完成安装。
Read More

[原创] 树莓派的 Ubuntu MATE 18.04 系统无法 apt upgrade 更新的问题

转载需注明出处:https://www.codelast.com/

要查看更多树莓派相关文章,请点击这里

在树莓派上安装好Ubuntu MATE 18.04之后,我在试图更新系统的时候遇到了 bluez 软件包和 内核固件 冲突,从而导致无法进行下去的问题,本文记录一下现场情况以及解决办法。… Read More

[原创] Ubuntu MATE 扶一把,我的树莓派3B还能打

转载需注明出处:https://www.codelast.com/

要查看更多树莓派相关文章,请点击这里

廉颇老矣,尚能饭否?
周末在家写代码的时候,斜眼看见躺在我桌子上正在吃灰的树莓派3B(V1.2),我突然想把它的系统更新一下。
时至2019年11月,外面已经是树莓派4代(2019.06发布)的天下了,而3B这种老型号,最适合拿来做遥控车之类的儿童玩具了。… Read More

[原创] Python的list.append()比np.append()更快

转载需注明出处:https://www.codelast.com/

在Python中,假设你最终想得到一个NumPy array,而它是通过append大量数据得到的,那么有两种办法:
先创建一个Python list,append完数据之后再把这个list转成NumPy array。
 直接创建一个NumPy array,用 np.append() 函数来append数据。
第1种比第2种快很多,尤其是当你在一个for循环中频繁做这个事情的时候,差距就更明显了。… Read More

[原创] 强化学习框架 rlpyt 源码分析:(3) 相当简洁又十分巧妙的EpsilonGreedy类

转载需注明出处:https://www.codelast.com/

查看关于 rlpyt 的更多文章请点击这里

rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 如果你想用这个框架来开发自己的强化学习程序(尤其是那些不属于Atari游戏领域的强化学习程序),那么需要对它的源码有一定的了解。本文尝试从 rlpyt 自带的一个实例来分析它的部分源码,希望能帮助到一小部分人。

▶▶ EpsilonGreedy 类从哪来,做何用
agent 在 environment 里步进的时候,会根据policy network的计算结果,选择一个 action,再去根据这个 action 计算相应的 reward。对 example_1 来说,agent 类是 DqnAgent,其 step() 函数就是用于执行步进操作的:

@torch.no_grad()
def step(self, observation, prev_action, prev_reward):
    prev_action = self.distribution.
Read More

[原创] 强化学习框架 rlpyt 源码分析:(4) 收集训练数据的sampler类

转载需注明出处:https://www.codelast.com/

查看关于 rlpyt 的更多文章请点击这里

rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 如果你想用这个框架来开发自己的强化学习程序(尤其是那些不属于Atari游戏领域的强化学习程序),那么需要对它的源码有一定的了解。本文尝试从 rlpyt 自带的一个实例来分析它的部分源码,希望能帮助到一小部分人。

▶▶ sampler的主要功能
训练强化学习模型需要训练数据,收集训练数据的工作就是由sampler类做的。
收集训练数据,就需要在environment中步进,因此environment的实例化工作也在sampler中完成。… Read More

[原创] PyTorch模型 .pt,.pth,.pkl 的区别

转载需注明出处:https://www.codelast.com/

我们经常会看到后缀名为 .pt,.pth,.pkl 的PyTorch模型文件,这几种模型文件在格式上有什么区别吗?
其实它们并不是在格式上有区别,而只是后缀上不同而已(仅此而已)。在用 torch.save() 函数保存模型文件的时候,各人有不同的喜好,有些人喜欢用 .pt 后缀,有些人喜欢用 .pth 或 .pkl。用相同的 torch.save() 语句保存出来的模型文件没有什么不同。
在PyTorch官方的文档/代码里,有用 .pt 的也有用 .pth 的
据某些文章的说法,一般惯例是使用 .pth,但是官方文档里貌似 .pt 更多,而且官方也不是很在意固定用一种,大家就自便吧。… Read More

[原创] 强化学习(Reinforcement Learning)文章合集

转载需注明出处:https://www.codelast.com/

Read More