机器学习概述
一 关注的问题
- 分类问题(根据数据样本上抽取的特征判定其属于有限个类别中的哪个类别)
- 回归问题(根据数据样本上抽取的特征预测一个连续值的结果)
- 聚类问题(根据数据样本上抽取的特征让样本抱团)
二 应用
- 计算机视觉(人脸识别。车牌识别,图片搜索)
- 自然语言处理(文本内容理解,文本情绪判断,语音识别,机器翻译)
- 社会网络分析(用户画像,网络关联分析,热点发现)
- 推荐(某宝的”猜你喜欢”,歌曲推荐)
三 数学基础
- 微积分(微分计算及其几何/物理意义;凸优化和条件最优化)
- 线性代数(矩阵,向量,矩阵分解)
- 概率与统计(极大似然,贝叶斯,概率分布)
四 编程
- Python(网页爬虫: Scrapy;数据挖掘: pandas, numpy, scipy, matplotlib;机器学习: scikit-learn, libsvm, Keras, Tensorflow;自然语言处理: nltk;交互是环境: IPython, Juppter notebook)
- R (RGtk2, pmml, colorspce, ada, amap, arules, biclust, cba, descr, doBy)
- Java (Weak Machine Learning Workbench)
- C++ (mlpack,shark)
- 大数据(hadoop,Spark MLlib)
五 工作流程
- 抽象数学问题
- 获取数据
- 特征预处理与特征选择
- 预处理:归一化,离散化,确实只处理
- 选择:相关系数,卡方检验,平均互信息,特征重要性
- 训练模型与调优
- 交叉验证
- 误差分析
- 学习曲线(过拟合与欠拟合)
- 模型诊断
- 使用