1 min read

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

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

1 降维(Dimensionality Reduction)

1.1 主成分分析(PCA)

PCA is to find a vector to minimize the projection errors. (Ng 2018)

PCA与OLS对比
PCA与OLS对比

PCA的核心思想是最小化投影误差(projection errors),而不是最小化yy^

1.1.1 PCA算法原理

PCA算法流程
PCA算法流程

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

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

2 anomaly detection

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

p(x)=p(x1;μ1,σ12)p(xn;μn,σ1n)=j=1np(xj;μj,σ1j)Anomaly if p(x)<ϵ

这里的p(x)<ϵ类似于p value。

2.1 使用μ定义outliter (Roberts 2018)

建立一个简单模型(如,ridge),产生回归方程 y=y^+μ^

针对每一个μ^i进行zscore处理, νi=μ^iE(μ^)σ(μ^) 对分布在三倍标准正态分布σ=1外的样本,判定为outlier。 |νi|>3

3 recommender systems

推荐器就是用已知信息,推测?的值。 (Ng 2018)

3.1 content based approach

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

3.2 collaborative filtering

先后完成 同时完成

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

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

3.2.1 mean normalization

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

yμestimate θ^estimate θ^xy^=θ^x+μ

参考文献

Ng, Andrew. 2018. “Machine Learning.” 2018. https://www.coursera.org/learn/machine-learning.
Roberts, Jack. 2018. “Top 7.” 2018. https://www.kaggle.com/jack89roberts/top-7-using-elasticnet-with-interactions.

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