我收到过许多想开始学习机器学习的开发者和学生的邮件。我问他们的第一个问题是:是什么阻止了你开始学习?
我试图找出让他们挣扎的核心原因,大多数时候都是一些自我限制的想法在阻止他们前进。
这篇文章里我想谈谈一些在我和学生的邮件来往和讨论中发现的一些自我限制的想法。也许在这些想法里面你也会发现自己的影子。如果这样的话,我希望你能挑战自己的这些设想。
自我限制的想法
自我限制的想法是指:你假定一件事情为真,而它正在阻挡你前进。你对你自己或者你想成就的事情做了预设。当你相信这个预设并且不质疑它的时候问题就出现了。
Steve Pavlina 在这篇博客Dissolving Limiting Beliefs里罗列了三种自我限制的想法:
– ”如果-那么“:如,如果我开始学机器学习,我会失败。因为我不够好。
– “全部都是” : 如,所有数据科学家都有博士学位,全部都是数学大神。
– “个人和自尊”:如,我能力不足以学习机器学习。
你应当是个有逻辑和理智的人。用你的逻辑和理智来思考并且挑战这些你自己对学习机器学习的执念吧。
等待开始的时机
我认为自我限制的想法中,最多的一种就是你认为自己没有一些特定的预备知识就不能开始。问题在于你认为你需要的那些预备知识或者根本就用不着,或者范围太大即便领域专家也不能全都知道。
举个例子:“我需要了解统计”。你看这个想法多么有歧义呀。你需要多少统计相关知识?需要哪个方面的统计知识?你又为什么非要了解统计知识才能开始研究机器学习呢?
下面是一些常见的学习机器学习之前,和必须要掌握的预备知识或技能有关的自我限制的想法
学机器学习之前我必须…
…获得一个学位或更高的学位
…完成一门课
…擅长线性代数
…掌握统计和概率论
…掌握编程语言R
今天,此时此刻,你就可以开始学习机器学习。5分钟内你就可以跑起来你人生第一个分类器。你就入门了。现在,开始列出你真正想从机器学习中得到什么吧。
我之前写过一些和这个有关的博客,例如
程序猿也可以学机器学习
要是我数学不好呢
要是我没有学位呢
要是我不是一个好程序员呢
等待完美的条件
另一类自我限制想法是:你非要等到完美的环境或条件才能开始。事情永远不可能完美,你应当行动起来,把事情搞得一团糟,然后继续行动。
我不能开始学习机器学习因为…
…我现在没时间
…我的CPU,GPU不够快,我的RAM不够大
…我只是个学生
…我还不是个好程序猿
…我上班很忙
要想学好机器学习的确需要很多时间和精力,但是这并不是一蹴而就的,也不是一开始就需要这么多时间精力。
一周学几个小时,或者一天学几十分钟,你就可以有不错的进步。可以用来学习机器学习入门的小任务足够多。开始学习是需要牺牲一些其他东西,但生活中所有好东西都需要你牺牲一些其他东西。
正在挣扎或曾尝试失败
第三类自我限制的思想来自于你已经开始了第一步,但你正在挣扎,或者没能完成你的目标。
这个的确比较困难。机器学习是很难,但是并不比其他的技术比如编程难。学习它需要坚持和付出。它是需要应用和实践的,需要反复实验,从失败中找到解法。
我不能学习机器学习因为…
…我觉得不堪重负
…我不理解x
…我永远不能和y一样厉害
…我不知道下一步做什么
…我的程序不好使
我的建议通常是减小你项目的范围或者换一个方向。我经常提倡小项目,因为我尝试这种方法很成功。
你的自我限制执念是什么?
你有自我限制的想法么?好好想一想。你的目标是什么,为什么你还没有达到它们呢?
你是否有开始学习机器学习,成为数据科学家或者机器学习工程师的目标但是还没有迈出一步?
– 你是否在等待拥有了某些完美的技能才能开始?
– 你是否在等待拥有了完美的条件才能开始?
– 你是否曾迈出一小步但放弃了?
你的终极目标是什么?你在和什么做斗争?