机器学习如何入门(待补充完整)
Step1-知识准备:
1. 数学:
1)排列组合:
- 排列:n个不同元素中取m个元素进行排列(有序),1<=m<=n,则不同排列的个数为:
- 组合:n个不同元素中取m个元素进行组合(无序),1<=m<=n,则不同组合的个数为:
备注:n!为n的阶乘,约定0!=1。当n=m时,排列个数即为n!,组合个数为1。
2)线性代数-矩阵乘法(线性方程组,线性变换,线性空间的理解):
旋转矩阵:
- http://www.ruanyifeng.com/blog/2015/09/matrix-multiplication.html
- https://www.zhihu.com/question/21351965(看公交车和买菜两个回答,后者可能更佳)
3)概率论和统计:
- 什么是概率:概率就是用数值来表示某个事件发生的可能性。
https://www.zhihu.com/question/26895086/answer/224503078(猴子聊人物)
- 贝叶斯定理:
后验概率(新信息出现之后的A概率)=先验概率(A概率)*可能性函数(新信息带来的调整)
https://www.zhihu.com/question/19725590/answer/241988854(猴子聊人物)
- 全概率公式:
用于计算贝叶斯定理中的P(B),A和A'共同构成了样本空间。
https://www.zhihu.com/question/19725590/answer/241988854(猴子聊人物)
- 条件概率(可以用决策树来体现):
事件A在事件B已经发生情况下发生的概率;事件A和B为相关事件,非独立事件(如红蓝球实验,见下方猴子的介绍链接)
https://www.zhihu.com/question/27462939(猴子聊人物)
4)高数-导数:
https://www.zhihu.com/question/28684811(马同学)
- 认知阶段1:导数是曲线(表征一元函数时)的变化率(切线斜率)
如果曲线为时间与距离的关系,则任何一点的导数是瞬时速度;如果曲线为时间与速度的关系,则任何一点的导数为加速度。
- 认知阶段2:导数是用来找到线性近似的数学工具
- 认知阶段3:导数是线性变换?
2. 程序语言:R 或 Python(只用于学习入门,不是实现的最佳语言)
3. 推荐书籍:选择一到两本公式较少、浅显易懂的介绍机器学习算法类型的书
1)中文-《机器学习》(周志华)、《统计学习方法》(李航)、《机器学习实战》(Peter Harrington)
2)外文-?(Pattern classification)
4. 其他参考链接:
1)机器学习实践指南 - http://blog.jobbole.com/112569/
2)普通程序员如何转向人工智能方向 - http://www.cnblogs.com/subconscious/p/6240151.html
Step2-基础学习:
1. 推荐公开课:
1)https://www.coursera.org/learn/machine-learning(Anderw Ng老师,Machine Learning课程)
2)网易公开课,斯坦福机器学习相关课程
2. 网址:
1)伯乐在线:http://blog.jobbole.com/tag/machinelearning/
3. 推荐书籍:
1)外文-《Elements of Statistical Learning》/《Introduction of Statictical Learning》
2)中文-?
Step3-方向研究:
按需求(选择相近应用场景)、方向(如深度学习)升入学习和应用