本文于2020-10-10更新。 如发现问题或者有建议,欢迎提交 Issue
这里主要记录三方面的笔记:降维、检测异常值和推荐器。 (Ng 2018)
1 dimensionality-reduction
PCA is to find a vector to minimize the projection errors. (Ng 2018)
PCA是最小化projection errors1,而非\(y-\hat y\)。
PCA既然是降维,必然会利用到线性代数里面的特征向量,我们知道特征向量在空间变化时,方向不发生变化。
2 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。
2.1 使用\(\mu\)定义outliter (Roberts 2018)
建立一个简单模型(如,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\]
3 recommender systems
推荐器就是用已知信息,推测?
的值。
(Ng 2018)
3.1 content based approach
假设我们可以从每个人的身上得知,对\(x\)(feature)的打分,就是\(\beta\),最终我们可以独立做一个OLS回归,得到\(\hat y\),从而给电影打分,但是这不符合实际的2,所以介绍下一种方法。
3.2 collaborative filtering
- content-based-recommendations 是根据\(x\)和\(y\),去估计\(x\)的偏好–\(x\)的参数\(\theta\)。
- collaborative-filtering,是可以 先后或者 同时根据\(x\)\(和\)y,估计\(\theta\);同时根据\(\theta\)和\(y\),估计\(x\)。
对于collaborative-filtering,我们可以估计出最好的\(x\)和\(\theta\),估计出最好的\(x\),也就是变量筛选的功能。
3.2.1 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\]
参考文献
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.