您的位置:首页 > 大数据 > 人工智能

系列课程学习-机器学习解决问题综述

2017-03-28 16:56 344 查看
机器学习解决问题综述

1 应用领域

经济:股市、房价...

能源:产能预测、分配与合理利用

NLP相关:检索、分类、主题、相似度

互联网用户行为: CTR预测

销售预测:电商、连锁店、超市...

深度学习应用: 图像内容理解

推荐系统相关: 电商推荐

其他预测:气候、社交网络分析

2 常用算法

常见算法库:Sklearn/GBDT/xgboss

监督学习用的较多,无监督多作为辅助。
输入分为连续值和非连续值。
监督学学习中:

连续值:线性回归、决策树...

分类问题:

当数据分布较均匀时,朴素贝叶斯效果较好。

SVM多适用于中小数据集。
非监督学习:
SVD/PCA 降维
K-means 多为辅助使用,例如根据用户行为做聚类,发现不同的族群用户,然后作为训练集使用到监督式训练中。 [半监督学习]

如何选择算法:
1 看你的样本数据量,(如样本在百单位)数据量过少或维度很低,容易过拟合。如果数据量很少,则不一定要使用机器学习算法,可以尝试使用常规的统计算法或使用规则过滤。
2 分类问题->classification

样本量过大:随机梯度下降,SGD Classification

适中:SVM/LR.GBDT...
3 regression->预测问题
4 clustering ->无监督
5 reduction->维度过多时,降低维度。

3 常用工具

sklearn: 库很全、封装的很完善。

自然语言处理: gensim

绘图: matplotlib

pandas: 数据预处理

XGBoost:增强

深度学习: caffe keras

4 建模与问题解决流程

a了解场景、目标,了解评估准则,认识数据。

例如: 数据是否均衡,是否全面
b数据处理(清洗、调权)

清洗:丢掉不可信的样本数据/缺省值极多的字段考虑不用

数据采样: 下、上采样 /保证样本均衡

方法: 1 重复少的样本 2 权重赋值

3 加入 正负样本 10:100可以将100分类成10分。每份都与正样本进行一次运算,最后10个结果进行统计、投票。

工具: 数据适中的话,使用pandas,较大的时候使用 hive sql/spark sql

c特征工程

离散化: 比如对连续型的数据,商品价格分段
编码: 对分类型的数据,进行编码
缺省值: 缺的少,填充、缺的多,弃用、适中识别为新类型。

数据的转换: log 指数等,变化后可能会发现新的规律
d 模型选择/挑参
e 寻找最佳超参数:交叉验证
f 模型分析与模型融合

特征的类型:

对于时间可以使用时间段进行离散。 比如淘宝在双十一的数据,可以按小时分段。

可以拆分: 比如 吃饭点,拆成, 早上饭点,中午饭店

文本特征: 词频 ,权重 bag of words ,TF IDF; word2vec

统计型:如360你的开机速度超过了XXX人,将开机时间绝对值作为排行意义不大,而相对排行更有意义。

特征处理:

归一化: 将数值缩放到一定范围内。

课程提供特征工程PDF

http://scikit-learn.org/stable/modules/preprocessing.html
http://scikit-learn.org/stable/modules/classes.html#modulesklearn.
feature_extraction

特征选择:

http://scikit-learn.org/stable/modules/feature_selection.html

过滤型

Øsklearn.feature_selection.SelectKBest

包裹型

Øsklearn.feature_selection.RFE

嵌入型

Øfeature_selection.SelectFromModel

ØLinear model,L1正则化

过滤型用的较少,判断某一维度的特征与结果的关联度。

包裹型,对结果影响较小的特征,踢掉。

基于模型的....

模型选择:

sklearn cheetsheet提供的候选

o交叉验证(cross validation)

K折交叉验证(K-fold cross validation)

http://scikit-learn.org/stable/modules/cross_validation.html

模型的融合:

PS:实际工作当中,数据比模型重要,70%的时间用在数据的准备中。

参考博客:

http://blog.csdn.net/han_xiaoyang/article/details/50469334

http://blog.csdn.net/han_xiaoyang/article/details/52910022

思路:

拿到数据之后怎么了解数据(可视化 [不是所有的数据都可以做可视化])

选择贴切的机器学习算法

定位模型状态(过、欠拟合)及解决方法

过拟合之后的解决方法:最有效的是从数据角度解决,增加样本数据量。其次减小特征。

大量集的数据特征分析与可视化

各种损失函数的优缺点及选择

5 Kaggle Wiki
确定评判标准

6 简单案例讲解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐