如何学习机器学习和深度学习: 软件工程师指南

一、简介

人工智能这个主题激发了我的兴趣,我一直在这个领域中不断学习和尝试新事物。

众所周知,与自然语言处理、计算机视觉等相关的技术已经出现并发展成为每天被数百万用户使用的解决方案。

尽管人们使用“人工智能”这一术语,但我们离《流浪地球2》电影中那样先进的MOSS还远着呢。

如今使用最广泛的AI子领域是机器学习,而机器学习又有一个子领域——深度学习,它正在急剧增长。

在这份指南中,我旨在描述一条软件工程师开始理解机器学习如何工作以及如何将其应用到项目中的路径。

是的,你可以直接使用谷歌API或亚马逊的某些神奇API来进行语音识别,但了解它是如何工作的,为什么有效,甚至如何制作自己的API服务并根据自己的特定需求进行调整,这是非常了不起的。

记住,作为一名开发者,每一个工具都是一种新能力。

我已经阅读、观看并完成了所有这些资源的学习,甚至还为其中一些资源支付了认证费用,虽然这不是必须的,但俗话说的好,有投入才有回报,适当的投资自己,将来的你会无比感谢自己。

让我们深入这些话题。

二、数学知识的重要性

也许你从未有机会学习过大学水平的数学,或者你学过,但由于JavaScript和CSS占据了你所有的记忆,你几乎忘记了这些知识。

在开始学习机器学习(ML)和深度学习(DL)之前,有三个主题是你必须了解的,或者至少要对其有一个基本的掌握:线性代数、微积分和统计学。

如果你想深入学习机器学习和深度学习所需的数学知识,可以查找bilibili上的课程,例如宋浩老师著名的线性代数课程。

但我们必须面对现实,大多数人没有时间或耐心去做这件事。

因此,我将为您提供上述三个主题的速成课程。

线性代数

只需观看YouTube频道3Blue1Brown上的整个系列《线性代数的本质》。

这个系列通过视觉解释,将一些曾经难以理解的概念变得非常简单!

与宋浩老师的课程内容相比,它的内容虽然相对简略,但足以作为入门,并且随着你在机器学习和深度学习中的进步,你可以继续学习其他主题。

微积分

3Blue1Brown还在YouTube上免费提供了一整套关于微积分的系列:《微积分的本质》。直达

再次强调,他非常擅长于提供直观的解释,让你理解为什么以及如何,而不是仅仅向你展示一些随机的方程式。

统计学

在我看来,这是一个你可以根据需要学习的完整领域,一本很好的参考书是《数据科学家的实用统计学:50个基本概念》。

这是一本客观的书籍,为每个概念提供了一些很好的例子。

阅读起来也很快。

正如书名所暗示的,它更适合数据科学家,但了解一些统计学的基础知识总是有益的,而这正是这本书的用途。

阅读它后,你不会成为一名统计学家,但你会学到一些有用的东西。

三、重视机器学习

每个人都想直接跳入深度学习,并成为那个在12GB GPU上训练单一模型达一周之久的酷人物。但要正确理解深度学习,你首先需要了解机器学习!

从头开始

概念、思维方式、对事物工作原理的“感觉”都从这里开始,而没有人比Andrew Ng教授在他的“机器学习”课程中更能教授这些概念了。你可能认为这门课程已经过时,技术上或许如此,但从概念上来说,它比其他任何课程都好。Ng教授使得理解他教授的每项技术中应用的数学变得容易,并在这门简短而精准的课程中给你一个坚实的理解基础。课程中的所有练习都是在Octave中完成的,这是Matlab的一种免费版本,你将在课程结束时实现你自己的神经网络!Octave的语法对任何程序员来说都容易掌握,所以不要让这成为你的障碍。

随机森林

我说了所有主要算法,对吧?实际上,Andrew Ng的课程中有一个瑕疵,他没有涵盖随机森林。fast.ai的“面向编码者的机器学习入门”是他课程的绝佳补充。Jeremy Howard在Ng课程中缺失的部分上变得非常实用,涵盖了对许多经典问题来说是最佳解决方案的主题。fast.ai采用的是自上而下的方法,意味着他们会先向你展示如何解决问题,然后解释为什么有效,这与我们在学校里习惯的方式完全相反。Jeremy还使用了实际的工具和库,所以你将通过编码行业验证的解决方案来学习。

四、深度学习

终于到了!我们所有人都为之而来的深度学习!再次强调,最佳资源是Ng教授的一系列课程。深度学习专项课程共有五门课程,从基础知识到特定主题(如语言、图像和时间序列数据)不断发展。好的一点是,他从他的经典机器学习课程的最后一部分继续,所以感觉就像是第一门课程的延伸。他非常简洁地传授数学、概念以及工作原理和原因,像我所见过的少数人一样。唯一的缺点是他在这门课程中使用了Tensorflow 1.x(谷歌的DL框架),但在我看来这只是一个微不足道的细节,因为解释和练习都做得非常好。你可以相对容易地掌握最新版本的框架,为此有最后一部分指南,一本书。

要学的内容太多了,我只想速成!!!: 这本书可能是你开始所需要的唯一东西,它是Aurélien Géron的《动手学习机器学习与Scikit-Learn、Keras和TensorFlow:构建智能系统的概念、工具和技术》。这本书涵盖了很多内容,从经典机器学习到最新的深度学习主题。使用行业级框架和库的好例子和练习。我敢说,如果你真的很匆忙,你可以跳过我之前说的所有内容,直接去看这本书。你会错过其他提到的资源中包含的大量信息,但Géron书中的实用和可操作知识足以在你的下一个项目中处理许多想法。如果你在只阅读这本书后感到受限,回去学习其余的材料,它将填补你可能有的空白,并给你一个更坚实的理解。

关于框架X或Y? “嘿,我听说过PyTorch和其他大家都在谈论的框架或库X。” 作为一名软件工程师,你比任何人都更清楚技术是如何快速发展的。不要为此疯狂,在学习了这份指南中的基础知识后,你可以轻松地转到PyTorch文档或任何其他库或框架上,并在一两周内学会如何使用它们。技术和概念都是一样的,只是语法和应用的问题,或者甚至是你对任何特定工具的喜好。

结论: 总而言之,尽管这看起来可能很多,我试图消除所有的噪音,在这个过程的最后,你会感到自信,理解幕后发生的事情、行业术语,甚至能够阅读该领域发布的一些论文,以跟上最新的进展。

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

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

相关文章

[计算机网络]---网络编程套接字

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、基础知识…

C++ //练习 6.7 编写一个函数,当它第一次被调用时返回0,以后每次被调用返回值加1。

C Primer(第5版) 练习 6.7 练习 6.7 编写一个函数,当它第一次被调用时返回0,以后每次被调用返回值加1。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /**********************…

如何将字体添加到 ONLYOFFICE 文档服务器 8.0

作者:VincentYoung 阅读本文,了解如何为自己的在线办公软件 ONLYOFFICE 文档服务器的字体库添加字体 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器,支持处理文本文档、电子表格、演示文稿、可填写表单、PDF 和电子书…

无人机竞赛视觉算法开发流程开源计划(询问大家意见)

本科中参加过一系列的无人机机器人竞赛,像电赛、工训赛、机器人大赛这些,有一些比较常用的方案打算开源一下。现在读研了,也算是对本科的一个总结,但是还是想看看大家意见,大家有什么需求可以在评论区说,我…

EsayExcel文件导入导出

目录 准备工作 监听器类 导入测试 导出测试 上传Excel 下载Excel 混合导出模板导出 headRowNumber(1)&#xff1a;从第几行开始读 准备工作 导入依赖 <!--easyexcel--> <dependency><groupId>com.alibaba</groupId>x<artifactId>easye…

QTabWidget和QTabBar控件样式设置(qss)

QTabWidget和QTabBar控件样式设置 1、QTabWidget样式可自定义的有哪些示例&#xff1a;效果图 2、QTabBar样式可自定义的有哪些示例效果图 1、QTabWidget样式可自定义的有哪些 QTabWidget::pane{} 定义tabWidgetFrameQTabWidget::tab-bar{} 定义TabBar的位置QTabWidget::tab{}定…

简单的手指控制机械臂

跟之前的那个项目类似, 使用mediapipe, 拿到手指的位置, 来控制舵机, 从而控制一个机械臂. 直接上代码: """ 演示一个简单的虚拟拖拽 步骤&#xff1a; 1、opencv 读取视频流"""# 导入opencv import cv2 import numpy as np import math impor…

c++STL系列——(八)multiset

在C的标准模板库&#xff08;STL&#xff09;中&#xff0c;multiset是一个非常有用的容器&#xff0c;和set容器类似&#xff0c;用于存储一组按照特定顺序排列的元素。与set不同的是&#xff0c;multiset允许重复元素的存在。本文将详细介绍multiset容器的特点、用法以及一些…

基于物联网的实时数据分析(简单介绍)

在当今这个信息化、数字化飞速发展的时代&#xff0c;物联网&#xff08;Internet of Things, IoT&#xff09;和实时数据分析成为了技术革新的两大支柱。对于刚入行的新手来说&#xff0c;理解这两个概念及其相互作用不仅是迈入这一领域的第一步&#xff0c;更是掌握未来技术趋…

Acwing---842.排列数字

排列数字 1.题目2.基本思想3.代码实现 1.题目 给定一个整数 n&#xff0c;将数字 1∼n排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入格式 共一行&#xff0c;包含一个整数 n。 输出格式 按字典序输出所有排列方案…

React报错修复:“Uncaught TypeError: destroy is not a function”

报错&#xff1a;Uncaught TypeError: destroy is not a function at commitHookEffectListUnmount 如果你在useEffect函数中使用了async&#xff0c;运行后会出现该报错。 原理解析&#xff1a;     要知道&#xff0c;useEffect 钩子函数的一个特性是清理功能&#xff0c;…

OJ_求最大公约数和最大公倍数

欧几里得算法&#xff08;辗转相除法&#xff09;求最大公约数 这个算法的原理基于以下定理&#xff1a;两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数 #include <stdio.h> // Greatest Common Divisor&#xff0c;简称GCD #define _CRT_SECURE_N…

flask+python儿童福利院管理系统pycharm毕业设计项目

本系统解决了儿童福利院管理事务中的主要问题&#xff0c;包括首页、个人中心、爱心人士管理、员工管理、后勤人员管理、儿童信息管理、院所风采管理、活动管理、食谱管理、领养流程管理、政策法规管理、楼栋管理、宿舍管理、领养申请管理、义工申请管理、捐赠信息管理、宿舍物…

理解SMTP与IMAP协议:Python中的邮件发送与接收

源码分享 ​​https://docs.qq.com/sheet/DUHNQdlRUVUp5Vll2?tabBB08J2​​ 电子邮件是当代通信的一个重要工具。它涉及到多种协议&#xff0c;其中SMTP和IMAP是最关键的。本文将详细介绍这两个协议&#xff0c;并提供Python代码示例&#xff0c;帮助你理解如何在Python中实…

CTFshow web(php命令执行59-67)

web59 <?php /* # -*- coding: utf-8 -*- # Author: Lazzaro # Date: 2020-09-05 20:49:30 # Last Modified by: h1xa # Last Modified time: 2020-09-07 22:02:47 # email: h1xactfer.com # link: https://ctfer.com */ // 你们在炫技吗&#xff1f; if(isset($_POST…

一个 SpringBoot 项目能同时处理多少请求?

目录 1 问题分析 2 Demo 3 答案 4 怎么来的&#xff1f; 5 标准答案及影响参数一Tomcat配置 6 影响参数二 Web容器 7 影响参数三 Async 1 问题分析 一个 SpringBoot 项目能同时处理多少请求&#xff1f; 不知道你听到这个问题之后的第一反应是什么&#xff1f; 我大概…

支付交易——BIN服务

摘要 老王的杂货店里货很多&#xff0c;国产的&#xff0c;进口的&#xff0c;不同种类、不同品牌、不同型号的货&#xff0c;应有尽有。 货多了&#xff0c;老王就弄了个小本本记下店里卖的货有哪些&#xff0c;记得很详细&#xff0c;包括有哪些种类&#xff0c;每个种类里有…

ClickHouse--05--MergeTree 表引擎

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 MergeTree 系列表引擎前言MergeTree 系列表引擎 --功能MergeTree 系列表引擎 --种类 1.MergeTree1.1MergeTree 建表语句&#xff1a;1.2 MergeTree 引擎表目录解析查…

局部特征描述子与关键点

一、局部特征描述子与关键点之间存在密切的关系 关键点&#xff08;Key Points&#xff09;&#xff1a; 关键点是在图像、点云或其他数据中具有显著局部特征的点或区域。这些点通常是在数据中表现出局部结构或特征变化的位置&#xff0c;比如曲率极值点、拐点、纹理变化显著的…

Acwing二分和前缀和(一)

数的范围 原题链接&#xff1a;https://www.acwing.com/problem/content/791/ 整数二分步骤&#xff0c;找一个区间&#xff0c;使得答案一定在区间中。找一个判断条件&#xff0c;使得该判断条件具有二段性&#xff0c;并且答案一定是该二段性的分界点。分析终点在该判断条件下…