Posts

反向传播公式推导

Image
在计算机科学家(也很可能是数学家)在提出DL在计算机上可行的时候,(我相信) 算力友好的计算Cost functon 对每个参数的导数($\frac{\partial C}{\partial w_{j k}^{l}}$ 和 $\frac{\partial C} { \partial b_{j}^{l}}$)是非常重要的一点。 符号表示 为此,这里引入了中间变量$\delta_{j}^{l}$ 定义为在$l^{th}$层的第$j^{th}$个神经元上的误差: $\delta_{j}^{l} \equiv \frac{\partial C}{\partial z_{j}^{l}}$ 这里$z_j^l$指的是第$l^{th}$层的第$j^{th}$个神经元的激活函数的带权输入: $z_{j}^{l}=\sum_{k} w_{j k}^{l} a_{k}^{l-1}+b_{j}^{l}$ 看起来更直观的做法可能会把激活函数输出作为引入变量来推导,但是事实是用$z_j^l$来表示会更方便。 从$\delta_j^L$ 出发: 大写的$L$表示最后一层,即输出层的误差,计作BP1 $\delta_{j}^{L}=\frac{\partial C}{\partial a_{j}^{L}} \sigma^{\prime}\left(z_{j}^{L}\right)$ BP1 是按分量构成的表达式,如果重写为用矩阵表示,计作BP1a,即: $\delta^{L}=\nabla_{a} C \odot \sigma^{\prime}\left(z^{L}\right)$ 其中$\nabla_{a}C$ 是一个向量,元素为$ \partial C / \partial a_{j}^{L} $   既然最后一层的误差已经可以表示,那对于中间层呢? 先给出结论,下式记作BP2 : $\delta^{l}=\left(\left(w^{l+1}\right)^{T} \delta^{l+1}\right) \odot \sigma^{\prime}\left(z^{l}\right)$ 证明: BP2的核心就是把$\delta_j^l$ 和 $\delta_j^{l+1}...

牛顿法以及用牛顿法求极值

Image
牛顿法 牛顿法经常作为一个和梯度下降做对比的求解机器学习收敛结果的方法。需要明确的是首先牛顿法本身是作为求解函数零点问题的一种方法。具体做法是:当想要求解  $ f(\theta)=0 $ 时,如果$f$可导,那么可以通过迭代公式: $ \theta :=\theta-\frac{f(\theta)}{f^{\prime}(\theta)} $ 来迭代求得零点。 需要注意的是,牛顿法根据选取的初始值的不同,有可能会不收敛!通常选取在零点附近作为初始值。 牛顿法求函数零点 牛顿法之所以能work,是因为利用了泰勒展开。 我们把$ f(x)=0 $在$x_0$处展开且展开到一阶,得到$f(x)=f\left(x_{0}\right)+f^{\prime}\left(x_{0}\right)\left(x-x_{0}\right)$  所以目标就变成了要让:$f\left(x_{0}\right)+f^{\prime}\left(x_{0}\right)\left(x-x_{0}\right)=0$ 所以就变成了:$x=x_{1}=x_{0}-\frac{f\left(x_{0}\right)}{f^{\prime}\left(x_{0}\right)}$ 因为$f(x)=f\left(x_{0}\right)+f^{\prime}\left(x_{0}\right)\left(x-x_{0}\right)$ 并非处处相等,而是只在$x_0$附近可以这么认为,这里求得的$x_1$并不能让$f(x) = 0$,只能说$f(x_1)$的值比$f(x_0)$更接近于0,所以这就可以用迭代来逼近了! 这里来插入一下如果自变量不是一个单变量的泰勒展开式,假设函数$f(x,y)$ 那么它在$(x0,y0)$处的一阶泰勒展开计作$L(x,y)$写作: $L(x,y) = f(x_0,y_0) + f_x(x_0,y_0)*(x-x_0) + f_y(x_0,y_0)*(y-y_0)$ 牛顿法求极值 在机器学习中,问题就不是求零点,而是希望求loss function的最小值,于是可以写作求$\ell^{\prime}(\theta)=0$ 同理,这种情况下的迭代过程就是: $ \theta :...

Malware Report: iauzzy.exe

Image
Malware report of iauzzy.exe Summary This malware will create a file named ‘qqt.exe’ under the %WinDir%. This is the exact malicious executable file. qqt.exe is able to communicate to the ‘Command & Control’ server via IRC. The controller behind is able to execute any code; reboot the infected machine; clean the malware itself, etc.

Malware Report: withme.exe

Image
Malware Report withme.exe Summary This Withme.exe will drop a executable file ‘A-1980682553.exe’ to the location %AppData%. Also It will add itself to runonce registry. This is the exact malware. It’s able to communicate with C2 server, which domain is ‘sexwithme.info’ wia port 6667.

Spectral Clustering 从入门到入门

Image
0x00 Introduction 写这篇文章的由头是因为自己前一阵读了Thomas N. Kipf, Max Welling大佬的 Semi-Supervised Classification with Graph Convolutional Networks 这篇文章。 文章核心在于怎么用数学的方式减小用在Graph数据上神经网络的运算量。因为之前所接触的神经网络限于Andrew NG的两门课,故而没接触过处理Graph的情况。这里的Graph指点集,边集构成的图。这篇文章并非paper的讲解。只是记录一下我关于Graph Clustering这个领域的入门心得。

Data mining 实战第一弹

Image
Audit了HKUST的Data mining. Dr. Lei Chen 又很nice的把作业和ppt在外网上公开了。 http://home.cse.ust.hk/~leichen/courses/mscbd-5002/   不做作业实在可惜 (链接可能会在学期结束后就失效) 于是我DM的第一次实战就是这门课的 Assignment2

Kaggle笔记: House Price prediction

Image
Kaggle 笔记 : House Price prediction Source :   https://www.kaggle.com/serigne/stacked-regressions-top-4-on-leaderboard 1. 把 training set 和 test set 里面的 Id 列,移除(备份到一边) 2. 作出横轴是住房面积 纵轴是房价的图像,发现基本上房价和面积呈线性关系,并且发现有些数据住房面积很大 但是房价很低,这些属于 outlier data. 把它们从数据集中移除 3. 既然目标是房价预测, 我们把 training set 里面的房价分布图画出来 这里根据图像发现 并不是特别线性 4. 于是想到把 price 这一列求 log ,再画图观察,发现分布更正态了 5. 把 Training set 和 Test set 拼起来,观察 missing data 。 填充这些 missing data. 这里作者对着数据提供者的 description ,再加上一些想象把丢失的数据全部补完 6. 把数据集里面其实是 category 的 attribute 从数字表示 转化为字符串。比如 OverallCond 这个字段,代表 Rates the overall condition of the house 。它的数值在数据集中是 0 , 1 , 2… 10 。 但他本质上是 category 。 7. 对数据进行重新编码 , 把 category 的数据表示为数字比如性别 [‘male’, ’female’] -> [‘1’, ‘0’] ref: https://blog.csdn.net/quintind/article/details/79850455 8. 合并 / 新增变量: 因为对于售价面积是个很重要的因素,作者创建了一个新的变量:总面积 = 地下室面积 + 一楼面积 + 二楼面积 9. 查看各个 attribute 的分布情况,把非正太分布 (skewed features) 的转化为正态分布。   这里作者用的是 Box-cox Transf...