2016 机器学习之路:一年从无到有掌握机器学习

简介:
第一步:Hacker News 和 Udactiy


Borgen 对机器学习的兴趣始于 2014 年。跟很多人一样,他最初是看到 Hacker News 的帖子,单纯觉得教计算机学东西很酷。那时候他还只是个业余的编码爱好者,连程序员都谈不上。


于是,Borgen 开始了他的机器学习之路。首先,到 Uadcity 看监督学习的视频,然后阅读所有能找到的、跟机器学习有关的读物。




Borgen 总结说,“这给了我一点概念上的理解,不过没有实践技巧。”


同时,他也十分坦承,Udacity 的 MOOC 他并没有上完——只要是 MOOC,他几乎都没有坚持上完过。这一点,无论怎么说,至少让篇文章的置信度倍增。


第二步:挂掉 Coursera 机器学习课


2015 年初,Borgen 为了成为正式的开发人员,参加了 Founders and Coders(FAC)在伦敦的训练营。在 FAC,他和同学一起,每周二晚上会看 Coursera 上机器学习课程的视频。



不用说,大名鼎鼎的吴恩达的机器学习课。Borgen 表示课很赞,学了很多,然而他个人觉得这门课不适合新手。至少他自己,就需要反复看视频才能掌握里面讲的概念——当然,这是 Borgen 的个人感受。不过,Borgen 在 FAC 学的同学也一个个掉队,最终他自己也挂掉了。


Borgen 总结说,他当时应该学一门用机器学习库编代码的课,而不是从零开始建算法,至少应该用他已经知道的编程语言写算法。


一句话,“对新手来说,一边学语言一遍写机器学习算法代码难度是很高的”。这句话有一定的参考价值。


Borgen 的建议是,可以选择 Udacity 的《机器学习入门》(Intro to Machine Learning),更容易入门,上来就能实践,在提升经验值的过程中,学习的趣味性也会增多。


【经验】从简单的实践学起,之后再学困难的、偏理论的东西


第三步:一周学会机器学习


Borgen 在 FAC 做的最后一件事情,就是“一周学会机器学习”。他的目标是,一周以后能够实用机器学习解决实际问题,而他也成功做到了这一点。


具体的经验 Borgen 写在了另一篇文章里。有兴趣进一步了解,可以访问:https://medium.com/learning-new-stuff/machine-learning-in-a-week-a0da25d59850#.elu1hfaak


简单说,在一周的时间里,Borgen 做了以下几件事情:


  • 学会了 Scikit Learn

  • 在真实世界数据库跑了一次机器学习

  • 从零(用 Python )写了一个线性回归算法

  • 做了一点儿 NLP


【经验】腾出一周时间来全身心地沉浸到机器学习里面去,效果惊人。


第四步:挂掉神经网络


成功在一周的时间里拿下机器学习给了 Borgen 自信。因此,在他结束 FAC 回到挪威时,他计划进行第二次挑战——一周内学会神经网络。


然而,事实是残酷的。离开 FAC 那种 沉浸式学习环境后,要一天写 10 小时的代码可不容易。


【教训】找一个合适的环境做这种事情。


不过,Borgen 到底还是学上了神经网络。去年 7 月份的时候,他写完了一个网络的代码。虽然很粗糙,但完成比完美重要,对吧?




下半年,Borgen 换了一份新工作,这在某种程度上影响了他的机器学习学习进展。这一阶段他主要做的是实现神经网络,他把大学时学的线性代数重新看了一遍。年底时,Borgen 写了篇总结:


《学习如何编写神经网络代码》


也是在这篇文章里,Borgen 记录了他从零开始写代码的过程。这篇文章在 Medium 上点赞的数量接近 600。


第四步:在 Kaggle 竞赛中实践


2015 年圣诞节,Borgen 参加了 Kaggle 竞赛。当然,实践的效果是显著的,他得到了通过算法和数据实际迭代实验的经验,也学会了在做机器学习项目时要相信自己的逻辑,“如果调参或特征工程从逻辑上看有用,那么一般都会有用”。




第五步:在工作中建立学习的习惯


2016 年初,Borgen 想将他在去年年底获得的动力持续到工作中,便询问经理是否能在上班时学新的东西——经理答应了。虽然 Borgen 在文中没有多写,实际上,从这个经历中也能学到东西:


勇于提出需求,它们才有机会得到满足——当然,你的需求需要合理。


于是,Borgen 就在上班时也能学机器学习啦(拿钱做想做的事情!)。在 2016 年积累了相关经验以后,Borgen 的第一站是 Uadcity 的深度学习课程。然而,事实证明,对于现在的他来说,Udacity 的这门课已经太浅。不过,课后的 Ipython Notebook 作业却太难。Debug 浇灭了他的大部分兴趣。又一次地,一门 MOOC 被他放弃。



但随后,Borgen 发现了斯坦福的 CS224D,这门课让他获益匪浅。Borgen 总结斯坦福 CS224D 的好处是:


  • 尽管难,但做题从来没有 debug;

  • 课程提供答案,便于加深理解。


尽管 Borgen 仍然没有把这门课上完,但他推荐有兴趣的人去学。




另外,Borgen 在学这门课的过程中,为了完成题目,请了一位家教,时薪 40 美元,这位家教帮他发现了很多问题。因此,他得到了这么一条经验。


【经验】花 50 美元/时的金额聘请机器学习家教,绝对值得。(如果你有机器学习经验,你可以获得时薪 50 美元的打工机会。)


学以致用,提高销售额


Borgen 在工作中实践机器学习,他搭建了一个系统,节省了公司销售部门同事的很多时间。相关代码:https://github.com/xeneta/LeadQualifier


以上就是 Borgen 在实际工作中一年掌握机器学习的历程。不管带不带感,至少十分真实。Borgen 在文章末尾写道:“如果我做得到,你也做得到。”


尤其是工作中的程序员,你不想试试吗?


文章转自新智元公众号,原文链接

相关文章
|
JSON fastjson Java
FastJson、JackJson 以及 Gson 的区别
FastJson、JackJson 以及 Gson 是 Java 生态圈中三种常用的 Json 解析器,它们均可将 Java 对象序列化为 Json 格式的字符串,也可将 Json 字符串反序列化为 Java 对象。下面我们讨论一下三者在序列化和反序列化操作中的一些区别。
1596 0
|
10月前
|
分布式计算 前端开发 JavaScript
技术的金字塔:我们如何对现代技术进行分类?
技术的金字塔:我们如何对现代技术进行分类?
596 109
|
11月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
643 95
|
8月前
|
人工智能 安全 算法
别再刷短视频了!你的赛博替身正在工厂拧螺丝:揭秘 AI Agent 搭建师
本文揭秘AI Agent搭建师这一新兴职业:不教人用AI,而是教人“克隆”24小时在线、永不摸鱼的数字分身。涵盖认知架构、提示词工程、RAG增强、自动化流、工具调用、自主循环、记忆持久化等12大核心能力,揭示如何将AI从聊天机器人升级为可落地的“数字合伙人”。
505 7
|
8月前
|
数据采集 人工智能 自然语言处理
手把手教你定制专属AI:大模型微调完全指南
微调是让通用大模型适应特定领域的关键步骤,如同为通才提供专业培训。它以低成本、高效率提升模型在医疗、法律、客服等场景的专业性,通过LoRA等技术实现快速迭代。数据质量与评估并重,小团队也能打造专属AI专家。
1033 3
|
9月前
|
存储 人工智能 BI
玄晶引擎AI手机双轨实践:基于阿里云生态的B/C端技术复用与落地
玄晶引擎依托阿里云,构建“云-边-端”协同架构,通过PAI、RPA等服务实现B端企业应用与C端个人助手的技术复用,形成“一套底座、双轨落地”的AI手机新范式,助力开发者高效降本、快速规模化。
711 12
|
9月前
|
传感器 运维 算法
数字孪生项目的开发费用
数字孪生项目费用从几十万到数千万不等,核心成本在于三维建模精度与数据打通深度。基础展示型侧重可视化,工业级需系统集成与算法支持,城市级则涉及大规模扫描、仿真与定制引擎开发。建模等级(LOD)、数据获取难度和渲染方式是影响价格三大变量。预算50万内可选轻量化方案,200万以上可实现生产联动与智能决策。#数字孪生 #webgl开发 #软件外包公司
|
8月前
|
SQL 运维 监控
上线前检查清单模板及工具指南:告别手忙脚乱,实现稳定发布
上线前检查清单是避免线上事故的关键。本文提供可落地的四阶段检查模板,涵盖代码、配置、部署与协作,并通过工具化、复盘机制让清单真正生效,帮助团队建立质量护城河,将严谨流程转化为开发习惯。
|
8月前
|
人工智能 运维 监控
AI领域优质知识类博主深度推荐:技术、商业与伦理的跨界布道者
2025年AI浪潮中,十位知识博主脱颖而出,覆盖技术、工程、商业与伦理四大维度。他们以学术深度与实战经验,打通从理论到落地的闭环,构建AI时代的学习生态,成为从业者的“认知加速器”。
1422 0
|
9月前
|
人工智能 自然语言处理 监控
主动触达 vs 被动响应:出海客服服务模式效果对比
本文从服务模式定义、技术实现、效果对比、实战部署四个维度,系统解析两种模式的差异与选择策略。