吴恩达公开课心得——无监督学习算法

无监督学习的前沿应用领域:市场细分,社交网络分析,组织计算机集群等等。它与有监督学习最大的区别就是提供的训练样本都是没有标签的。

无监督学习的常见算法是K均值法。该算法描述如下:

吴恩达公开课心得——无监督学习算法

吴恩达公开课心得——无监督学习算法

算法是很简单,但要用好却不容易。

首先要考虑的问题是,应该设置多少个聚类?一个方法是每个聚类数量都运算一遍,然后找出代价函数的拐点,这又称肘部法则。第二个方法就是根据实际问题的需要来确定聚类的数量。由于数据本省不带标签,分成多少个类都可以,只要最终可以有个合理的解释。

第二个问题就是初始的聚类中心如何确定?其实这也没有一个标准。这里推荐的方法是从样本中随机选择,为了避免局部最优,还需要多次随机选择,然后分别进行K均值算法,最后得到看哪种初始化效果最好。

吴恩达公开课心得——无监督学习算法

线性回归的代价函数是每个采样点与回归直线的y轴方向的距离的平方和,而PCA的代价函数是每个采样点到直线的垂直距离的平方和。这就导致运算上是完全不同的。

总之PCA的目标是找到一个低维平面,使得所有采样点到该屏幕的投影之间的距离平方和最小。

PCA的过程

首先进行均值归一化和特征缩放。为啥要做这两步就不多说了。

接下来就是正式的算法了。

吴恩达公开课心得——无监督学习算法

我们想要降到多少维,就从U矩阵中选择多少个列向量即可。完成选择后,这些列向量就可以组成一个n*k的矩阵,我们称为Ureduce.这样在原来的n维空间的采样点转化维k维空间的点的公式维z=Ureduce'*x; x_approx = Ureduce*z;

降低的维度k该如何选取?要求是99%的方差都保留下来了。当然也可以定义95%的方差保留或者90%方差保留。

吴恩达公开课心得——无监督学习算法

吴恩达公开课心得——无监督学习算法

最后说明一点,在线性回归或者逻辑回归中如果出现了过拟合的现象,你可能考虑使用PCA来减少特征维数,但作者并不推荐这样做。作者依然推荐lambda正则化来解决过拟合问题。按照作者的意思,PCA只适合用于数据压缩并提高算法效率和可视化。


分享到:


相關文章: