1 min read

"吴恩达《机器学习导论》:核心算法解析

本文主要记录吴恩达机器学习课程中三个核心算法的学习笔记:降维、异常检测和推荐系统。

降维(Dimensionality Reduction)

主成分分析(PCA)

PCA is to find a vector to minimize the projection errors. [@Andrew2018]

PCA与OLS对比

PCA的核心思想是最小化投影误差(projection errors),而不是最小化$y-\hat y$。

PCA算法原理

PCA算法流程

PCA作为降维技术,利用线性代数中的特征向量来实现。特征向量在空间变换时方向保持不变,这为降维提供了理论基础。

应用示例: - 股票指数构建:第一主成分方向描述了大多数股票价格的共同走势 - 构建投影误差最小的平面或曲线

anomaly detection

这里的内容是无监督学习。 假设各个$x$具备独立性假设,那么可以用$\prod$来表达联合分布概率。 以此来探查$\text{data}_{\text{test}}$是否处于数据的分布的尾巴处,即异常值。

$$\begin{alignat}{2} p(x) &= p(x_1;\mu_1,\sigma_1^2) \cdots p(x_n;\mu_n,\sigma_1^n)\ &=\prod_{j=1}^np(x_j;\mu_j,\sigma_1^j) \end{alignat}\ \text{Anomaly if } p(x) < \epsilon$$

这里的$p(x) < \epsilon$类似于p value。

使用$\mu$定义outliter [@Roberts2018]

建立一个简单模型(如,ridge),产生回归方程 $$y = \hat y + \hat \mu$$

针对每一个$\hat \mu_i$进行zscore处理, $$\nu_i = \frac{\hat \mu_i - \mathrm{E}(\hat \mu)}{\mathrm{\sigma(\hat \mu)}}$$ 对分布在三倍标准正态分布$\sigma = 1$外的样本,判定为outlier。 $$|\nu_i|>3$$

recommender systems

推荐器就是用已知信息,推测?的值。 [@Andrew2018]

content based approach

假设我们可以从每个人的身上得知,对$x$(feature)的打分,就是$\beta$,最终我们可以独立做一个OLS回归,得到$\hat y$,从而给电影打分,但是这不符合实际的1,所以介绍下一种方法。

collaborative filtering

先后完成 同时完成

  • content-based-recommendations 是根据$x$和$y$,去估计$x$的偏好–$x$的参数$\theta$。
  • collaborative-filtering,是可以 先后或者 同时根据$x$$和$y,估计$\theta$;同时根据$\theta$和$y$,估计$x$。

对于collaborative-filtering,我们可以估计出最好的$x$和$\theta$,估计出最好的$x$,也就是变量筛选的功能。

mean normalization

对于从来没有rate任何电影的用户来说,很可能预测所有的$\theta=0$,这个时候还不如用其他用户对某一个电影均值作为预测值,至少可以作为baseline。 这里可以引入mean normalization。

$$y -\mu \to \text{estimate } \hat \theta \to \text{estimate } \hat \theta x \to \hat y = \hat \theta x + \mu$$

参考文献


  1. 我们很难采集到每个人对一步电影全部维度的偏好。 ↩︎