作者:莫凡

导读:机器学习如何入门?那些还在不断叩击着机器学习之门,迟迟未入门的同学应该怎么做?今天小编带大家听听木羊同学怎么说...

作者:木羊同学

来源:华章计算机(hzbook_jsj)

大家好,我是木羊同学,4月1日我受邀参加了开源中国的高手问答栏目。这次的主题是机器学习入门,栏目的提问质量很高,有好多问题着实搔着了痒处。

这次的提问都很有意思,串起来可以编一套“机器学习入门的常见问题集”,这里我浓缩成三个很有代表性的问题,推荐给一直在机器学习的门外徘徊,还没进去的同学。

第一个问题是起点:为什么神经网络能模拟人脑?

回想一下,当你终于决定要开始学机器学习之前,究竟是什么触动了你的心?触动我的心的,就是上面这个问题。我的故事充满了中二的气息,《超能特战队》是一部人工智能题材的科幻动画,我特别喜欢里面超暖的大白(●—●),而且用的是技术宅风格,我想实现它。

当然,当时之所以会有这个大胆的想法,主要是因为无知。我选择用神经网络。神经网络,有的书上称为人工神经网络,还有什么会比选择使用名为“人工神经网络”的算法来实现人工智能更自然而然的事呢?更何况当时我还知道,神经网络最近推出了一个高清重制版,名叫深度学习很多人甚至开始预言深度学习会取代其他机器学习算法,看起来前途无量。

不过很快,我的问题就变成了“神经网络能不能模拟人脑”。我以为这个问题很简单,三天就能找到答案。可是,没有一本书能作出肯定或否定的回答,当时也没有高手问答这么好的栏目让我提问。我没想到,这样一个看似简单的谜底,竟然需要花费我未来数年的时光。

“很遗憾,神经网络并不能模拟人脑”,我斟酌许久,开始一个字一个字地针对今天的问题,也是我当年的问题做出回答。如今,神经网络,或者叫深度学习,已然大红大紫,然而,这套名叫“神经网络”的算法只做了非常有限的仿生,非要和人的神经网络相比较的话,我认为是平行线的两条边。人的神经网络没法求导,而机器学习的神经网络本质是拟合曲线,只不过随着神经网络深度的加深,模型的拟合能力也随之加强。再复杂的曲线,只要有足够的深度和足够的数据进行训练,神经网络就能表达出来,这也正是深度学习中“深度”二字的由来。

我们正处在一个蓬勃发展的社会,“学机器学习能找一份怎样的工作”,这自然是每一个务实的人所关心的问题。只是我想,心怀当年那份求知的渴望,也许才能更容易地在各种问题堆叠的知识体系中坚持下来。

第二个问题是困扰:机器学习的数学究竟该怎么学,为什么花了很多时间去学,却仍然感觉啥也没学会?

机器学习很特别,它既是算法,又是数学,但无论你把它当作一门算法来学,还是当作一门数学来学,都会有迷路的感觉。今天有人很形象地形容了这种感觉:一直在学,也学了很多,可是,到头来不是还没搞懂原理,就是搞懂了原理看不懂公式,要么就是看懂了公式,却还是不知道怎样写成算法运行。

“机器学习要先学好数学”,这应该是大家都听过的“好心”劝告。最终,大家都在困扰中问出那个问题:学机器学习,究竟要不要手推公式?每一个初学者想必都对此很纠结。机器学习的教材也很纠结,所以会走两个极端:一种是偏重编程,既然大家都看不懂数学,那干脆统统删掉,只留代码。可是,这种教材读完之后,免不了会产生知其然不知其所以然的不安感。想要系统全面地学?那好,另一种偏重数学的教材,翻开一看,里面全是意义不明的数学公式符号,还有各种拗口的术语名词,让人读得昏头转向,很快迷失方向。

该怎么学才好呢?

我在《机器学习算法的数学原理与Python实现》中提出了一个概念,叫“数学语”。名字怪怪的,不过意思很好理解。学机器学习的数学,不该是自古华山一条路。不同的学习动机,应该对应不同的学习路径。很多人,甚至可能是大多数的人,真正关心的不是在数学上怎么证明收敛,而是这些数学符号到底在说什么,想要知道的是翻译:把这门希腊符号写成数学语,翻译成看完了能够说一声“原来如此”的大白话,进而了解这款模型为什么能做到这些,又会有怎样的不足之处。

第三个问题是工具:机器学习的算法在现实中该怎么使用呢?

编程需要确定编程语言,首先推荐的是Python。早前做机器学习,是Python和R二选一,不过Python的资源明显丰富得多,特别是近年在深度学习方面有着无法比拟的优势,不是唯一的选择,也是最佳的选择。Python还有一个优点,就是语法简单,有了其他编程语言的基础,很快就能转过来。

确定了语言,接下来大家自然就会产生一个朴素的愿望:有没有那么一款工具,能够直接将那些个乱糟糟的数学公式一下转成Python代码?毕竟数学符号和Python代码长得太不像了,不知道该怎样把书上这些数学公式运行起来。

可惜的是,现在还没有这样便利的工具。不过,Python有很多专门的库,能够明显降低我们使用机器学习算法的门槛。常用的有三款,第一款是numpy,机器学习用到的各种矩阵运算里面都有,只要了解了式子的意思,就能用numpy照猫画虎。第二款是Scikit-Learn,对常用的机器学习算法做了非常好的封装,使用很简单,就是调用API。第三款是Pandas,机器学习的任务通常需要处理数据,而Pandas是首选的利器。

为机器学习爱好者推荐下我的书:《机器学习算法的数学解析与Python实现》

点击上方链接了解详情并购买

推荐语:入门机器学习的第一本书。从生活案例中理解算法,发现算法的乐趣,再把算法应用到机器学习中,让你零基础掌握算法精髓,快速进入人工智能开发领域。

欢迎大家加入机器学习爱好者群来讨论交流:

本群适合:想要学习机器学习的学生、程序员、研究人员或者爱好者,以及想要知道机器学习是什么、为什么和怎么用的所有读者

作者简介

莫凡——新技术深度爱好者,曾经从事信息安全前沿技术跟踪研究和数据分析工作,在各类信息安全类技术期刊杂志发表文章五十余篇,现转为投身高端知识“白菜化”项目,希望能让将更多听起来高大上的名词沾一沾人间烟火,成为日常中生活真正用得上的知识,著有《机器学习算法的数学解析与Python实现》。个人公众号“睡前机器学习”,个人知乎号“木羊”。

本次联合【机械工业出版社华章公司】为大家带来5本正版新书。快来发表你的评论,11月9日23点前,评论20字以上,点赞数前6名的读者将获赠正版图书1本!!!

(备注:防止刷量,最后一小时增量超过100的属于无效留言,会有截图作证)

当然,读者也可以点击下方链接购买。

此外,抽出3位幸运观众,在本公众号后台回复“莫凡”参与抽奖,11月9日23点开奖!中奖者每人1本。

机器学习初学者

▲扫码回复「莫凡」抽奖

【收藏】机器学习入门的常见问题集(文末送书)相关推荐

  1. 文末送书 | 数据分析简单入门

    这是小小本周的最后一篇,本周重点!文末送书, 我是小小,下面是本期文章,为您奉上! 前言 本实例将会以一个完整的例子用来阐述一个较为简单的Python数据分析.其中Python基础部分不再讲解 构建数 ...

  2. 统计学5大基本概念,建议收藏!(文末送书)

    转自:爱数据LoveD 大家好,我是小z,也可以叫我阿粥~ 今天给大家分享一波统计学重要概念,顺便前排提示文末送书~ 从高的角度来看,统计学是一种利用数学理论来进行数据分析的技术.象柱状图这种基本的可 ...

  3. 程序员常用工具集合(建议收藏)--文末送书

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 面试题一:跳槽涨薪季面试题之java基础(一) 面试题二:跳槽涨薪季面试题之java8特性(二)--文末送书 面试题三:跳槽涨薪季面试题之 ...

  4. 如何让Join跑的更快?(文末送书)

    JOIN 一直是数据库性能优化的老大难问题,本来挺快的查询,一旦涉及了几个 JOIN,性能就会陡降.而且,参与 JOIN 的表越大越多,性能就越难提上来. 其实,让 JOIN 跑得快的关键是要对 JO ...

  5. 性能无敌的HikariCP数据库连接池实战(文末送书)

    导读:数据库连接池在Java数据库相关中间件产品群中,应该算是底层最基础的一类产品,作为企业应用开发必不可少的组件,无数天才们为我们贡献了一个又一个的优秀产品,它们有的随时代发展,功成身退,有的则还在 ...

  6. 深度学习与计算机视觉群 | 文末送书

    深度学习与计算机视觉③群已组建,上次开放进群,没来得及进的小伙伴,抓紧啦 .之后,我们会在交流群开展"你挑我送"为主题的送书活动哟~ 欢迎加入!!! 在过去的750天里,深度学习与 ...

  7. 【文末送书】豆瓣9.3,这部神作终于出新版了!

    不久前,自称"业余up主"的AI大神李沐开源了一个剪辑神器 ,再圈一波技术粉! 图1:该项目在github上的页面展示 事实上,这位up主可并不业余,反而是妥妥的AI界卓越先驱.对 ...

  8. 【iToday】涵盖100+技术网站的一站式资讯平台 | 文末送书

    里面包含了上百个IT网站,欢迎大家访问:http://itoday.top/#/ iToday,打开信息的新时代.作为一家创新的IT数字媒体平台,iToday致力于为用户提供最新.最全面的IT资讯和内 ...

  9. 文末送书 | 当Python遇上高考,会发生什么?

    (文末送书哦!) 延期一个月之后,1071万考生终于熬出头了. 这届高考太难了,不仅考学生,更是考验疫情的防控能力. 但是说到难,2018年浙江省教育厅的一个决定,让不少人感叹真难! 原来早在2017 ...

最新文章

  1. 用matlab怎么画视电阻率拟断面图,在MATLAB平台上实现可控源音频大地电磁反演数据三维可视化显示...
  2. 红牛开发板模拟器简要说明_V1.0
  3. 深度探索Hyperledger技术与应用之超级账本初体验(附部署代码)
  4. Vue监控器watch的全面解析
  5. 图论最短距离(Shortest Path)算法动画演示-Dijkstra(迪杰斯特拉) 和 Floyd(弗洛伊德)
  6. 轻松了解“Web应用防火墙”
  7. linux语言换成英语,把Linux的默认语言改为英语
  8. 64位Ubuntu 12.04下搭建嵌入式Qt(4.8.6)、QtCreator、qvfb过程全记录
  9. linux下解压.tar.bz2文件
  10. Java 进程间文件锁FileLock详解
  11. C#用yield模仿js的带 index的foreach
  12. 代码整洁之道读书笔记----第四章---注释--第一节-什么是好注释如何写好注释
  13. easyui增删改查全部代码
  14. 评卷系统-答题卡制作参考网站
  15. 维修技术论坛万能预装系统 v5.0
  16. python--手机步数----微信运动--支付宝运动等步数刷新
  17. 企业如何搭建并运营好积分商城?
  18. 水龙吟·为韩南涧尚书寿甲辰岁
  19. 央企招聘:中国航天科工集团2023校园招聘
  20. 学习社会工程学需要什么前置知识

热门文章

  1. spring -boot定时任务 quartz 基于 MethodInvokingJobDetailFactoryBean 实现
  2. 尚学堂Spring视频教程(二):Spring控制反转
  3. logback与log4j比较
  4. 利用zookeeper实现发布订阅模式
  5. poj1236-Tarjan算法
  6. Apache CXF实现Web Service(3)——Tomcat容器和不借助Spring的普通Servlet实现JAX-RS(RESTful) web service...
  7. 第十八课 色彩样式与滤镜
  8. Spark1.3.0安装
  9. javascript嵌套的对象被修改时log不符合的问题
  10. 临床重症医学数据库MIMIC、eICU、PIC介绍