The best input is OUTPUT.

2018-01-27
实现属于自己的TensorFlow(三) - 反向传播与梯度下降实现

实现属于自己的TensorFlow(三) - 反向传播与梯度下降实现

前言

上一篇介绍了损失函数对计算图中节点梯度计算的方法和实现以及反向传播算法的原理,但是并没有给出如何实现损失函数从后向前计算梯度。本文主要总结在可以计算每个节点梯度的基础上如何实现反向传播计算变量的梯度以及通过反向传播算法得到的梯度实现梯度下降算法优化来优化节点中的参数。最后我们使用实现的simpleflow完成一个线性回归模型的优化。

附上simpleflow代码: https://github.com/PytLab/simpleflow

Read More

2018-01-25
实现属于自己的TensorFlow(二) - 梯度计算与反向传播

实现属于自己的TensorFlow(二) - 梯度计算与反向传播

前言

上一篇中介绍了计算图以及前向传播的实现,本文中将主要介绍对于模型优化非常重要的反向传播算法以及反向传播算法中梯度计算的实现。因为在计算梯度的时候需要涉及到矩阵梯度的计算,本文针对几种常用操作的梯度计算和实现进行了较为详细的介绍。如有错误欢迎指出。

首先先简单总结一下, 实现反向传播过程主要就是完成两个任务:

  1. 实现不同操作输出对输入的梯度计算
  2. 实现根据链式法则计算损失函数对不同节点的梯度计算

再附上SimpleFlow的代码地址: https://github.com/PytLab/simpleflow

Read More

2018-01-24
实现属于自己的TensorFlow(一) - 计算图与前向传播

实现属于自己的TensorFlow(一) - 计算图与前向传播

前段时间因为课题需要使用了一段时间TensorFlow,感觉这种框架很有意思,除了可以搭建复杂的神经网络,也可以优化其他自己需要的计算模型,所以一直想自己学习一下写一个类似的图计算框架。前几天组会开完决定着手实现一个模仿TensorFlow接口的简陋版本图计算框架以学习计算图程序的编写以及前向传播和反向传播的实现。目前实现了前向传播和反向传播以及梯度下降优化器,并写了个优化线性模型的例子。

代码放在了GitHub上,取名SimpleFlow, 仓库链接: https://github.com/PytLab/simpleflow

Read More

2017-11-03
机器学习算法实践-树回归

机器学习算法实践-树回归

前言

最近由于开始要把精力集中在课题的应用上面了,这篇总结之后算法原理的学习先告一段落。本文主要介绍决策树用于回归问题的相关算法实现,其中包括回归树(regression tree)和模型树(model tree)的实现,并介绍了预剪枝(preprune)和后剪枝(postprune)的防止树过拟合的技术以及实现。最后对回归树和标准线性回归进行了对比。

正文

在之前的文章中我总结了通过使用构建决策树来进行类型预测。直观来看树结构最容易对分类问题进行处理,通过递归我们在数据中选取最佳分割特征对训练数据进行分割并进行树分裂最终到达触底条件获得训练出来决策树,可以通过可视化的方式直观的查看训练模型并对数据进行分类。

Read More

2017-10-27
机器学习算法实践-岭回归和LASSO

机器学习算法实践-岭回归和LASSO

前言

继续线性回归的总结, 本文主要介绍两种线性回归的缩减(shrinkage)方法的基础知识: 岭回归(Ridge Regression)和LASSO(Least Absolute Shrinkage and Selection Operator)并对其进行了Python实现。同时也对一种更为简单的向前逐步回归计算回归系数的方法进行了相应的实现。

正文

通过上一篇《机器学习算法实践-标准与局部加权线性回归》中标准线性回归的公式$w = (X^{T}X)^{-1}X^{T}y$中可以看出在计算回归系数的时候我们需要计算矩阵$X^TX$的逆,但是如果该矩阵是个奇异矩阵,则无法对其进行求解。那么什么情况下该矩阵会有奇异性呢?

Read More

2017-10-24
机器学习算法实践-标准与局部加权线性回归

机器学习算法实践-标准与局部加权线性回归

前言

最近开始总结学习回归相关的东东了,与分类的目标变量是标称型不同,回归是对连续型数据进预测。当然还是从最简单的线性回归开始,本文主要介绍无偏差的标准线性回归和有偏局部加权线性回归的理论基础以及相应的Python实现。

标准线性回归

标准线性回归的理论知识很简单,我们既可以写出它的标量表达式也可以写成矩阵的形式,其中矩阵的形式也可以通过投影矩阵进行推到得到。本部分就对标准线性回归的表达式进行下简单的推导。

Read More