Back Propagation

在介绍了梯度下降法进行模型优化的思想之后, 在介绍神经网络之前, 我们需要对反向传播算法有一个直观的理解, 因为在神经网络中, 包含大量的函数嵌套的前向运算, 在利用梯度下降法求导的时候, 通常需要链式法则来进行微分项的计算

Gradient Descent

SVM and Softmax那篇文章中, 我们知道模型最主要的两个模块, 评分函数代价函数, 我们通过代价函数来表征真实值与模型预测值之间的差异, 当然我们只知道和真实值相差多少是不够的, 我们还要不断的更改模型参数$W$, 使得差异越来越小, 这个过程就是最优化, 这篇文章介绍最优化方法中广泛使用的梯度下降法

Catch单元测试

最近在写C++的一些小程序, 在书上讲到测试驱动开发的方法, 也就是TDD(Test-Driven Development), 所以要打算掌握单元测试方法, 至少自己在写算法题的时候可以自己测试代码的健壮性, 从网上了解了一个C++的测试工具叫Catch, 看是来十分简单友好, 来学习一下

kNN

最近在学习斯坦福大学李飞飞团队的公开课CS231n- Convolutional Neural Networks for Visual Recognition, 这篇文章介绍了课程笔记中的kNN, 以及课程作业assignment1中kNN算法(k-最邻近算法)实现图像分类的一些基本原理及TODO部分的代码实现. Github

Caffe in Docker

搭建基于docker的caffe运行环境, 之前在自己的Ubuntu上搭建caffe环境4次失败, 每次由于驱动问题将GUI搞垮, 将GUI搞回来驱动又不兼容, 很是折腾, 当然做镜像也很折腾呀, 当时可以共享给其他人, 拿走不谢!

IDE指南

记录常用IDE的使用, 自己常用的IDE有Jetbrains家族的IDEA,Pycharm,DataGrip,在写C++代码时候用Visual studio, 平时练习算法和数据结构用CodeBlocks

Pink Floyd

我认为哲学和摇滚最搭, 现代诗和摇滚也可以, 反正一定要是发人深省的东西, 去看看Pink Floyd的The Wall (1982), 那个时代里的人在自我探索