基础技术

1. 数据的预处理
1.1 相似度
* 距离相似度

* 余弦相似度(向量的相似度)

* 皮尔逊系数
- 线性相关程度

* Jaccard系数
- 二进制属性物品案例
$$SMC=\frac{M{11}}{M{01}+M{10}+M{11}}$$
* 建议
- 如果数据密集(所有数据几乎都有属性值,属性值量级重要),就用欧几里德算法
- 数据受级别膨胀影响(不同的用户使用不同的评分标准),就用皮尔逊相关系数算法
数据稀疏性强,就考虑用夹角余弦相似度算法
cosine相似度,其实就是归一化后的点积结果,
Pearson相关系数是去中心化&归一化的点积结果
- 修正cosine相似度,也是去中心化&归一化的点积结果,与Pearson的差别就在于去中心化的差异(上面描述的)
1.2. 抽样
- 80/20原则
- 重复采样:随机抽样k次
- n折交叉验证:
- 数据分为n份
- 一份是测试模型
- 其余n-1是用来训练
- k个损失值的平均值作为最后的值
1.3. 降维
* PCA
* SVD
1.4. 去噪
- 缺失数据
- 异常数据
2. 分类
* 最近邻
* 决策树
* 贝叶斯分类器
* 神经网络
* 支持向量机
* 分类器的集成
- 分类器:特征空间到标签空间的映射
3. 分类器的评估
http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/
- 打分:RMSE(均方根误差)
- top-n:F1
$$\frac{1}{F_1}=\frac{1}{R}+\frac{1}{P}$$
- 指标:Precision(准确率);Recall(召回率)
- p=检索出来的条目(比如:文档、网页等)有多少是准确的
- R=所有准确的条目有多少被检索出来了
不妨举这样一个例子:某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:
正确率 = 700 / (700 + 200 + 100) = 70%
召回率 = 700 / 1400 = 50%
F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%
- 准确率和召回率矛盾。F-Measure是Precision和Recall加权调和平均:
$$F_{measure}=\frac{(\alpha^2+1)(RP)}{\alpha^2(R+P)}$$
$$F_{one}=\frac{2RP}{R+P}$$
* ROC曲线
http://blog.csdn.net/ice110956/article/details/20288239?utm_source=tuicool&utm_medium=referral
http://blog.csdn.net/abcjennifer/article/details/7359370