当前位置: 首页 > 编程日记 > 正文

小白入门:我是如何学好机器学习的?

640?wx_fmt=jpeg

作者 | Jae Duk Seo
译者 | Tianyu
编辑 | 夕颜
出品 | AI科技大本营(ID: rgznai100)

在我看来,机器学习是一个计算机科学和数学知识相融合的研究领域。虽然这是个很有趣的领域,但它其实没有想象中那么难。我相信只要你有足够的动力、毅力和时间,就可以成为这方面的专家。
接下来我要告诉你的是,从事机器学习方面的工作可以赚很多钱。而且在很多行业都有大量机会,所以你可以尝试不同的行业。
640?wx_fmt=png640?wx_fmt=png640?wx_fmt=png
我发现一件有趣的事,这些年机器学习的基础知识和原理并没有变(当然我很可能说的不对)。我想表达的是,目前的大多数模型都是由一些我们所熟悉的模块组成的,如全连接层、卷积层、残差层以及标准化层。当然并不是每种模型都是由这些模块组成的。也有一些特殊的例子,如空间变换网络或是注意力机制。但对于不同类型的模型来说,其构成模块或多或少都存在类似的部分。
那么这意味着什么呢?这意味着,当你学会基础知识以后,再去学习复杂的内容就会变得相当容易,而且会节省大量时间。
在此我想分享一些助我学好机器学习的秘诀和技巧。但请注意,我目前仍在学习机器学习,还有大量待研究的内容。

享受学习的过程,慢中求稳


首先我想强调的是,一定要多花时间去理解机器学习的基础知识。
说得更确切一点,要认真学习数学。
理解反向传播需要了解向量运算。概率论与统计对于学习信息论至关重要。有关优化的知识也是必须学习的,因为模型训练到最后都需要进行优化这一步骤。
我知道对于刚入门的人来说,没必要非得学习这些东西,因为有很多打包好的工具包可以自动完成这些过程。但我不相信只了解这些模块就可以让你成为这个领域的优秀研究者和工程师。
不过,我相信学习并理解了这些概念以后,很多事情会变得轻而易举。至少对我来说如此。举个例子,不借助工具包,从头搭建一个神经网络,可以让你对模型的学习过程有更加透彻的理解。

与其他研究者进行工作交流

我目前是 Ryerson Vision Lab 的一员,正在攻读硕士学位。我在实验室里结交了很多朋友。我时不时会看一眼他们的显示器,观察他们在做什么。
我经常会看到一些有意思的内容,比如图像分割结果或是一堆代码。我会问他们一些问题,比如“这段代码是关于什么的?它能用来干什么?你正在解决什么问题?”
接下来,一段对话就开启了。他们会告诉我自己正在处理的问题,我总能学到新的知识点和解决方法。这对我来说非常有意义,因为当我以后也遇到类似问题时,就不必从零开始了。同时,我也会接触到一些此前完全不了解的全新话题和论文。

找一个你感兴趣的技术理论相关的应用实例


我目前正在研究几个感兴趣的课题,例如风格迁移。我最初开始研究这些课题,大都是因为看了相关资料或 YouTube 视频。
也存在这样的情况,我开始研究一个课题仅仅是因为我想做出一些很酷的东西。在这个过程中,针对同样的问题,我常常可以找到不同的或者更好的解决方法。
当然了,我们无法保证新的方法都可以表现更好。但这是一个学习新知识的过程,要尽量做到完全理解,达到可以自如地使用新方法的程度,这个过程真的帮助我提升很多。
另一方面,我之所以如此受益于这个方法,是因为我学习到了如何进行有价值的实践。例如,当一个很酷的项目被开源了,我会把项目文件克隆到本地,然后学习其他研究者的代码。
长此以往,我通过这种方式观察其他研究者在做的事情,并从他们的代码中学习知识。不过,经常会出现有些研究者的代码让人很难读懂的情况,因为他们本身不是软件工程师。但这并不影响我观察他们在做的事情,而且我会记下不该做的事情。

结论

差不多就是这样,这些都是帮助我学习机器学习的秘诀和技巧,我希望它们也能帮得上你。
最后,我相信只要你有好奇心和热情,就一定可以研究自己感兴趣的课题,学好机器学习。如今,有很多有关深度学习的优秀线上内容。
也许这些方法对你有帮助,也可能完全没用,但没关系。我们都是不同类型的学习者,不是所有人都穿相同尺码的鞋子。但我希望其中个别方法可以帮得上你!

原文链接:

https://towardsdatascience.com/how-i-got-better-at-machine-learning-63ce0f0e81d7

(*本文为AI科技大本营编译文章,请微信联系 1092722531


精彩推荐


2019 中国大数据技术大会(BDTC)再度来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。

限量 5 折票开售,数量有限,扫码购买,先到先得!

640?wx_fmt=png

推荐阅读

640?wx_fmt=png

你点的每个“在看”,我都认真当成了AI

相关文章:

数据库服务器 之 PostgreSQL数据库的日常维护工作

来自:LinuxSir.Org摘要:为了保持所安装的 PostgreSQL 服务器平稳运行, 我们必须做一些日常性的维护工作。我们在这里讨论的这些工作都是经常重复的事情, 可以很容易地使用标准的 Unix 工具,比如cron 脚本来实现; 目录1. 综述&…

吴恩达老师深度学习视频课笔记:超参数调试、Batch正则化和程序框架

Tuning process(调试处理):神经网络的调整会涉及到许多不同超参数的设置。需要调试的重要超参数一般包括:学习率、momentum、mini-batch size、隐藏单元(hidden units)、层数、学习率衰减。一般对于你要解决的问题而言,你很难提前知道哪个参数…

AD上删除了Exchange容器,再重装时报'找不到企业组织容器

AD上删除了Exchange容器,再重装时报找不到企业组织容器。安装日志如下:[06/16/2014 04:58:15.0054] [0] **********************************************[06/16/2014 04:58:15.0054] [0] Starting Microsoft Exchange Server 2013 Service Pack 1 Setup[06/16/2014 04:58:15.0…

实战:基于OpenPose的卡通人物可视化 | CSDN博文精选

作者 | Wuzebiao2016来源 | CSDN博客前言去年打算用些现成的Pose做些展示,因为以前有在OpenPose做些识别等开发工作,所以这次我就简单在OpenPose上把骨架用动画填充上去,关于能够和人动作联系起来的动画,我找到了Unity提供的示例A…

基于Idea从零搭建一个最简单的vue项目

一、需要了解的基本知识 node.js Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境…

OpenCV中基于LBP算法的人脸检测测试代码

下面是OpenCV 3.3中基于CascadeClassifier类的LBP算法实现的人脸检测,从结果上看,不如其它开源库效果好,如libfacedetection,可参考 https://blog.csdn.net/fengbingchun/article/details/52964163 #include "funset.hpp&qu…

解决getOutputStream() has already been called for this response[java io流]

getOutputStream() has already been called for this response以上异常出现的原因和解决方法:jsp中出现此错误一般都是在jsp中使用了输出流(如输出图片验证码,文件下载等),没有妥善处理好的原因。具体的原因&#xff…

吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(1)

机器学习策略(machine learning strategy):分析机器学习问题的方法。正交化(orthogonalization):要让一个监督机器学习系统很好的工作,一般要确保四件事情,如下图:(1)、首先,你通常必须确保至少系统在训练集…

内行的AI盛会——北京智源大会带你洞见未来!(含日程及限量优惠)

报名请点击「阅读原文」北京国家会议中心2019年10月31日-11月1日www.baai.ac.cn/2019使用优惠码「BAAICSDN」专享7折优惠学生票仅69元,数量有限,先到先得世界AI看中国,中国AI看北京(长按上图或点击「阅读原文」注册参会&#xff0…

微软职位内部推荐-Sr. Dev Lead

微软近期Open的职位:JD如果你想试试这个职位,请跟我联系,我是微软的员工,可以做内部推荐。发你的中英文简历到我的邮箱:Nicholas.lu.mail(at)gmail.com转载于:https://www.cnblogs.com/DotNetNuke/p/3885283.html

吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(2)

进行误差分析:可进行人工统计或可同时并行评估几个想法。进行误差分析时,你应该找一组错误例子,可能在你的开发集里或者在你的测试集里,观察错误标记的例子,看看假阳性(false positives)和假阴性(false negatives)&…

3D机器人视觉在仓储物流和工业自动化领域的应用 | AI ProCon 2019

整理 | 夕颜出品 | AI科技大本营(ID:rgznai100)随着深度学习和机器学习的发展,机器人已经走出实验室,越来越多地地应用于各行各业,其中,仓储物流和工业化领域就有许多适合机器人作业的场景环境。人眼的一大…

【转载】gdi+ 内存泄漏

【转载】http://issf.blog.163.com/blog/static/1941290822009111894413472/ 最近用GDI实现了几个自定义控件,但是发现存在内存泄露问题 BOOL CGdiplusBugDlg::OnEraseBkgnd(CDC* pDC) {Image* pImage Image::FromFile(L"E:\\bac.bmp");Graphics g(pDC-&…

ubuntu fctix

感觉ubuntu自在大ibus输入法用起来实在是灰常蛋痛啊,于是乎就换了fcitx输入法(很多人推荐嘛)在安装之前先说一下fcitx输入法吧。1.添加fcitx源(官方的源是旧版,不推荐使用)fcitx的ppa源,内含fcitx和fcitx-config,使用命令sudo ged…

深度学习中的优化简介

深度学习算法在许多情况下都涉及到优化。1. 学习和纯优化有什么不同在大多数机器学习问题中,我们关注某些性能度量P,其定义于测试集上并且可能是不可解的。因此,我们只是间接地优化P。我们系统通过降低代价函数J(θ)来提高P。这一点与纯优化不…

飞凌OK6410开发板移植u-boot官方最新版u-boot-2012.10.tar.bz2

Part0 准备知识 0.1 关键参数说明 0.1.1 开发板说明 OK6410是飞凌公司发布的一款开发板,当前有2个版本,OK6410-A和OK6410-B,我当前使用的是前者;前者也经历过升级,所以有128M ram的和较新的256内存的版本,n…

参数量110亿,附赠750GB数据集,Google提NLP预训练模型T5

整理 | Just,夕颜出品 | AI科技大本营(ID:rgznai100)近日,Google 在最新一篇共有 53 页的论文《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》中,提出了一个最新的预训练模型…

Linux之bash编程基本语法

在Linux运维工作中,我们为了提高工作效率通常会用bash编写脚本来完成某工作。今天就来为大家介绍bash的一些常见的基本语法。在讲解bash语法之前首先介绍一下bash。bash环境主要是由解释器来完成的。【解释器】:解释命令:词法分析、语法分析、…

深度学习中的卷积网络简介

卷积网络(convolutional network)也叫做卷积神经网络(convolutional neural network, CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。例如时间序列数据(可以认为是在时间轴上有规律地采样形成的一维网格)和图像数据(可以看作是二维的像素网格)。卷积网…

Windows下搭建PHP开发环境

PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了&#xff0c…

大数据时代下的新生态、新洞察、新趋势 | 神策 2019 数据驱动大会

10 月 22 日,以“矩•变”为主题的神策 2019 数据驱动大会在北京维景国际大酒店顺利举行,来自全球大数据各大行业的领袖人物聚首北京,融合国际前沿技术与行业实践,深入探讨大数据时代下的新生态、新洞察、新趋势。 大会主题“矩•…

ckedit 文本编辑器

Ckeditor是一个功能非常强大的富文本编辑器,博客园有使用此编辑器,其功能完全可以与MS的Word媲美。 用起来也非常方便。下面是本人总结的安装步骤: 第一步,从http://ckeditor.com/download 下载ckeditor文件包 第二步,…

为什么我害怕数据结构学得好的程序员?

我害怕数据结构学得好的程序员,一跟他们讨论技术,我就感觉自己不是程序员,仅仅是在搬砖维持生活。我所拥有的编程技巧是什么?不就是每个程序员都会的,对数据库的增删改查吗?每一个初入职场的程序员都会。但…

Go语言基础介绍

Go是一个开源的编程语言。Go语言被设计成一门应用于搭载Web服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。目前,Go最新发布版本为1.10.Go语言可以运行在Linux、FreeBSD、Mac OS X和Windows系统上。1. 结构:Go语言的基础组成有以…

强制退出WinForm程序之Application.Exit和Environment.Eixt

这几天在做一个把大量Infopath生成的XML数据,进行处理的程序,我用了MDI子窗体,每个窗体包含了各自的功能,如,遍历目录及其子目录检查文件类型并自动生成Sql语句并入库、对Infopath数据的自动检查、对数据中的某些域的替…

Oracle Study之--Oracle等待事件(3)

Oracle Study之--Oracle等待事件(3)Db file parallel read这是一个很容易引起误导的等待事件,实际上这个等待事件和并行操作(比如并行查询,并行DML)没有关系。 这个事件发生在数据库恢复的时候,…

Windows下通过Python 3.x的ctypes调用C接口

在Python中可以通过ctypes来调用动态库中的C接口,具体操作过程如下:1. 使用vs2013创建一个加、减、乘、除的动态库,并对外提供C接口,code内容如下:math_operations.hpp: #ifndef TEST_DLL_1_MATH_OPERATIONS_HPP_ #def…

如何在3天内拿下DigSci大赛的亚军?| DigSci科学数据挖掘大赛

作者 | 朱翔宇(DOTA)来源 | AI算法之心(AIHeartForYou)【导读】本文将基于作者在中国计算机大会方案宣讲PPT中的内容,给出此次比赛的完整方案,主要从赛题理解、建模核心思路、算法核心思想等角度阐述,同时对相关细节进…

如何获得Oracle系统性能统计? Oracle大型数据库系统在AIXUNIX上的实战详解 集中讨论 14...

累计读者的来信中,有若干位同仁谈到Oracle的性能问题。什么叫性能慢?怎么量化性能统计?问题我不一一列出了,下面的文字大部分来自Oracle 英文文档,我认为描述的极为精确,比我说的强。 如果有效地诊断性能问…

百度搜索查询命令——组合型

在百度上搜索一下,就会出现一堆关于查询搜索的命令,比如:site,domain,双引号,减号等等。今日,我简单总结一点组合型命令,希望对大家有帮助。 1、domain命令、减号-和的inurl组合 公式…