正则化

开始

先从最小二乘法开始讲起吧,我们在拟合数据时,我们常常用到的指标就是最小二乘误差MSE。

我们的目标是最小化MSE:

\(\min \parallel y_{pred} – y_{true} \parallel ^2_2\)
\(y_{pred} = w^T x\)

当我们进行拟合数据时,我们考虑到的是我们模型训练得到的预测y值与真实y值的距离,通过训练得到最小的MSE损失。当我们的数据趋向于线性时,我们采用线性模型就可以有很好的表现。但是当我们的遇到的是下面图片的数据时,我们使用线性模型则会让我们预测时出现很大的偏差。我们采用非线性模型去拟合,就会出现后面两种情况[……]

阅读更多

洪水算法–python实现

开始

近来通过项目接触了一个填充算法—洪水算法。

洪水算法是一种局部填充的方法,算法将同一区域的颜色填充成同一颜色,从起始坐标开始,往四周扩散。所以有四邻域像素填充八领域像素填充,还有基于扫描线的洪水填充方法。这三种算法详细可以在reference 1中看到。这三种方式的递归算法十分简单,但是遇到图片较大的情况下,则可能会出现栈溢出。

解决的方法则是通过人为设置存放扫描的起始坐标点的栈,来代替函数调用栈。通过比较简单。

算法

算法思路:
1.选择填充区域的起始点
2.入栈起始点
3.将起始点所在列填充颜色
4.将起始点的左右侧’起始点’压入栈
5.控制左右上下移动的范[……]

阅读更多

激活函数-bias shift

开始

开始接触神经网络/深度学习了,在各种平台刷到这个mystery,各个领域也在使用它。机器学习学了这么久,没有太多的进展,只是一个个算法的慢慢啃。看着其他同学使用神经网络都是迅猛的搞着自己的东西,着实让我酸意满满。

当然这篇博文不是来吐槽的。问题是来自于自己选的入门书(Reference: 4)中:激活函数若不是零中心化的,上层的输出会使下一层的神经元的输入发生偏置偏移(bias shift),并进一步使得梯度下降的收敛速度变慢。

激活函数sigmoid/tanh

sigmoid: \(\sigma (x) = \frac{1}{1+e^{-x}}\),其导数为[……]

阅读更多

特征选择–CFS

当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。

特征选择的两个大方向是:

  • wrapper: 使用学习算法本身去选择有用的特征
  • filter: 根据数据的一般特征启发式的选择特征

大多数的应用表明,filter方法的数据会比wrapper的速度快,filter方法的缺点是只应用于离散数据的特征选择问题当中。

本文讨论的是correlations-based feature selection,即CFS,被Hall.M提出的filter方法(reference中论文(1)),并应用于连续问题、离散问题中。在朴素贝叶斯方法(文末reference[……]

阅读更多