我该如何开始学习机器学习?
我是一名开发者。我读过一些关于机器学习的书籍或文章。我观看过一些 Coursera 上的机器学习课程。但我仍然不知道该如何开始……
这听起来熟悉吗?

对机器学习书籍和课程感到沮丧?
你如何开始学习机器学习?
图片由 Peter Alfred Hess 拍摄,保留部分权利
我的时事通讯订阅者中最常问我的问题是
如何开始机器学习?
我真的不记得我回答过多少次了。
在这篇文章中,我将阐述我对这个话题的所有最佳思考。
- 您将发现为什么传统的机器学习教学方法对您不起作用。
- 您将发现如何颠覆整个模式。
- 您将发现我简单但非常有效的解决方案,您可以用来入门。
让我们开始吧……
对机器学习感兴趣的开发者
你是一名开发者,你对进入机器学习领域感兴趣。为什么不呢?目前这是一个热门话题,而且是一个迷人且快速发展的领域。
你阅读了一些博客文章。你尝试深入学习,但那些书太糟糕了。专注于数学。专注于理论。专注于算法。

听起来熟悉吗?你尝试过书籍、MOOCs、博客文章,但仍然不知道如何开始学习机器学习吗?
你尝试了一些视频课程。你注册并认真尝试了经常被提及的 Coursera 斯坦福机器学习 MOOC。它并没有比书籍和详细的博客文章好多少。你搞不懂大家为什么如此推崇它,为什么推荐给初学者。
您甚至可能尝试过一些小数据集,也许是入门级的 Kaggle 竞赛。
问题在于你无法将书本和课程中的理论、算法和数学与问题联系起来。这之间存在巨大的鸿沟。一个深渊。**你究竟该如何开始学习机器学习?**
机器学习工程师
当您展望未来,一旦您掌握了这种难以捉摸的机器学习理解,您的工作会是怎样的?您在日常工作中如何运用您新获得的机器学习技能?
我想我能看出来。你是一名机器学习工程师。你是一名懂得如何“做”机器学习的开发者。

你想从开发者转型为能够从事机器学习的开发者吗?
场景一:一次性模型
你的老板走过来对你说
嘿,你懂机器学习,对吧?你能用去年的客户数据预测我们销售渠道中哪些现有客户可能会转化吗?我想在下周的董事会演示中使用它……
我称之为一次性模型。
问题被你的老板定义得很清楚。她给你数据,如果需要,这些数据足够小,可以在 MS Excel 中查看和理解。她想要准确可靠的预测。
你能做到。更重要的是,你能解释所有关于结果的相关注意事项。
场景二:嵌入式模型
您和您的团队正在从利益相关者那里收集软件项目的需求。其中有一个需求是用户能够在软件中徒手绘制形状,并且软件能够识别出是什么形状,将其转换为清晰明确的版本并进行适当的标注。
你很快就意识到解决这个问题的最佳(也是唯一可行?)方法是设计和训练一个预测模型并将其嵌入到你的软件产品中。
我称之为嵌入式模型。有多种变体(例如模型是静态的还是更新的,以及它是本地的还是通过 API 远程调用的),但这只是细节。
在这个场景中,关键在于您有经验能够发现最适合用预测模型解决的问题,并且具备设计、训练和部署它的技能。
场景三:深度模型
您已经开始了一份新工作,您正在处理的系统由至少一个预测模型组成。对该系统的维护和功能添加需要理解模型、其输入和输出。模型的准确性是软件产品的一个特性,您的部分工作将是提高它。
例如,作为常规发布前系统测试的一部分,您必须证明模型的准确性(在历史数据上验证时)与旧版本具有相同或更好的性能。
我称之为深度模型。您需要对一个特定的预测模型建立深入的理解,并运用您的经验和技能,作为日常工作的一部分,改进和验证其准确性。
那个“做”机器学习的开发者
这些场景让您对一名懂得如何进行机器学习的开发者有了初步的了解。它们是真实的,因为它们都是我曾经经历过或必须完成的任务的变体。
这三个场景都非常清楚地说明了一件事。尽管机器学习是一个引人入胜的领域,但对于开发者而言,机器学习算法只是又一堆技巧,就像多线程或 3D 图形编程一样。然而,它们是一组强大的方法,对于特定类型的问题而言,是绝对必需的。
“我该如何开始?”的传统答案
那么,你如何开始学习机器学习呢?
如果你翻开一本机器学习书籍寻找这个问题的答案,你会大吃一惊。它们从定义开始,然后转向越来越复杂的概念和算法的数学描述。

关于“如何开始机器学习”这个问题的传统答案是自下而上的。
定义和数学描述清晰、简洁且通常没有歧义。问题是,它们枯燥乏味,需要相应的数学背景才能解析和解释。
机器学习通常在大学作为研究生课程教授是有原因的。这是因为这种“第一原理”的教学方式需要多年的预备知识才能理解。
例如,建议您在以下方面有良好的基础
- 统计学
- 概率论
- 线性代数
- 多变量统计
- 微积分
如果你稍稍偏离一些更奇特有趣的算法,情况会变得更糟。
这种自下而上、专注于算法的机器学习方法无处不在。
在线课程、MOOC 和 YouTube 视频模仿了大学教授机器学习的方法。同样,如果您有背景知识,或者您已经投入了半到十年时间学习并获得了高等学位,这很好。但它对普通开发者没有帮助。
如果你悄悄溜到像 Quora、StackExchange 或 Reddit 这样的问答论坛,怯生生地问如何开始,你会被相同的回答拍打回来。通常,这些回答来自同样迷茫的同行开发者。这是一个充满了相同糟糕建议的巨大回音室。
难怪那些想做正确事情的诚实勤奋的开发者会认为,在他们觉得自己有资格“做”机器学习之前,他们必须回去上学并获得硕士或博士学位。
传统方法大错特错!
请稍加思考这种自下而上的机器学习教学方法。它严谨系统,表面上听起来是个好主意。它怎么会是错误的呢?
自下而上编程(或者如何扼杀初级程序员)
想象你是一位年轻的开发者。你学了一些这门那门语言,开始学习如何创建独立软件。
你告诉朋友和家人,你想从事一份每天都能编程的职业。他们告诉你,在找到程序员工作之前,你需要获得计算机科学学位。
你报名并开始攻读计算机科学学位。一个学期又一个学期,你接触到越来越多深奥的代数、微积分和离散数学。你使用过时的编程语言。你对编程和构建软件的热情动摇了。

传统的机器学习入门方法在通往实践者的道路上存在一个缺口。
也许你设法熬到了另一边。回过头来看,你意识到你没有被教授关于现代软件开发实践、语言、工具,或者任何你可以在创建和交付软件的过程中使用的东西。
看到机器学习教学的相似之处了吗?
值得庆幸的是,编程已经存在足够长时间,足够流行,对经济足够重要,所以我们找到了其他方法来赋予初出茅庐的年轻(或年长)程序员他们实际需要做的事情——即创建软件——所需的技能。
用可计算性或计算复杂性理论,甚至算法和数据结构的深层细节来充斥一个初级程序员的头脑是没有意义的。一些有用的材料(后者关于算法复杂性和数据结构)可以稍后学习。也许通过专注的材料——但重要的是在已经编程和交付软件的工程师的背景下,而不是孤立地学习。
值得庆幸的是,我们有专注的软件工程学位。我们也有像 codecademy 这样的资源,在那里你通过……是的,实际编程来学习编程。
如果一个开发者想“做”机器学习,他们真的需要花费几年时间,花费数万甚至数十万美元来获得所需的数学和高等学位吗?
答案当然不是!有更好的方法。
一个更好的方法
与计算机科学一样,您不能简单地颠倒模型并自上而下地教授相同的材料。
原因是,就像计算机科学课程从未涉及涵盖开发和交付软件的实际问题一样,机器学习课程和书籍也远远不够。它们止步于算法。
你需要一种自上而下的机器学习方法。这种方法侧重于你想要实现的实际结果:使用现代和“一流”的工具和平台,端到端地解决真实的机器学习问题。

一种更好的学习机器学习的方法,从端到端地解决机器学习问题开始。
这是我认为您的成功之路的样子。
1. 通过系统化流程实现可重复结果
一旦你掌握了一些工具,用机器学习算法解决一个问题并称之为“完成”相对容易。
这可能很危险。
你怎么知道你已经完成了?你怎么知道结果好不好?你怎么知道结果在数据集上是可靠的?
在解决机器学习问题时,你需要系统化。它是一个项目,就像一个软件项目一样,良好的流程可以使从一个项目到另一个项目获得高质量结果变得可重复。
考虑到这样的过程,您可以想到一些明确的需求,例如
- 一个从头到尾引导你的过程,从问题规范到结果的呈现或部署。就像一个软件项目,你可能认为你已经完成了,但你可能还没有。从一开始就牢记最终可交付成果,可以设定一个明确的项目停止条件并集中精力。
- 一个循序渐进的过程,这样你总是知道下一步该做什么。不知道下一步该做什么是一个项目杀手。
- 一个保证“良好”结果的过程,例如优于平均水平或足以满足项目需求的结果。项目非常常见需要可靠地交付具有已知置信水平的良好结果,而不一定是可能达到的最佳准确性。
- 一个不随特定工具、编程语言和算法时尚变化的流程。工具来来去去,流程必须适应。鉴于该领域对算法的痴迷,总有新的强大算法从学术界涌现。

选择一个系统化且可重复的流程,你可以用它来持续地交付结果。
有许多优秀的流程,包括一些您可以根据需要调整的旧流程。
例如
选择或调整最适合您并满足上述要求的流程。
2. 将“最佳”工具映射到您的流程中
机器学习工具和库来来去去,但在任何特定时间点,您都必须使用最能映射到您所选择的结果交付流程的工具。
你不想评估和选择任何旧的算法或库,你想要的是所谓的“最佳”工具,它能为你提供快速、可靠和高质量的结果,并尽可能地自动化你的流程。
同样,您必须自己做出这些选择。如果您询问任何人,您会听到他们的偏见,通常是他们正在使用的最新工具。
我有自己的偏好,我喜欢为不同类型的工作使用不同的工具和平台。
例如,在上面列出的场景中,我将推荐以下最佳工具:
- 一次性预测模型:Weka 平台,因为我可以加载 CSV,设计实验,并在无需编写任何代码的情况下,在短时间内获得最佳模型(请参阅我将其映射到流程中的示例)。
- 嵌入式预测模型:使用 scikit-learn 的 Python,因为我可以在部署模型的相同语言中开发模型。IPython 是向更广泛团队演示你的管道和结果的好方法。MLaaS 也是处理大数据的一个选择。
- 深度模型:使用 caret 包 的 R,因为我可以快速自动地尝试许多最先进的模型,并使用整个 R 平台设计出越来越复杂的特征选择、特征工程和算法调优实验。
实际上,这三种工具在三种场景中会根据具体情况相互渗透。

将您偏好的机器学习工具映射到您所选择的系统化问题解决流程中。
就像开发一样,您需要研究您的工具才能充分利用它们。您还需要密切关注并跳到更新更好的工具,如果以及何时它们可用,永远将它们适应您的可重复流程。
3. 有针对性的实践与半正式工作成果
通过实践——开发大量软件,您才能擅长开发。使用这种熟悉的方法来擅长机器学习。在每个项目中实践的流程越多,效果越好(理想情况下,端到端地解决问题)。
仔细选择您的实践数据集
您希望选择真实而非人为构造的数据集。有数以百计的免费数据集,其复杂性不断增加。
- 我建议从 UCI 机器学习存储库等地方的小型内存数据集开始。它们是众所周知的,相对干净,是您尝试新流程和工具的好起点。
- 从那里开始,我推荐更大的内存数据集,例如来自一些 Kaggle 和 KDD cup 竞赛的数据集。它们有点脏,需要您灵活运用更多不同的技能。
坚持使用表格数据,这是我给所有学生的建议。
处理图像和文本数据本身就是全新的不同领域(分别是计算机视觉和自然语言处理),它们需要您学习这些领域的专门方法和工具。如果您想或需要处理这些类型的问题,那么最好从那里开始,并且有许多优秀的资源可供利用。
我将在“使用 UCI 机器学习存储库中的小型内存数据集实践机器学习”一文中更详细地介绍如何进行有针对性的实践。
撰写您的成果并建立一个公开的作品集
从每个项目中创建并保留半正式的成果(我将其称为“工作产品”)。我的意思是,将您所做和所学的内容写成某种独立文档,以便您将来可以参考并利用这些成果进行后续项目。
这类似于作为开发人员,为每个编程项目保留一个目录,并重复利用以前项目中的代码和想法。这大大加快了学习进程,我强烈推荐它。
保留所有脚本、代码和生成的图像,但撰写您的发现也很重要。将其视为代码中的注释。独立的总结可以是简单的 PPT 或文本文件,也可以是像在聚会上演示或 YouTube 视频一样精心制作。

完成离散项目,撰写结果并建立项目组合。
将每个项目保存在公共版本控制仓库(如 GitHub)中,以便其他初学者可以向您学习并扩展您的工作。从您的博客、LinkedIn 或其他地方链接到这些项目,并利用公共作品集来展示您不断增长的技能和能力。
请参阅我的文章“构建机器学习作品集:完成小型专注项目并展示您的技能”中关于这个重要想法的更多内容。
一个公开的 GitHub 仓库组合正迅速成为真正关心技能和交付成果的公司的招聘过程中的简历。
是的,这种方法是为开发者量身定制的
我们上面所阐述的是一种开发者可以用来学习、入门并在机器学习领域取得进展的方法。
您自然可能会对此方法是否真的适合您存有疑虑。让我来解决您的一些担忧。
您无需编写代码
您可能是一名网页开发人员或类似人员,不需要编写大量代码。您可以使用这种方法入门并应用机器学习。像 Weka 这样的工具可以轻松设计机器学习实验并构建模型,而无需任何编程。
编写代码可以解锁更多不同的工具和功能,但它并非必需,也不需要首先进行。
您无需擅长数学
就像在开发中,您无需了解可计算性或 大 O 符号就能编写代码并交付有用可靠的软件一样,您可以在没有统计学、概率论和线性代数背景的情况下端到端地解决机器学习问题。
需要注意的是,我们不是从理论开始,但我们也不会忽视它。当你需要某种方法或算法时,深入研究并提取你需要的部分。事实上,你将无法抑制自己。原因在于,解决机器学习问题令人上瘾且引人入胜。为了获得更好的结果和更准确的预测,你会从任何你能找到的资源中汲取知识,只学习足以提取智慧精髓以应用于你的问题的部分。
如果您的目标是掌握理论,这种方法会更慢且效率更低。这就是为什么从这个角度来看它会如此令人不舒服。但如果从成为一名从事机器学习的开发者的目标来看,它就很有意义了。
您不需要更高的学位
这些知识没有看门人。它都是可用的,你今天,现在就可以自己学习。你不需要在开始解决机器学习问题之前,花费大量时间和金钱去获得一个学位。
如果您的内心渴望获得更高的学位,为什么不先着手解决机器学习问题,然后在完成一些项目后,在几周或几个月后考虑攻读学位。您将对该领域的广度和您喜欢的部分有更清晰的认识。
我确实回去获得了那些高等学位。我喜欢做研究,但我更喜欢解决实际问题并交付客户真正关心的成果。而且,在开始攻读学位之前,我已经在解决机器学习问题了,只是当时我没有意识到我已经拥有了资源和摆在我面前的道路。
这就是为什么我如此热衷于说服像您这样的开发者,您现在就拥有入门所需的一切。

找借口不开始学习机器学习实在是太容易了。
您不需要大数据
机器学习算法是在小数据上开发出来的,并且在小数据上理解得最好。这些数据足够小,您可以在 MS Excel 中查看,加载到内存中,并在您的台式工作站上进行处理。
大数据 != 机器学习。您可以使用大数据构建预测模型,但这应视为您技能集在特定领域中的专业化。我通常建议我的学生在开始机器学习时,从小型内存数据集开始。
如果大数据机器学习是您想涉足的领域,那么就从那里开始吧。
您不需要桌面超级计算机
确实,一些最先进的算法,如深度学习,需要非常强大的万亿核 GPU。它们是强大而令人兴奋的算法。它们也可以解决您可以用台式机 CPU 计算的较小问题。
在您能够使用一台大型快速计算机之前,您无需推迟开始学习机器学习。
在您购买台式超级计算机或租用非常大的 EC2 实例之前,花一些时间学习如何在更小、更易理解的数据集上最大限度地利用这些算法可能很有价值。
您不需要大量时间
我们都有忙碌的生活,但如果你真的想要什么,你就需要投入时间。
我以前说过,解决机器学习问题令人上瘾。如果你沉迷于机器学习竞赛,你会乐意牺牲一个月的晚间电视来从你的算法中挤出几个百分点。
话虽如此,如果你从一个清晰的流程和一流的工具开始,你可以花一到两个小时(也许分一到两个晚上)从头到尾处理一个数据集。做几个这样的项目,你就能在完成的机器学习项目组合上建立一个滩头阵地,然后你可以开始利用这些项目解决更大、更有趣的问题。
将它分解成看板上的一小口任务,并腾出时间开始行动。
开发者最常犯的错误以及如何避免
自 Machine Learning Mastery 推出以来,我一直在提供各种版本的建议,至今已有近两年。在这段时间里,我看到了五个常见的陷阱,我想让大家避免它们。
- 不采取行动:一切都已准备就绪,但我仍然看到许多开发者不采取行动。看电视或阅读新闻比在一个迷人的研究领域建立一项新的有价值的技能要容易得多。你可以把马牵到水边……
- 选择过大的问题:我经常看到开发者选择的第一个或第二个数据集太难了。它太大、太复杂或太脏,他们还没有准备好应对挑战。糟糕的是,“失败”会扼杀动力,开发者就会在这个过程中退出。选择可以在 60 分钟内完成并总结的小问题。先这样做一段时间,然后再着手处理更大的问题。
- 从头开始实现算法:我们已经有了算法实现。完成了。至少已经足够您在接下来的几年里做一些有趣的事情了。如果您的目标是学习如何开发和交付可靠准确的预测模型,请不要花费时间从头开始实现算法,请使用库。另一方面,如果您想专注于实现算法,那么明确将其作为您的目标并专注于此。
- 不坚持流程:正如敏捷软件开发一样,如果你偏离了流程,你的项目很快就会脱轨,结果往往是一团糟。从头到尾坚持一个系统地解决问题的流程是关键。你可以将“你发现的那个有趣的东西……”作为一个后续的小项目(在你的总结中添加一个“后续工作想法”部分),但要完成流程并交付。
- 不利用资源:有许多关于机器学习的优秀论文、书籍和博客文章。您可以利用这些资源来改进您的流程、工具使用和结果的准确性。使用第三方资源来从您的算法和数据集中获得更多信息。获取算法和问题框架的思路。一句智慧之言可以改变您项目的进程。请记住,如果您采用自上而下的流程,理论必须在后端引入。花时间理解您的最终模型。
别让这些发生在你身上!
你的下一步
我们已经涵盖了许多方面,我希望我开始说服您,您可以开始并在机器学习领域取得进展。成为一名能够从事机器学习的开发者这一未来是非常真实且非常可实现的。
你的下一步是
嘿,你觉得这篇文章有用吗?请留下评论!
更新:查看这个方便的思维导图,它总结了这篇文章中的重要概念(感谢 Simeon 的建议!)。
嗨,很棒的实用文章!
对于想在 Matlab 中实现一些基础/中级算法(从公式到代码)的人,您有什么建议?考虑到我有扎实的数学背景,统计学不太好,而且刚刚开始学习机器学习,我应该从哪个算法开始?
谢谢!
很好的问题。
从简单的开始,比如线性回归(使用梯度下降)、kNN、朴素贝叶斯或感知机都是很棒的“第一个”要实现的算法。选择一个。
查阅多个来源,包括论文、书籍、他人的代码、博客文章教程等等。利用它们来帮助你完成任务。目标是实现一个可工作的,而不是一个纯粹的实现。先让它工作,然后让它变得美观/优雅。
一些可能有所帮助的博客文章
* 如何实现机器学习算法
* 如何研究机器学习算法
* 从零开始在 Python 中实现 k-近邻算法教程
先生,我是编程界的新手……我刚刚迈出 Python 的第一步……我想学习机器学习以在未来找到一份好工作……我应该注意哪些方面?
我最好的建议在这里
https://machinelearning.org.cn/start-here/#getstarted
你好 Jason,感谢你提供了如此精彩和详尽的机器学习学习计划。在读到这篇文章之前,我有点困惑,你解释的方式真的很适合我。谢谢。
谢谢,很高兴它有所帮助。
这真是太棒了!作为一个自学成才的电脑迷,我发现数学部分总是最复杂的——我在学校的时候数学一直很糟糕,直到我开始编程/分析才意识到自己能行。我尝试过 Coursera 的课程,在亚马逊上花了很多钱买电子书,但总是迷失在数学中(通常在第二章左右)。你在这里的呈现方式非常清晰,并且与我的思维方式非常契合,所以谢谢你!我已经报名了邮件课程,非常期待阅读你的更多博客!
祝你有美好的一天!
谢谢,我认为你的经历比大多数人想象的更常见。
学习和精通编程或机器学习等学科有许多方法,“传统”方法并非总是最好的、最有效的、最有趣的或适合每个人的。
嗨 Daras,想和你联系 @parth_iconoclas
谢谢你的见解。这正是我在尝试学习机器学习时的感受。非常感谢。
谢谢,不客气。
伙计,继续努力。🙂
会的,Alex,谢谢。
我真的很喜欢你强调人们不应该被机器学习算法背后的数学吓倒。科学家和其他程序员确实已经为我们涵盖了许多细节,因此机器学习算法可以作为一个工具箱来使用。我相信你描述的方式是发现机器学习更自然的方式:获取数据,通过试错法尝试一些开箱即用的机器学习算法,如 SVM 或随机森林,并扩展你对这些算法的知识。也许你最终会编写自己的实现,但这并不是一个好的起点。
数据准备和特征工程是机器学习的关键部分,如果你能正确处理这些,WEKA、Scikit-learn 和其他包提供的机器学习算法就足够了。(另请参阅 Domingos 的论文 (https://homes.cs.washington.edu/~pedrod/papers/cacm12.pdf))。
谢谢 Andreas。
我认为许多开发者因为数学而放弃机器学习是一个悲剧。这是一个如此迷人而有趣的领域,开发者在将强大的方法从学术论文和古老的示例代码中解放出来方面可以做出如此重要的贡献。
那是一篇很棒的论文。它在我的机器学习入门最佳资源列表中。
对于那些对这些重要主题感兴趣的人,请参阅:
* 如何为机器学习准备数据
* 发现特征工程,如何进行特征工程以及如何精通它
* 特征选择简介
谢谢 Jason 的这篇精彩博客。
我想知道偏好学习是否也遵循与机器学习相同的模式。因为我理解偏好学习是机器学习的延伸,其中数据根据用户偏好进行调整。
嗨 Sriram,我必须承认我似乎没有在偏好学习方面做过任何工作,但我预计这篇帖子中介绍的学习机器学习的方法会适用。
回来告诉我你的进展。
嗨 Sriram,实际上这种以实践为中心的方法适用于任何工程师,甚至任何知识学习(包括你需要练习解决问题的自然科学,你需要练习辩论的法学,以及许多其他领域),在这些领域经验是极其重要的和宝贵的。学习和教授这些高度依赖经验的领域的最佳方式是“实践—学习—实践”,学生首先接触一些现有项目,其中包含问题和解决方案(实践),以熟悉该领域的传统方法以及它们的方法论。在进行了一些初步实践后,他们可以深入书本学习基础理论,这有助于指导他们未来的高级实践,并增强他们解决实际问题的工具箱。学习理论也进一步提高了他们对初步经验的理解,并有助于他们更快地获得高级经验。不幸的是,根据我的知识和经验,大学教授的传统教学常常完全省略了第一个重要且必要的实践部分,只剩下“学习—实践”,使学习过程像空中楼阁,抽象知识,使其完全脱离实践,并使学生感到困惑。更糟糕的是,大学教师鄙视教授实践的人,因为他们配备了高级工具(数学和科学),他们认为这些实践非常简单(尽管他们很少实践,因为他们是老板)。这种完全错误和有害的方法误导了一代又一代的学生。最有效和最好的方法是,如前所述,“实践—学习—实践”。据我所知,这种方法最早是由毛泽东主席在1975年(文化大革命期间)提出的一项指示,称为“七二一指示”。
谢谢 Jason 的好帖子
不客气 Aman。
你好,
Jason 博士,这真是一个启发。我想我最好开始将它们用于我的水文学工作。
请继续保持。
谢谢 Surajit。
嗨,Jason,这简直是最好的建议。我很久以来一直在考虑开始学习机器学习,但读完这篇文章后,我决定要付诸行动了。
谢谢你
太棒了。稳步前进,如果你有任何问题,可以给我发邮件。我渴望听到你的进展。
一如既往的好帖子!很高兴看到你的博客再次活跃起来。非常感谢你的见解。
谢谢 Brian!
太棒了!Jason,谢谢你在这方面付出的努力!
不客气 Jonny,谢谢你的好意!
嗨,Jason,
能否在 WEKA 中打开 *.data 文件而不是 *.arff 文件?
此致,
Cornelius
我也属于同一个困境,曾经沮丧到决定放弃机器学习。不知怎么地,我开始探索 H2O,兴趣又重新燃起了。
我与一个朋友讨论了这个问题,他建议我阅读你关于机器学习的文章。我很幸运能来到这里,找到了真正的宝藏。🙂
我现在是一个自信的人,准备一步步接受机器学习的挑战。🙂
非常感谢你帮助了许多像我一样的人。最后但同样重要的是,感谢我的朋友将我的机器学习之车指引到这里。
太棒了,谢谢 Ravindra。
感谢您分享这些信息。
我开始学习 Coursera 斯坦福大学的机器学习慕课,但由于古巴这里的网络连接问题,我在尝试提交/上传课程练习的答案时遇到了一些问题。这次“失败”几乎扼杀了我学习的动力,但现在我将采用你的方法来追求我成为机器学习实践者的目标。非常感谢你的建议。
嗨,Jason,
感谢您为让机器学习对初学者更友好所做的出色努力。我是一个初学者,您的工作让我受益匪浅。
这是我的个人方法
对我来说,阅读和实践交替进行效果最好。例如,如果我每天有2小时用于机器学习,我最享受的是花一小时阅读,再花一小时练习(相关或不相关的材料)(顺序不限)。这让我觉得我既获得了乐趣,又在基础知识方面取得了实质性进展。
当然,这种混合不必精确到五五开,而是根据当前的专业水平/热情来决定。从长远来看,我相信它或多或少涵盖了与其他任何方法相同的范围。
我选择了 scikit-learn 和 WEKA 作为实践平台,同时也在阅读 Bishop 的 PRML。
再次感谢。
我同意你的看法,“自上而下的方法”
谢谢 Jason,
这个博客在如何开始方面帮了我很多。但我希望成为一名研究学生。我的方法应该有所不同,因为我的优先级大多数时候应该是算法而不是解决方案。你能给我一些这方面的建议吗?
如果你是一名研究学生,我的建议是致力于大学里教授的学术方法。阅读教科书,上课程,从下而上地学习机器学习。
你好 Jason……
我刚找到你的网站,并从这里开始。非常棒的建议。我花了两年多的时间学习统计学、线性代数、微积分、编程、数据库和机器学习,主要通过 Coursera。我早些时候确实修了 Andrew Ng 的课程,并且学得很好,但仍然觉得离自己开发应用程序还有很长的路要走。我还留下了这样一个印象,即我必须完全理解所有的算法,基本上是通过自己编写它们!从那以后,我开始学习其他使用库(Dato)的机器学习课程。现在,我可以看到你不必重新发明轮子才能取得进展。从某种意义上说,我曾认为这是“作弊”,它确实阻碍了我。
总之,谢谢你的网站。我希望能够通读所有内容,并跟随你整理的许多资源链接。
保罗
谢谢你的分享 Paul,我很高兴这篇帖子对你产生了影响。
感谢分享 Paul。这提供了一个良好的开端;但是,您能否在“您的下一步”部分列出机器学习的复杂程度?
谢谢分享,Jason。
不客气 Jay!
嗨,Jason,
感谢您概述这种方法。它让我对学习机器学习感到更有信心。我知道在没有所有复杂数学和算法的情况下理解和使用机器学习是可能的。得到您的确认真正加强了这一点。我很高兴能偶然发现您的网站!
谢谢你的好意 Mehul。我希望我能在你的机器学习之旅中帮助你。
嗨,Jason,
首先,我要感谢你写了如此精彩的帖子。正如你所说,当年轻的、刚起步的开发者在 stackoverflow 和 quora 上因为不知道该做什么而受到指责时,他们会感到非常沮丧。他们得到的回复是简短而生硬的——“去学习算法/数据结构/统计学/概率论/等等。” 这不是因为他们懒得阅读,而是因为他们根本不知道从何开始。这种行为只会让他们心碎,摧毁任何抱负。所以,谢谢你对我们这些新手如此友好。
现在,多亏我上的一门课,我对机器学习有了很好的理论理解——分类、聚类、错误类型、bagging、boosting 等等。我用 Weka 尝试了许多这些方法,并且感到很熟悉。现在,我想迈出下一步——如何将我的编程技能应用于解决问题。你推荐我下一步怎么做?我问这个问题,因为我有点处于中间状态,不知道该往哪个方向走。这对我来说似乎比完全不懂机器学习更糟糕,因为那样我至少会以开放的心态开始。
谢谢
尊敬的先生
感谢您这篇精彩的帖子。这让我非常清楚如何进行,做什么和不做什么。我有一个关于机器学习中使用的编程语言的小疑问。有些文章建议使用 Python,而有些书则使用 R 语言。请指导我应该选择哪种语言。
希望能尽快收到您的回复。
谢谢你
谢谢 Jason,我学习机器学习的一些最深层的担忧已经消除了。很高兴我至少现在发现了你的博客,因为我开始认为我无法自学机器学习,尽管我对这个科目很感兴趣。
谢谢 Jason,我来自中国。你的建议太棒了。我感觉茅塞顿开。
最好的祝福
嘿 Jason,我是机器学习新手,刚读完你的文章,感觉备受鼓舞。
我想做一个手写数字识别的机器学习项目。我不知道该如何开始。
你能给我一个简要的指导吗,我应该如何开始,以及我需要学习什么。我已经找到了一个机器学习仓库中的数据集。
任何帮助都将不胜感激,提前谢谢。
非常棒的博客!!
很棒的文章。问题是当你真的厌倦了 MOOC、厚厚的统计学书籍和 Kaggle、KDD 时,你才会偶然发现这里。讽刺的是,当你开始机器学习时,你并不会寻找类似的博客。
我有一份朝九晚六的工作,而且不是程序员。我热衷于学习机器学习有两个原因。
1. 激动地学习新技术
2. 在我的日常工作中运用它,因为我处理大量数据(我在印度班加罗尔的一家半导体公司担任项目管理)。
已经一年了,我尝试过 R、Python、Octave、MATLAB、Codecademy、Spark 等等。我现在懂一些东西,但我的思维一直很混乱。
谢谢 Jason。你现在是我的机器学习导师了。这来自一个真正重视“导师”这个词的印度人。
我有很多年没写代码了……但一直热爱数据分析和统计。随着机器学习/数据科学成为热门领域,我儿子也在学习 Python,我一直在寻找学习的方法,我很幸运能偶然发现你的这篇帖子。找到一种更快的方式来玩转机器学习,而无需理解所有深奥的概念和理论,真是松了一口气!
谢谢你。
嗨,Jason,
你给像我这样的新手提出了多么高明的方法!
我从 Coursera 斯坦福大学的机器学习 MOOC 开始学习。我正在该课程的第一周(我还观看了斯坦福大学机器学习讲座的 YouTube 视频)
并且已经发现理解所有方程和算法令人望而生畏。我找了一本线性代数的复习书(我多年前学过,现在已经忘了),但它需要花费大量时间来学习。与此同时,我收到了你的电子邮件,里面有指向这个博客的链接,并找到了正确的机器学习方法。
我将遵循你的建议,并下定决心以正确的方式学习机器学习。
你为我节省了许多痛苦和时间。
非常感谢。
不客气 Bharat。
非常有用的文章。我已经尝试观看 Andrew Ng 的视频讲座。然后我才知道我对统计学、概率论、线性代数等知之甚少。于是我从斯坦福大学的统计学习课程开始。但只进行到一半……我真的对所有这些方法感到困惑,但现在我找到了好方法!谢谢这篇文章。
嗨,Jason,
很棒的帖子… 我有工学学士学位,MBA(2年),印度顶级学院 IIM Calcutta 的一年商业分析认证,以及总共6年经验(编码/IT销售/数据分析师)至今……
但我一直在努力进入核心机器学习或数据科学领域,因为到处都要求有实践经验(R/Python/等)…… 因此,我非常沮丧,并试图为自己制定一个计划,这样我就可以专注于一件事并精通它,以便也能发挥我的学位的优势。
任何进一步的指导都会非常有帮助……谢谢 🙂
真的很喜欢你的帖子……
此致,
Pramod
嘿 Jason,文章写得很好。
我觉得我还没准备好开始学习机器学习,因为我甚至还不懂一门语言,这辈子也没开发过任何东西。我刚开始晚上学习 Python,但由于我还没有在 IT 行业工作,所以进展缓慢。
只是想征求一些建议,因为你拥有人工智能(哲学)博士学位。我的目标是从事智能代理工作,并帮助塑造人工智能的未来;我对深度学习、强化学习和一些自然语言处理感兴趣。
由于我没有强大的计算机科学背景,你推荐我去上大学,还是认为有更好的方法从基础开始学习?
可以考虑从 Weka 入手,无需编程。
https://machinelearning.org.cn/tour-weka-machine-learning-workbench/
我认为你无需上大学也能学会应用机器学习的实际步骤。
嗨,Jason!我读了你的文章“程序员的机器学习:从开发人员到机器学习实践者的飞跃”(那篇讨论传统自下而上方法的文章)。我非常非常感谢有人能直接说出那些让我如此困惑的事情!!!!我正在看斯坦福大学的MOOC,我把自己逼得太紧(到了一个巨大的鸿沟),以至于我发现我对计算机科学都失去了一些动力(我认为这是最重要的)。然后今天早上,我在网上找到了你和这篇文章。毫不夸张地说,你是我的职业生涯救星。在大学里上了两门入门级计算机科学课程(它们让我对成为计算机科学专业充满动力)之后,我只是觉得学校的道路走错了,它离现实生活中的问题解决太远了。我周围的朋友们非常崇拜学校,只要能拿到好成绩,他们对学校系统就非常满意。我可以写很多页,但不想浪费你的时间来帮助别人。我只想说声谢谢。最后,我得到了一位专业人士对我困惑的确认。非常感谢!!!
谢谢你的好话,Mike,我觉得你的评论很鼓舞人心。
坚持下去,当你专注于应用方面时,机器学习会非常有趣!
嗨,Jason,
感谢你的辛勤工作,非常棒!
我是一名嵌入式软件工程师,有编写设备驱动程序/固件/Linux等的经验。
由于嵌入式领域的机会有限,我想转到机器学习/深度学习。
对我来说,转行会有多难?我有14年的嵌入式软件开发经验。
感谢你的建议!
Jason,这非常有帮助。我曾经陷入先读博士还是先积累经验的困境。当我得出相关行业经验确实有助于博士学位简历的建立时,我找到了这篇杰作。我是一名开发人员,拥有数据库、数据仓库BI和C#编程经验。非常感谢你分享你的想法,期待在这里看到你更多的作品。
我很高兴它有帮助,kartik,谢谢你的评论。
你好,杰森先生
非常感谢这篇罕见而精彩的文章。
我是一名研究学生,我选择了机器学习领域作为我的研究方向。
您能帮我解决一些关于Weka和Matlab接口的疑问吗?这些接口可以用于机器学习研究。我正在使用机器学习中的分类技术,但有点困惑该如何进行,以及两者中选哪个。
请指教。
嗨,Astha。抱歉,我不熟悉Weka到Matlab的接口。我无法给你好的建议。
好文章
谢谢John。
很棒的文章!我在本周的一次演讲中引用了这篇文章:https://medium.com/@gabrielcs/machine-learning-for-hackers-b60bfb9bbade
谢谢Gabriel
很棒的文章!我从事算法开发工作,有智能系统方面的学术背景,但没有所有必要的数学知识,所以我能理解你所描述的那些挫折。我认为“数据科学”领域(以及许多其他领域,如软件开发)的一般信息过载加剧了问题,有时使其看起来难以逾越。我也喜欢你专注于“机器学习工程师”类型的角色,以及从实践开始并随着项目的进行学习更深层次知识的方法。你对鼓励“老派”算法开发人员转向机器学习方法有什么建议吗?我在目前的职位上发现这是一个问题,他们不理解或不“信任”算法,因此坚持使用旧的、不可扩展的模型制作方法。
杰森,这篇文章写得太棒了。思考得非常周全,让人立刻产生共鸣
谢谢,Anant。
你好 Jason,
我知道这篇文章是为开发人员准备的,但您会向非开发人员推荐相同的流程吗?
在意识到我想成为一名数据科学家之前,我一直在学习HTML、CSS和Javascript。然而,我越深入数据科学,就越发现Python/R语言的使用频率有多高。
您建议我先学习像Python这样的语言,然后再采用您建议的方法吗?
是的,这种方法对设计师和其他非开发人员同样适用。
我建议从Weka开始,这样你就可以在不需要编程的情况下学习并擅长应用机器学习。同时学习编程和机器学习要困难得多。
更多关于Weka的信息在此
https://machinelearning.org.cn/start-here/#weka
这篇文章完美地契合了我。真希望我早点看到它。
我把一个复杂且棘手的问题作为我的第一个机器学习项目,而且它还是我的论文题目,这让我“自取灭亡”。不错的组合,是吧?
我很高兴你觉得这篇文章有用,Ivan,也恭喜你发现了难易之分。
如果你有问题,我随时乐意帮助。
你好 Jason
我没有任何编程知识,我想了解机器学习。
请帮我学习机器学习好吗??/
你好kiran kumar,
我对非程序员的最佳建议是从Weka开始。
https://machinelearning.org.cn/start-here/#weka
感谢这篇帖子,非常引人入胜。
如果能听到有人采纳了这条建议,并成功从某种软件开发职位转变为机器学习软件工程师的经历,那将很有趣。
我确实收到很多成功案例的电子邮件。有些也让我采访了他们,例如:
https://machinelearning.org.cn/philosophy-graduate-to-machine-learning-practitioner/
https://machinelearning.org.cn/how-to-go-from-working-in-a-bank-to-hired-as-senior-data-scientist-at-target/
https://machinelearning.org.cn/how-a-beginner-used-small-projects-to-get-started-in-machine-learning-and-compete-on-kaggle/
希望这些能作为一个开始有所帮助。
嗨,Jason,
谢谢你的好文章。看完这篇博客后,我再次看到了希望之光。
我现在45岁以上了,大部分时间在传统软件公司工作,现在担任管理职位,我觉得我无法胜任,而且我对机器学习(主要是研发)很感兴趣。我上学时数学和工程学都很好(大学时总是名列前三,尽管那是25年前了)。我准备休假6个月深入研究,但您认为我这个年纪应该冒这个险吗?这么久之后,我还能再次专注并玩转数学吗?需要您的建议,请帮助我,我是否应该考虑这个方向?
嗨,Sunil,
是的。我的建议是,专注于如何交付结果,而不是理论。当然,你可以学习任何你想学的东西,但从现在到卓有成效的最短路径是学习如何交付结果——从头到尾解决预测建模问题。
每天工作几周就能取得长足进步,更不用说几个月了!
从这里开始
https://machinelearning.org.cn/start-here/#getstarted
希望这能有所帮助。
谢谢Jason,我希望这会有用。几周后我再联系你。
嗨,Jason,
我是印度IIT Guwahati的大二学生。我是一名UI/UX设计学生。这篇文章对于如何学习和应用ML非常有见地。但它更倾向于开发人员转行到ML。我最近对ML产生了兴趣,尽管是设计专业的学生,我在大一完成了线性代数和微积分课程。如果我选择以设计学士学位从事ML,我有点困惑我的职业前景会是什么。
嗨,Ashutosh,
如果你能学会如何通过机器学习为企业创造价值,那么你就会拥有一个“职业生涯”。
别想太多。
天哪,Jason,你真是个高手。我之前已经计划好如何自学整个计算机科学学士课程,然后申请计算机科学硕士,最后再学习机器学习。你在这里告诉我的却是“你可以做任何你想做的事,但你不必等到开始做机器学习”。这太棒了,这对我来说完全说得通……
我将听从你的建议,尽快开始工作,然后在通往机器学习工程师的道路上理解它。
再次感谢你,Jason,请继续做你正在做的事情,像你这样的人在让机器学习改变世界方面发挥着重要作用。
听到这个消息我很高兴,Daniel。
坚持下去。这是值得的!
你能把你的计算机科学课程发给我吗?
Jason,很棒的文章。现在我想即使是像我这样的新手开发者也能学习机器学习了。感谢您的启发。
谢谢Nikitha,很高兴听到这个消息!
非常鼓舞人心的帖子,你触及了我正在努力解决的每一个问题。太棒了!机器学习,我来了!
很高兴它帮到了你,Fille。坚持住!
那么MOOCs好不好呢
由你决定。
您好,我刚刚完成了IT专业的学士学位。我最近对机器学习产生了兴趣,但不知道如何开始。我尝试了所有博客、YouTube视频,但它们都从中间级别开始。我精通Python,喜欢解决微积分问题。您能建议我从哪里开始吗?
我在这里概述了入门流程
https://machinelearning.org.cn/start-here/#getstarted
这些文章和练习对我学习机器学习非常有帮助。非常感谢!
谢谢Nirodha,我真的很高兴听到这个消息。
嗨,Jason,
我是一个正在学习机器学习的开发者,你勾勒出了一条如此美妙的道路。你描绘得太棒了。提前感谢……开发者 -> 机器学习工程师……最终成为数据科学家。
我将搜刮你的网站,直到它知识枯竭……请继续提供。
谢谢Todd。告诉我你的进展!
嗨,Jason,
我有一个关于数据转换和特征工程的问题
如果我有一个包含两列的数据集,一列是中文汉字数据,另一列是数值。在这种情况下,我如何进行数据转换和特征工程?
诚挚地,
Steven
这取决于你的预测问题以及字符和数字代表什么。
嗨,Jason,
假设预测问题是我们想找到银行新服务的潜在用户。
汉字代表用户的信用摘要,数字代表用户在该银行的存款。
那么,如何将汉字转换为数值以便进行特征工程呢?
这听起来像是特征工程。
也许你可以从中提取出一些系统性的东西。
也许将所有文本转换为数字(例如词袋或词嵌入方法)是一种方法。我建议测试许多不同的方法,看看哪种最适合该问题。
更多关于特征工程的信息请点击这里
https://machinelearning.org.cn/discover-feature-engineering-how-to-engineer-features-and-how-to-get-good-at-it/
嘿,杰森,你看,我目前正在攻读计算机科学学士学位,我想先做Django Web开发,然后再转向机器学习,那么哪条路最适合我呢?
我不知道,选择最适合你的道路。
嘿,我想用朴素贝叶斯算法在Python中分类Word文档内容。所以,谁能给我一些帮助或例子,以便我可以在我的问题中实现它。
提前感谢大家。
我很快会在博客上发布大量自然语言处理(NLP)的示例。
非常感谢Jason Brownlee。在阅读这篇博客之前,我几乎肯定会因为缺乏数学核心概念而放弃机器学习。然而,这篇博客写得很好,基于一些真实的生活事实。这确实对像我这样试图从软件领域转向机器学习的人有很大的帮助。
谢谢,很高兴听到这个消息。坚持下去!
谢谢,Jason!一篇好文章,很有说服力,让我茅塞顿开。
很高兴听到这个消息。
这么多年来,我一直在寻找一个高效的机器学习学习资源!今天我很幸运地访问了这个网站;
文章非常有趣;感到非常幸运();
谢谢您!先生
谢谢
感谢这篇精彩的文章和网站!您正在做的事情太酷了。
我职业生涯的大部分时间都是自上而下的程序员。我需要完成一项任务,然后我开发/找到了完成该特定任务的技能/工具、技术。对于一些项目,我实际上在实现之后才理解很多底层概念或数学,有时甚至在几年之后……但我能够使用这些工具和概念成功地交付成果。当然,随着时间的推移,我积累了相当广泛的技能,但我仍然缺乏一个受过全面教育的软件工程师所拥有的一些基本知识。
所以我赞扬你的方法,这正是我过去以及现在学习机器学习时所采用的方法。
既然我找到了你的网站,我打算好好研究一下。不过,首先我确实需要用机器学习完成一项任务——预测时间序列。然后随着获得更多数据,逐步改进预测。
在这种情况下,你有什么额外的建议给我吗?
谢谢Keith。
我最好的建议是专注于从头到尾解决问题的过程,通过这个视角,其他一切都会变得有意义(或者可以被忽略)。
你好!Jason
您的建议/方法论给了我力量、能量和信心,让我尽可能简单地看待机器学习。
这些梯度步骤将帮助我以最小的错误理解问题,很快我就会找到一条清晰的机器学习之路。
谢谢你
谢谢。
嗨 Jason
我读了文章。我仍然很困惑。我使用了Weka,但没有关注线性回归和梯度下降等算法。但最终我发现自己又迷失了,问着同样的问题,软件开发人员真的能成为机器学习开发人员吗?
我无法决定是否需要学习基本算法来理解Weka数据集。
抱歉,这可能是一个愚蠢的问题,但我发现自己迷失了。
为什么?具体问题是什么?也许我有一些建议。
Weka没有给我如何将工具分类的相同算法进行编码的步骤。如何将这些知识转换为Python编程。
Weka通过点击式界面教你流程。
在Python中,你可以自己编写这个过程。
又一篇好文章。谢谢
很高兴能帮到你。
非常好的文章
谢谢。
嗨,Jason,
这是一篇好文章,我想利用一些业余时间尝试整个流程。只想问一个问题
我是一名有多年经验的专业开发人员,编码技能良好(我的Python技能还行或一般),数学技能非常差。我每天最多可以花3小时学习机器学习,每周5天。您认为我需要多长时间才能读完所有12本书,并准备好在现实中从事真正的机器学习项目?
我知道这可能听起来像个愚蠢的问题,但我真的需要您的意见,然后才能深入这个领域并认真做些事情。
谢谢
有些人几周内就开始创造价值,另一些人则需要几年。这取决于你有多专注于系统地解决问题并交付可用结果的过程。
我的上一条评论好像不见了?
我每天审核评论一到两次,详情请见这里
https://machinelearning.org.cn/faq/single-faq/where-is-my-blog-comment
该死,真希望我早点读到这篇文章。作为一个开发人员,我完全不知道该如何入手。我觉得我读了很多东西,但进展却微乎其微,相比之下,我感到非常愚蠢和沮丧,因为我试图理解所有的数学和理论。我觉得这正是我所缺少的核心信息,只是知道从开发者的角度在这种情况下如何处理整个事情。我认为这篇文章是一个改变游戏规则的、让我大开眼界的东西。非常感谢你!!对于每个想进入机器学习领域的开发者来说,这都是必读的。
谢谢,我很高兴它有帮助!
我也是,真希望一年前刚开始的时候我就能发现这个。那时我迷失在学习不断涌现的工具中,特别是Python编程,而不是专注于核心机器学习。感谢上帝我找到了这个。
谢谢,很高兴它能帮到你!
我喜欢你的自上而下(而不是自下而上)方法,作为一种沉浸式的方式,通过广泛的细节和完整的解决方案,开始在机器学习中提供具体的解决方案,即使作为开发者的支柱(数学——微积分、线性代数、统计学——编程语言、API知识等)并非最佳,因为我们当前的大学学位或学习背景有所欠缺。
我认为每次都“修改”你每篇文章中提供的最终代码的小部分,比每次都从头开始(自下而上)更容易。
这让我想起一个模仿生物学的过程;我可以从单细胞开始构建一个新的生命实体,结合成多细胞,然后产生器官分化等等。这是标准大学教育的“艰难方式”,或者只是简单地改变一些“基因”或在相似动物中“变异”,以便从一开始就突然获得一些技能化的新生命分化。即使新生命可以繁殖,你也可以以可持续的方式创造新生命。
我估计这就是你开始的方式,也是你帖子成功的最终原因。
除此之外,你没有提到的是,你总是可以回过头来深入研究统计学、代数、微积分等基础,以加强你的基础知识……任何时候你对你刚刚做过但不懂基本原理的事情的根源感兴趣。
谢谢Jason你的宝贵工作!
谢谢,很棒的比喻!
确实,你总是可以回过头来深入学习,但前提是为了获得更好的结果(例如,有方向性和有背景的)。
兄弟……无论你在哪里……你真是太棒了……
我就在这里 🙂
谢谢!
多么有说服力(最积极的)的帖子!你真是说到点子上了。
谢谢!
你好,
感谢这篇帖子,它非常激励人心。我有一个问题,从机器学习的角度看线性回归算法与从统计学的角度看线性回归算法有什么不同?我的问题是,为什么它被称为机器学习?如果我用统计学解决问题或者用机器学习解决问题,会有什么变化?区别是什么?再次感谢你的帮助。
相同的方法,只是更多的数据和自动化。线性回归最初是设计用于手工计算的。
Jason,感谢您富有洞察力和巨大的贡献
谢谢,很高兴你觉得它有用。
Jason,
感谢这篇详细的帖子。我获得了继续前进的信心
不客气,我很高兴听到这个消息。
感谢这篇精彩的博客!真的很有帮助。
不客气。
很棒的帖子。感谢分享如此有益的帖子。
谢谢,很高兴对您有帮助。
感谢这篇精彩的博客。它对我真的很有帮助。
谢谢,很高兴它有帮助!
精彩的帖子
谢谢!
我花了好几个小时阅读关于如何开始机器学习的文章。作为一名开发者,这确实是对机器学习的最好总结。很多人可能擅长统计分析,但很少有人能雄辩地阐述在这里取得成功所需的条件。感谢您整理了这些内容!
谢谢Randeep!
我是Bheemanna,我正在学习人工智能,但我不知道人工智能是做什么的,先生,你能告诉我吗?
我教授预测建模,这是机器学习的一个子领域,而机器学习又是人工智能的一个子领域。
你可以从这里开始
https://machinelearning.org.cn/start-here/#getstarted
我是一个初学者。
但我懂一点数学理论。
我担心我是否能学好机器学习。
你对此有什么看法。
完全没问题,看这个
https://machinelearning.org.cn/youre-wrong-machine-learning-not-hard/
我喜欢你的帖子。你的帖子将使我受益匪浅。稍后会更好地发帖。谢谢
谢谢!
真希望我两个月前就读过这篇文章。好文章!
谢谢!
很棒的文章。感谢你的精彩贡献。
我打算从零开始使用(ML、AI、DL技术)在金融领域开展研究。但完全不知道从何开始。我的背景是计算机科学硕士。
先生!
你在这方面有什么建议吗?
从这里开始
https://machinelearning.org.cn/start-here/#getstarted
这里描绘了一条伟大的道路,竖起大拇指,谢谢你!
谢谢!
亲爱的Jason
我非常感谢您并赞赏您对初学者学习深度学习的帮助。我自己曾因被太多深度学习资源所淹没而感到沮丧,直到我找到您有用的网站。正如您所说,拥有博士学位并不能保证理解科学技巧,尤其是在深度学习方面。
谢谢,很高兴它有帮助!
很棒的帖子,非常感谢!
我是一名系统工程师,拥有十年经验的软件开发人员。我刚开始接触人工智能领域,所以这篇帖子是一个很好的入门。我上过一些人工智能课程,但我仍然很难意识到什么时候可以使用人工智能来解决问题。
因此,我的问题是,您是否有关于识别使用人工智能机会的建议帖子?
不,我专注于机器学习。
你好,
我想知道您是否涵盖了您在此处谈到的任何与数学相关的内容,或者您是否可以向我指出此类资源。我希望理解所有与机器学习相关的基本数学知识。
谢谢
就在这里
https://machinelearning.org.cn/faq/single-faq/what-mathematical-background-do-i-need-for-machine-learning
很高兴看到你的文章。它真的帮了我大忙。谢谢。
不客气。
嗨,Jason,
这篇帖子很棒,谢谢你!
我对随机矩阵建模和基于代理的建模/基于个体的建模世界还很陌生,其中模型参数(来自应用领域专家的经验猜测!)、建模方法以及模型中引入的参数窗口随机采样和其他随机性产生的噪声都存在很大的不确定性。我目前正在研究巨大的敏感性分析领域,并一直在研究将回归/分类仿真器应用于参数空间和某些模型响应(例如二项式灭绝)之间的关系。我猜您已经在这个主题上发表了很多文章,而且您的总体理念似乎是“传统并非总是最好的”。
如果您有时间,如果您能指出我在这个领域撰写的任何博客、书籍或网络帖子,我将不胜感激。
谢谢你。 🙂
b
抱歉,Bree,我没有关于“基于代理的建模”或“随机矩阵建模”的教程。
我喜欢你的帖子,有一点我不同意的是“从头开发算法”,我感觉学习如何从头开发能让你理解每个库在做什么,这样当你使用库时,你对要应用什么有更深入的理解。
我同意这很有帮助。你只是不需要把它作为第一步,如果你不那么倾向,甚至根本不需要。
我看到许多初学者从头开始编写所有代码,这可能很困难/令人 overwhelmed。
此外,你做的任何实现都会比开源库慢,并且会有更多的错误。
你说得完全对,Jason,从头开始对初学者来说可能令人望而生畏。
无论如何,请继续写你的博客文章,我爱它们,你真是太棒了 🙂
谢谢!
感谢这篇帖子,Jason,感谢分享您的知识!来得正是时候,因为我当时感到有点不知所措,准备放弃了。
坚持住!
感谢这篇精彩的帖子!
我是一名网络开发人员,但我还没有高中毕业文凭,这曾阻止我继续前进,
我曾试图在一些机器学习论坛中询问“从何开始”,答案都是一样的(线性代数、概率等)。
这篇帖子对我很有帮助,因为我没有任何中级数学知识!
我非常感谢你的博客,万分感谢。
Jehsh Philemon Mulwahali
很高兴你喜欢!机器学习有不同的方法。你不总是需要深入研究理论方面。
PFE实习 / Python机器学习算法
你所描述的自上而下的学习方法真的让我产生共鸣。作为一名从编程训练营开始的开发者,我可以证明,最好的学习编程方式是通过构建让你对这个领域兴奋不已的东西。当然,回头再补充一些你缺失的理论也很重要,但即使这样,当你能理解它为什么重要时,也会更容易。作为一名回学校攻读硕士学位的人,我也可以证明,学校更注重自下而上的理论。如果你想成为设计下一个机器学习算法的人,这显然是必须的,但对于专业环境中的实践者来说,我同意最好是边做边学。
感谢您的反馈和支持,Daniel!祝您在机器学习之旅中一切顺利!
我读过的关于开始机器学习编码的最棒的建议。我找到了我编码如此厌烦的原因,那就是传统学习系统的陷阱。我明白限制在于我自己和我的思维模式。现在我首先调整我的思维模式,然后从“自上而下”开始学习过程。
改变你的思维,改变你的生活是真正的座右铭!
谢谢你的反馈,Zabulon!我们很感激!
感谢这篇帖子,Jason,感谢分享您的知识!
嗨,Ramesh……不客气!感谢您的支持!