PCA理解与应用。
Motivation
- PCA与Factor analysis非常相似,都是主要用于reduction data dimensions。但PCA的想法相比于Factor analysis更简单,实现起来也更加直观和容易(只需要算特征值)。
- PCA tries to identify the subspace in which the data approximately lies.
- 一个很简单的例子是,我们的数据中可能存在很多属性是高度相关的,那么这些属性实际上是有冗余的,如果我们直接用原始数据进行训练,有可能会受到
Curse of dimensionality
,同时增大计算量,增加模型过拟合的程度。
算法流程
数据预处理
首先,我们需要对数据进行标准化:
1. Let μ = 1 m ∑ i = 1 m x ( i ) 2. Replace each x ( i ) with x ( i ) − μ 3. Let σ j 2 = 1 m ∑ i ( x j ( i ) ) 2 4. Replace each x j ( i ) with x j ( i ) / σ j \begin{array}{l}{\text { 1. Let } \mu=\frac{1}{m} \sum_{i=1}^{m} x^{(i)}} \\ {\text { 2. Replace each } x^{(i)} \text { with } x^{(i)}-\mu} \\ {\text { 3. Let } \sigma_{j}^{2}=\frac{1}{m} \sum_{i}\left(x_{j}^{(i)}\right)^{2}} \\ {\text { 4. Replace each } x_{j}^{(i)} \text { with } x_{j}^{(i)} / \sigma_{j}}\end{array} 1. Let μ=m1∑i=1mx(i) 2. Replace each x(i) with x(i)−μ 3. Let σj2=m1∑