好久不见!
一转眼,辞职快两个月了。这段时间一直在学机(到)器(处)学习(玩)。虽然只是了解了一下基本概念,但也要出来显摆一下哈。从今天起继续更新博客,不过不是关于Android的了,转行机器学习!
如果有同样转行的小伙伴,欢迎与我联系哈,大家可以互相帮助,共同进步!
* 邮箱:15313851813@163.com
* wx:w1048367400
作为关于机器学习的第一篇博客,就讲讲什么是机器学习?机器学习需要哪些基础?以及如何学习机器学习吧!
1. 什么是机器学习
- 维基百科上的定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
- 我自己翻译一下:已知经验E,任务T和评价标准P,当程序通过对经验E的学习后,按照评价标准P,程序的性能得到了提升,我们就把这个过程叫做机器学习。
- 举个例子:
- 任务T:现有100个用户,判断每个用户喜欢喜剧片还是恐怖片;
- 经验E:100个用户的历史观看记录;
- 评价标准:准确率。向每个用户推荐某一类型影片,如果用户观看了,记为正确推荐,反之记为错误推荐。准确率=正确推荐数/推荐总数。
- 如果直接随机向用户推荐的准确率为a1;
- 现在我们可以对户的历史记录进行分析,如果用户观看喜剧片比较多,就推荐喜剧片;如果用户观看恐怖片比较多,就推荐恐怖片。准确率为a2;
- 很显然a2 > a1。那么这个过程就叫做机器学习。
2.机器学习需要哪些基础
- 编程基础
- python
- 常用的编程工具:pycharm,jupyter notebook等
- 其中编程语言并非必需python,java等等都可以,只是现在python机器学习地库最多,学起来也方便;如果有其他语言编程基础,python入门很快,估计一天就够了。编程工具也很好学,都是大同小异。
- 数学基础
- 高等数学
- 线性代数
- 概率论与数理统计
- 如果基础不好的话,最好把书翻一遍,不需要太详细,知道基本的概念与运算就可以,等以后用到了再回头看也不迟。
3. 如何学习机器学习
- 复习数学基础
- 最好把书翻一遍;
- 如果觉得太多的话,可以选择性的看:导数,梯度,微积分,矩阵的运算,特征值与特征向量,常见的概率分布模型与相关统计量,最大似然估计。
- 不用看透,遇到问题时再回头看就行。
- 学习机器学习
- 推荐一本书吧:《python机器学习》Sebastian Raschka著,高明译;
- 说实话,这本书我只能给打6分,那为啥还推荐呢?因为写的浅显易懂啊,机器学习中主要遇到的问题都会涉及,但是讲的很浅,适合入门。关于李航的《统计学习方法》和周志华的《机器学习》,写的确实很好,但是很难懂,不建议基础差的看。另外,这本书中有一些论述是错误,但是问题都不大,瑕不掩瑜;
- 进阶
- 关于进阶,我就没有发言权了,因为我也还是初学者。