当前位置: 首页 > news >正文

机器学习入门

基础篇
=========================================================================
1. 读书《Introduction to Data Mining》,这本书很浅显易懂,没有复杂高深的公式,很合适入门的人。
另外可以用这本书做参考《Data Mining : Concepts and Techniques》。第二本比较厚,也多了一些数据仓库方面的知识。
如果对算法比较喜欢,可以再阅读《Introduction to Machine Learning》。
当然,还有《机器学习:实用案例解析》


2. 实现经典算法。有几个部分:
a. 关联规则挖掘 (Apriori, FPTree, etc.)
b. 分类 (C4.5, KNN, Logistic Regression, SVM, etc.)
c. 聚类 (Kmeans, DBScan, Spectral Clustering, etc.)
d. 降维 (PCA, LDA, etc.)
e. 推荐系统 (基于内容的推荐,协同过滤,如矩阵分解等)
然后在公开数据集上测试,看实现的效果。可以在下面的网站找到大量的公开数据集:UCI Machine Learning Repository/


3. 熟悉几个开源的工具: Weka (用于上手); LibSVM, scikit-learn, Shogun


4. 到 Kaggle: Go from Big Data to Big Analytics/ 上参加几个101的比赛,学会如何将一个问题抽象成模型,并从原始数据中构建有效的特征 (Feature Engineering). 


到这一步的话基本几个国内的大公司都会给你面试的机会。


进阶篇
===========================================================================
1. 读书,下面几部都是大部头,但学完进步非常大。
a.《Pattern Recognition and Machine Learning》
b.《The Elements of Statistical Learning》
c.《Machine Learning: A Probabilistic Perspective》
第一本比较偏Bayesian;第二本比较偏Frequentist;第三本在两者之间,但我觉得跟第一本差不多,不过加了不少新内容。当然除了这几本大而全的,还有很多介绍不同领域的书,例如《Boosting Foundations and Algorithms》,《Probabilistic Graphical Models Principles and Techniques》;以及理论一些的《Foundations of Machine Learning》,《Optimization for Machine Learning》等等。这些书的课后习题也非常有用,做了才会在自己写Paper的时候推公式。


2. 读论文
包括几个相关会议:KDD,ICML,NIPS,IJCAI,AAAI,WWW,SIGIR,ICDM;以及几个相关的期刊:TKDD,TKDE,JMLR,PAMI等。跟踪新技术跟新的热点问题。当然,如果做相关research,这一步是必须的。例如我们组的风格就是上半年读Paper,暑假找问题,秋天做实验,春节左右写/投论文。


3. 跟踪热点问题。例如最近几年的Recommendation System,Social Network,Behavior Targeting等等,很多公司的业务都会涉及这些方面。以及一些热点技术,例如现在很火的Deep Learning。


4. 学习大规模并行计算的技术,例如MapReduce、MPI,GPU Computing。基本每个大公司都会用到这些技术,因为现实的数据量非常大,基本都是在计算集群上实现的。


5. 参加实际的数据挖掘的竞赛,例如KDDCUP,或 Kaggle: Go from Big Data to Big Analytics/ 上面的竞赛。这个过程会训练你如何在一个短的时间内解决一个实际的问题,并熟悉整个数据挖掘项目的全过程。


6. 参与一个开源项目,如上面提到的Shogun或scikit-learn还有Apache的Mahout,或为一些流行算法提供更加有效快速的实现,例如实现一个Map/Reduce平台下的SVM。这也是锻炼Coding的能力。

相关文章:

  • Python学习笔记(2)格式化字符串
  • Python学习笔记(3)Python中的转义字符
  • Python学习笔记(4)Python中super的用法
  • 怎样查询SCI期刊的影响因子与排名
  • 如何发表高水平科研论文
  • 如何发表高水平论文
  • 英文投稿的一点经验
  • 论文写作和投稿过程
  • 英文论文写作的语言技巧
  • Windows 7下安装配置Latex
  • Matlab箱形图boxplot函数用法
  • Matlab使用技巧
  • Latex之自动转为Word (Ubuntu)
  • 如何将图片保存为EPS格式
  • Endnote输出Bibtex格式
  • [译] React v16.8: 含有Hooks的版本
  • 【翻译】babel对TC39装饰器草案的实现
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • angular学习第一篇-----环境搭建
  • canvas绘制圆角头像
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • CSS3 变换
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • JavaScript创建对象的四种方式
  • laravel 用artisan创建自己的模板
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • React Native移动开发实战-3-实现页面间的数据传递
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 分类模型——Logistics Regression
  • 服务器从安装到部署全过程(二)
  • 将回调地狱按在地上摩擦的Promise
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 自制字幕遮挡器
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • #162 (Div. 2)
  • (C++)八皇后问题
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (九)c52学习之旅-定时器
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .NET DataGridView数据绑定说明
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • /etc/motd and /etc/issue
  • @vue/cli 3.x+引入jQuery
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [1181]linux两台服务器之间传输文件和文件夹
  • [BUG]vscode插件live server无法自动打开浏览器
  • [BUUCTF 2018]Online Tool(特详解)
  • [bzoj1912]异象石(set)
  • [C#]获取指定文件夹下的所有文件名(递归)