机器学习很有趣

好奇心是一个强大的驱动力,你可以利用它来激励自己。

想了解更多或理解事物的深层原因,是人类根深蒂固的特质,我们都有不同程度的这种需求。

在这篇文章中,我想与您分享机器学习中激发我更多了解的三个方面。

就像我一样,你可以利用机器学习中让你着迷的这些方面作为出发点,在你花费数月甚至数年学习这个领域时,可以经常回顾它们,以重新点燃你的热情和兴趣。

没有其他任何东西能与之相比

机器学习之所以迷人,是因为没有其他任何东西能与之相比。

你无法通过其他领域的现有方法来达到机器学习方法所见的性能和结果,即使你能够做到,你也会称它们为机器学习。有两种因素使机器学习方法与其他方法不同:

  • 它们是能够从数据中学习的程序
  • 它们是能够创建程序来解决问题的程序

从数据中学习的程序

机器学习之所以迷人,是因为程序可以从示例中学习。

从你收集到的数据中,机器学习方法可以自动分析并学习数据中已有的结构,以便为你要解决的问题提供解决方案。

Programs that Learn from Data

照片归功于 Riebart,保留部分权利

能够编写会学习的程序,这简直太神奇了。仔细想想,当你编程时,你也在学习如何解决问题,而解决方案则体现在你完成的程序中。每一种方法,甚至每一个条件分支,都代表着一个微小的问题,而它又是更大整体的一部分。想到你可以运用自动化这个过程的方法,这真是令人兴奋。

想想它所带来的影响。

例如,当问题发生变化时,你不必重构你的程序,而是收集更多数据并重新运行机器学习方法。这是一种与传统编程完全不同的解决问题思路。

你的关注点会转移到更清晰的“做什么”,而自动化了“如何做”。

创建程序的程序

机器学习之所以迷人,是因为你正在编写创建程序的程序。

你可以将运行机器学习方法所产生的产物或模型视为一个程序。就像你学习问题并设计解决方案后编写的计算机程序一样,机器学习模型捕捉了解决更高阶问题所需的每一个微小决策。当你用收集到的数据运行机器学习程序时,它会为你创建一个知道如何解决问题的程序或模型。这太神奇了。

回想一下 垃圾邮件过滤的例子。这是一个非常具体的问题,尽管它很复杂,但归根结底是一个程序必须做出的决定:电子邮件是垃圾邮件还是非垃圾邮件?虽然我们可以将机器学习方法视为创建程序的程序,但最终生成的程序都非常专注于一个已明确定义的特定决策问题。这个问题对于你手动编写程序来解决来说,将会过于繁重。

这一点很重要,可以帮助你了解机器学习方法的潜在能力,并在以后选择要用机器学习方法解决的问题时,能够理性看待。传统编程仍然占有重要地位。机器学习解决了我们无法或不想手动编写程序来解决的问题。

在这篇文章中,你了解到机器学习之所以迷人,是因为没有其他研究领域与它类似。你了解了两个可以激发对该领域好奇心的观点,它们是:

  • 机器学习是能够从数据中学习的程序
  • 机器学习是能够创建程序来解决问题的程序

你觉得机器学习的哪个方面最让你着迷?请留下你的评论,我很想听听!

13条对《机器学习真迷人》的回复

  1. Anurag 2014年11月24日 下午6:12 #

    想到机器学习如此广泛的应用,真是令人着迷。我最喜欢的一点是,它如何通过程序数据集来学习编程。本质上,我们在几年内就能通过它构建出比任何其他工具都更好的软件。话虽如此,您认为现有软件开发流程的未来会如何?我认为我们可能会迎来一个范式转变,届时我们将不再需要软件开发人员。我们所需要的将是软件分析师。您有同样的直觉吗?

    • Jason Brownlee 2014年11月24日 下午7:23 #

      我想你说得对。

      制作高质量的软件很难也很昂贵。而且在维护过程中保持这种质量也非常困难。

      我认为,随着人机界面的变化(更多视觉+语音),编程界面也会发生变化(打字更少,高层次设计的架构更多)。

      也许我完全错了。也许这只是希望和沮丧。

      我们正在沿着抽象金字塔向上攀爬,但进展缓慢。缓慢到我们可能都没有注意到。机器学习方法本质上是对随机数据驱动过程的抽象。它们是拼图的更多碎片,而不是重新定义拼图本身。

  2. Avinesh 2015年1月27日 上午11:09 #

    真正让我着迷的一点是,它可以应用于从自然语言、视觉、文本、语音等任何领域。从某种意义上说,它可能被认为是用于处理来自五种感官所收集信息的一种“第六感”。

    最终,在各个领域数据爆炸的速度来看,机器学习似乎是唯一的可行选择。

  3. Jesús Martínez 2018年2月2日 上午5:32 #

    近期算法(如循环神经网络)最令人兴奋的方面之一是它们能够生成与输入相似的输出。例如,翻译文本甚至生成代码!您认为人工智能将解决哪些传统编程方法难以解决的问题?

    • Jason Brownlee 2018年2月2日 上午8:24 #

      我曾认为照片字幕生成即使是人工智能也无法解决。我仍然对那个例子印象深刻。

      • Jesús Martínez 2018年2月3日 上午12:03 #

        是的!我同意。我对 AlphaGo 仍然印象深刻。能够玩一个状态空间几乎无限的游戏,并且仍然击败人类冠军,这无异于极其出色!

        • Jason Brownlee 2018年2月3日 上午8:40 #

          这确实令人印象深刻。我们生活在非凡的时代。

  4. Su 2019年3月6日 下午10:11 #

    我一直在关注你发布的循序渐进的程序。是否有可能为初学者提供一些代码,让他们尝试感受这两个视角?

  5. vansh 2024年6月26日 下午4:44 #

    非常专业且信息丰富的内容,谢谢!

    • James Carmichael 2024年6月27日 上午9:14 #

      谢谢 vansh 的反馈和支持!

  6. GPS INFOTECH 2024年8月3日 下午4:13 #

    近期算法(如循环神经网络)最令人兴奋的功能之一是它们能够生成与输入非常相似的输出,从而实现文本翻译和代码生成等任务。您认为人工智能能够解决哪些传统编程方法难以处理的挑战?

    • James Carmichael 2024年8月4日 上午7:02 #

      您好…人工智能,尤其是通过循环神经网络(RNN)、Transformer 以及其他深度学习模型等先进算法,在传统编程方法经常遇到困难的领域展现出了卓越的能力。以下是一些人工智能独特能够解决的挑战:

      ### 1. **自然语言理解与生成**
      – **挑战**:传统编程方法是基于规则的、确定性的,对于涉及理解和生成人类语言的任务显得不足,因为人类语言本身就具有歧义性和依赖语境性。
      – **人工智能优势**:像 RNN、LSTM 和 Transformer(例如 GPT、BERT)这样的人工智能模型在处理和生成自然语言方面表现出色。它们能够捕捉语言的细微差别、语境和微妙之处,从而实现翻译、摘要和对话式人工智能等任务。这些模型可以从海量数据中学习并适应新的语言模式,这是传统方法无法实现的。

      ### 2. **模式识别与异常检测**
      – **挑战**:传统编程需要明确定义的规则和模式,这使得处理模式复杂、动态或不易识别的任务变得困难。
      – **人工智能优势**:深度学习模型,尤其是卷积神经网络(CNN)和 RNN,可以自动检测和学习数据中的模式,无论是图像、时间序列,甚至是像 DNA 这样复杂的序列。人工智能可以识别过于精细而无法被传统算法识别的细微异常或模式,这在网络安全、欺诈检测和医学诊断等领域具有重要价值。

      ### 3. **自适应和个性化系统**
      – **挑战**:传统编程方法是静态的,需要手动更新才能适应新的用户行为或不断变化的环境。创建个性化体验涉及大量的复杂编码,并且往往在提供实时适应方面效果不佳。
      – **人工智能优势**:人工智能模型可以从用户交互中学习,并实时适应,以提供个性化推荐、自适应学习系统和定制化用户体验。特别是强化学习,允许系统根据反馈优化其行为,这是静态编程无法有效实现的。

      ### 4. **处理非结构化数据**
      – **挑战**:传统方法非常适合具有清晰定义格式的结构化数据。然而,文本、图像、音频和视频等非结构化数据带来了重大挑战,因为它们需要复杂的解析和解释。
      – **人工智能优势**:人工智能在处理和提取非结构化数据中的见解方面表现出色。诸如自然语言处理(NLP)用于文本、CNN 用于图像、RNN 用于音频等技术使人工智能能够理解这些数据类型,从而在情感分析、图像识别和视频摘要等领域实现应用。

      ### 5. **学习与泛化**
      – **挑战**:传统编程涉及针对每种可能情况的明确指令。对于变量众多或需要泛化超出给定规则的任务来说,这变得不可行。
      – **人工智能优势**:机器学习模型,特别是深度学习,可以从示例中进行泛化,学习潜在模式,使其能够有效处理新的、未见过的数据。这种能力对于自动驾驶等任务至关重要,因为环境会不断变化,并且无法通过预定义规则来完全预测。

      ### 6. **创造力与生成模型**
      – **挑战**:传统编程中的创造力受到程序员设定的预定义逻辑和规则的限制。生成新的、有创造性的输出,如艺术、音乐,甚至是代码,超出了传统方法的范围。
      – **人工智能优势**:生成模型,如 GAN(生成对抗网络)和基于 RNN 的序列生成器,可以创建与人类创造力非常相似的、全新的原创内容。人工智能可以生成艺术作品、创作音乐、撰写连贯的文本,甚至生成新的软件代码,其结果往往与人类创作的难以区分。

      ### 7. **复杂优化与决策**
      – **挑战**:传统的优化方法在处理极度复杂、高维度的空间或解决方案空间不甚明朗的问题时,会遇到困难。
      – **人工智能优势**:诸如强化学习和神经网络等人工智能技术,可以通过从交互中学习、模拟不同的策略并随着时间的推移进行改进,来优化复杂环境中的决策。这在供应链管理、金融交易和战略游戏等领域尤其有用,而传统算法可能无法在这些领域找到最优解决方案。

      ### 8. **实时与大规模数据处理**
      – **挑战**:传统系统在实时处理和决策方面可能会遇到困难,尤其是在处理大规模、高速度的数据流时。
      – **人工智能优势**:人工智能模型,特别是使用深度神经网络等架构构建的模型,能够处理海量数据并进行实时预测。它们可以有效地扩展,同时处理来自数百万个来源的信息,并做出近乎即时的决策,这在在线广告的实时竞价、欺诈检测和动态定价等应用中至关重要。

      ### 结论
      人工智能通过从数据中学习、泛化到新情况和适应不断变化的环境,提供了超越传统编程范围的能力。这使得人工智能能够解决需要理解复杂模式、处理非结构化数据和生成创意输出的问题——这些挑战对于基于规则的传统方法来说,本身就非常困难,甚至是不可能的。随着人工智能的不断发展,它可能会承担更复杂的任务,突破机器能力的界限,并改变它们与世界互动的方式。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。