机器学习入门阶段程序员易犯的5个错误

本文由 伯乐在线 - toolate 翻译自 machine learning mastery。欢迎加入 技术翻译小组。转载请参见文章末尾处的要求。

怎样进入机器学习领域没有定式。我们的学习方式都有些许不同,学习的目标也因人而异。

但一个共同的目标就是要能尽快上手。如果这也是你的目标,那么这篇文章为你列举了程序员们在通往机器学习高手道路上常见的五种错误。

 

1.将机器学习看得高不可攀

机器学习不过是另一堆技术的集合,你可以用它来解决复杂问题。这是一个飞速发展的领域,因此,机器学习的学术交流一般出现在学术期刊及研究生的课本里,让它看起来高不可攀又难于理解。

要想高效掌握机器学习,我们需要转变观念,从技术转到方法,由精确变为“足够好”,这也同样适用于程序员感兴趣的其它复杂技术。

2.编写机器学习程序代码

由编码开始入门机器学习会很困难,因为你需要解决的问题从一个变成两个:了解一项技术以便你实现它以及对于给定问题如何应用该项技术。一次解决一个问题,并利用机器学习、统计分析环境以及算法库来学习如何将一项技术应用于某一问题,这样就会容易很多。这能让你对于若干算法进行相对快速的抽查和调整,而无需花上大量时间阅读研究论文中含糊的算法描述再将其编码。

实现一个算法可以作为一个单独的项目晚些再完成,比如作为一个练习或是等到原型系统需要投入运行时。一时只学一事,我建议从有GUI的机器学习框架开始入门,不论你是不是程序员。

3.手动搞定工作

实用机器学习包括问题定义、数据准备、结果表达等步骤,它们与算法的测试和调整都能够并应该实现自动化。

在现代软件开发的编译、测试和部署中,自动化操作占有重要地位。对数据准备、算法测试调试、结果的表达编写自动脚本可以在准确性和改进速度方面获得巨大的优势。在专业软件开发课程中学习的知识要牢记于心并不断应用。

可能很多学习机器学习的程序员看的书、上的课对于这一领域的应用本质关注不多,导致很多人入门阶段没有使用自动化手段。实际上,将自动化技术应用到实用机器学习的方方面面会是程序员的巨大机遇。

4.对常见问题重复求解

你正要实现的算法,或是与你正在求解的问题相似的问题,可能早有千百人解决了,就利用他们的经验吧。

解决机器学习问题的知识非常多,当然它们可能都在书本或学术出版物中,但你可以访问它们。做好你的功课,在谷歌谷歌图书谷歌学术上搜索,还可以去机器学习的网络社区。

如果你正要实现一个算法:

  • 必须实现它吗?可不可以在某个库或工具中找到开源的实现复用呢?
  • 你的实现必须从头做起吗?可不可以对现有的开源实现进行代码审查,从中学习或是移植呢?
  • 你必须对标准算法描述编码吗?在其它书论文或是帖子中没有别的算法描述可供代码审查及借鉴呢?

如果你正要求解某个问题:

  • 你必须测试针对这个问题的所有算法吗?这一问题或是同一大类相似问题有没有研究成果显示一些算法或算法类表现良好可供利用?
  • 你必须自己搜集数据吗?有没有公开的数据集或是API你可以直接使用或是作为你问题的替代,以快速弄清哪种方法可以有良好表现?
  • 你必须优化算法的参数吗?在对算法的研究和论文中有没有可用的启发式方法来配置算法呢?

如果你在编程函数库或是特定某一数据结构方面遇到问题,你会选择什么策略,在机器学习领域就用相同的策略吧。参与网络社区并寻求可供利用的资源,可以加速你的学习和项目开发进程。入门阶段可以考虑论坛和问答网站,之后可以与学者和专家联系。

5.忽视数学

起步阶段你并不需要数学理论,但是数学在机器学习中地位重要。因为它能提供最有效、最清晰的方法描述问题及系统的行为。

忽略算法中的数学方法会导致诸多问题,如对某一方法理解有限或是对算法编码时受到限制。举个例子,很多机器学习算法的核心优化是增量式的演进。如果你能明白优化的本质(凸函数),你就能利用这些知识来使用高效的优化算法。

将算法的数学方法内化于心过程缓慢,但你的功力却也随之提升。特别是如果你要从零开始实现高级算法,包括算法的内部优化,多多花时间从数学角度来理解算法吧。

总结

你从本帖学到了程序员在机器学习的入门阶段容易犯的5个错误。5个教训是:

  • 别把机器学习看得高不可攀
  • 别写机器学习的代码
  • 别手动搞定一切
  • 别对常见问题重复求解
  • 别忽视数学

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决: Vue 项目本地运行 run 与服务器上 build 样式不一致,build 后样式不生效

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 PS:本人遇到这个问题是用文中最后一句话解决:" 在组件的样式中记得添加 scoped "。 在Vue项目开发过程…

【付出总有回报】广州广汕公路科目三路考通过!小结供大家参考

首先,我的路考小结只供大家参考,大家觉得能用就当提个醒,不能用就权当顶贴积分捧人场啦哈哈祝各位都能顺利过关!考前心里和技术准备:我是13年6月底才考完科目二“五项必考”。7月8日才考完长途,可这时候我的…

解决:vue 用 axios 发送请求,每次都会发送两次请求

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 我的解决方法是后端加一个过滤器: package gentle.filter;import javax.servlet.*; import javax.servlet.annotation.WebF…

广州科目三考试 不得不看的十条提醒(图)

导读: 考试科目三时考试常会有点小紧张。经常会有考生因为紧张犯了些小错误而被pass掉。如何来应对呢?首先是放松心态,这点其实大家都明白,只是做不到。有人一到考试的时候就紧张,完全思维混乱,动作僵硬。建…

HDU 6706 huntian oy

题意 求以下式子的值&#xff0c;T组数据各个字母满足1 ≤ n , a , b ≤109 &#xff0c;a,b互质 思路&#xff1a; 卡常毒瘤题&#xff0c;出题人时限卡的非常紧&#xff0c;考场上推出来又T又WA 1 #include<bits/stdc.h>2 using namespace std;3 typedef long long ll;…

linux 查看空间(内存、磁盘、文件目录、分区)的几个命令

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. free free命令用于显示内存状态。 free指令会显示内存的使用情况&#xff0c;包括实体内存&#xff0c;虚拟的交换文件内存&#x…

Ubuntu安装LNMP

安装Nginx使用 apt-get install nginx 就能自动安装 Nginx。 为了确保获得最新的Nginx&#xff0c;可以先使用 apt-get update 命令更新源列表。 安装好之后&#xff0c;使用 dpkg -S nginx 命令来搜索 nginx相关文件。 可以从命令显示结果看出 Nginx默认的安装位置是/etc/ngin…

广州学车科目三路考操作步骤要领

广州学车&#xff0c;科目三路考操作步骤是关键&#xff0c;许多朋友明明会开车&#xff0c;却因为一些步骤上的小疏忽而不得到不补考&#xff0c;今天总结出这个广州学车科目三路考操作步骤要领&#xff0c;希望对大家有帮助&#xff1a; 广州学车&#xff0c;科目三路考操作步…

如何和何时使用 CSS 的权重设置 !important (建议:永不使用!)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 特别声明&#xff1a;此篇文章由David根据Louis Lazaris的英文文章原名《!important CSS Declarations: How and When to Use Them》进行…

独立组件开发打包

组件单独打包 先在src下面新建hymenucsg.js文件 然后在build下的webpack.base.conf.dist.js里面 设置入口文件hymenucsg: ./src/hymenucsg.js,//csg 最后运行打包命令&#xff1a;npm run dist:dev 之后会在dist下面生成组件的js和css文件 使用&#xff1a; html中引入js和css …

广州科目三电子考需注意哪些问题?

广州驾考科目三从4月1日起开始试行电子评判与人工评判相结合的新制度&#xff0c;即电子路考&#xff0c;多数学员对新制度表示不适应&#xff0c;那么&#xff0c;科目三电子路考需要注意哪些问题? 从4月1日开始&#xff0c;科目三考试将试行计算机辅助与人工评判相结合的制度…

解决 VUE: 本地运行和服务器上运行样式不一致,run、build 运行时样式有出入

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 我的情况&#xff1a; 我遇到 2 种情况&#xff0c;一个是表格的分页样式有变化。另一个是导航菜单样式有变化。 2. 解决&#xff…

Ubuntu链接服务器

本篇文章介绍&#xff0c;如何在Ubuntu系统下连接远程Ubuntu系统并传输文件。 一. 连接远程Ubuntu服务器。 1. 打开命令行&#xff0c;输入 : sudo apt-get update &#xff0c; 对系统进行更新。 2. 安装 OpenSSH Server&#xff0c;输入 &#xff1a; sudo apt-get install …

开发中的“软”与“硬”:高画质移动游戏开发之道

摘要&#xff1a;游戏的效果不仅与游戏引擎的渲染相关&#xff0c;与硬件优化也有千丝万缕的联系。一款基于芯片优化的移动游戏界面&#xff0c;甚至可以堪比视频游戏的视觉效果。高通半导体事业部资深经理刘晓光从软硬件两个层面分享了移动游戏开发之道。 在今年的Unity亚洲开…

解决 VUE: [Vue warn]: Do not use built-in or reserved HTML elements as component id: xx

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 新增一个组件&#xff0c;运行无问题&#xff0c;但F12报错&#xff1a; vue.esm.js?efeb:591 [Vue warn]: Do not use built-in o…

Linux系统重置和修改root密码

Linux系统经常会出现忘记root密码的情况&#xff0c;写下此随笔&#xff0c;以便记忆和学习。 一、重置root密码的步骤如下&#xff1a; 1.如果系统是开机状态&#xff0c;重启一下。进到下面这个界面按字母“e”键。 2.找到 linux16这一行&#xff0c;将下图红框中的内容修改为…

KETTLE 使用教程

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新&#xff1a;kettle会自动对比用户设置的对比字段&#xff0c;若目标表…

为什么你应该参与到开源项目中

试图描述开源并不是一件容易的事——很多图书作家&#xff0c;社区领袖和主持人对于开源社区的工作原理以及它是否对新人程序员有帮助持不同意见试图描述开源并不是一件容易的事——很多图书作家&#xff0c;社区领袖和主持人对于开源社区的工作原理以及它是否对新人程序员有帮…

根据库位获取仓库id

通过location获取warehouse location.get_warehouse() 转载于:https://www.cnblogs.com/brucexl/p/11425603.html

AI:初学者如何从零学习人工智能?看完你就懂了

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 此文是想要进入人工智能这个领域、但不知道从哪里开始的初学者最佳的学习资源列表。 一、机器学习 有关机器学习领域的最佳介绍&#…