翻译校对|Mirra 吴蕾寒小阳 ◆◆ ◆ 这是什么 作者受 Google Interview University 启发而写了这个教程。 作为一名移动开发人员,这是我做的向机器学习工程师转型的学习计划,需要花费几个月时间去完成。我的主要目的是要找到合适的学习方法,以及适合于初学者入门的的数学知识摘要和一些实践类的指导。这并非常规途径,而是自上而下的,专注于结果的方法,专为软件工程师而设计的。 如果你有任何建议,请不吝指出,使之更趋完善。 先花几分钟看看目录,再继续往下读: 因本文中有大量的课程链接,不方便呈现,因此,有兴趣者可以戳下方阅读原文,根据原文查找相关内容,获取学习计划checklist ◆ ◆ ◆ 目录 · 这是什么? · 为什么要用此方法? · 如何运用? · 跟我来 · 不要觉得自己不够聪明 · 关于视频资源 · 预备知识 · 每日计划 · 激励 · 机器学习概述 · 精通机器学习 · 机器学习的乐趣 · 机器学习:深度非技术指南 · 典故和经验 · 初学者丛书 · 实用丛书 · Kaggle知识竞赛 · 视频 · 慕课 · 成为Open Source贡献者 · 社区 · 我所仰慕的公司 ◆ ◆ ◆ 为什么要用此方法? 我准备按照这个学习计划,为我未来的工作去做些准备。从2011年开始,我就一直在做移动应用开发(Adroid/iOS/Blackberry)。我大学学的是软件工程专业,并非计算机科学,学过一些基础课程:微积分,线性代数,离散数学,概率和统计等。我对机器学习的兴趣在以下方面: 没有计算机科学硕士或博士的学位,我能在机器学习领域学习并且找到一份工作么? 可以的,不过还是比真正进入到这个领域后的难度要高。 作为一个自学过机器学习的课程软件工程师,却没有在工作中实践过,如何找到一份机器学习相关的工作呢? 我正在为我的团队寻找机器学习专家,不过你的慕课学习没法给你送去一份工作(后面有一些好消息)。事实上,很多机器学习专业的硕士也找不到相关工作,因为他们对此没有深入理解,无法帮我解决问题。 找一份机器学习的工作,究竟需要什么技能? 首先,你必须拥有良好的计算机科学/数学背景。机器学习是个很先进的学科,所以大多数教科书都是基于你已经有了这方面的基础而编写的。其次,机器学习是个通用的课程,里面有细分了很多不同方向的专业,需要有专业技术知识。你可以去浏览一下MS program的机器学习方面课程和教科书。 统计,概率,分布式计算。 我感觉这对我有难度。 就我所知,机器学习有两方面: · 机器学习实践:主要是数据库查询,数据清理,j2直播,写一些脚本来转换数据,把算法和library并起来,通过自定义代码,从定义不清晰的很难的问题里面最终挤出一些可靠的答案。这就是混乱的实际情况。 · 机器学习理论:这是关于理想状态下的研究,也就是说研究数学的,抽象的,理想情况下的,有限制的,美好的,可能的情况。这是完全排除了混乱的实际情况之后,非常干净的理想状态。 我觉得,关于以实用为导向的最好学习方法,莫过于“实践-学习-实践”,就是说,学生在项目中遇到了实际问题,先熟悉一下这个领域的传统方法。在练习了一段时间有了基本经验后,他们可以看书学习这方面的理论,来指导未来的进阶练习,提升解决实际问题的能力。学习理论知识能够进一步提高对于基础经验的理解,使他们更快得掌握更先进的技能。 这对我来说是一个长期计划,会需要几年时间去完成。如果你对这方面已经比较熟悉了,那会大大缩减所需时间。 ◆ ◆ ◆ 如何运用 下面都是轮廓性的描述,你要从头到尾逐项进行。 我喜欢用Github的Markdown来写,包括任务列表来检查进度。 创建一个分支,检查好了就打个叉。 ◆ ◆ ◆ 跟我来 (责任编辑:本港台直播) |