机器学习入门简介

小天
• 阅读 361

在这篇博文中,我们将简要介绍以下主题,为您提供机器学习的基本介绍:

  • 什么是机器学习
  • 训练机器学习模型
  • 优化参数
  • 神经网络

如果您不是专家,请不要担心 — 这篇博文所需的唯一知识是基础高中数学。

什么是机器学习?

牛津词典将机器学习定义为:“计算机从经验中学习的能力”。

机器学习的目标是提出可以学习如何基于示例数据执行特定任务的算法。举个例子:假设我们要编写一个程序来玩围棋游戏。我们可以通过手动定义如何玩游戏的规则来编写这个程序。我们可能会编写一些开局策略和决策规则——例如,从棋盘中心开具会比较好。

但是有一个问题。手动编写这些规则意味着它们会很快变得非常复杂,并且受到我们作为程序员可以想出的策略的限制。更好的解决方案是构建机器学习算法。机器学习可以根据示例和经验学习如何下围棋,就像人类一样。这就是 DeepMind 对他们的AlphaGo程序所做的,这是一种基于深度学习的机器算法,结果非常好,它战胜了(人类)围棋世界冠军。

训练机器学习模型

机器学习算法基于标记数据的示例训练模型。机器学习算法通常定义具有可调参数的模型和优化算法,如下图所示。该模型以数据 ( x )的形式接受输入,并根据输入数据及其参数生成输出 ( y )。优化算法试图找到参数的最佳组合,以便在给定示例x的情况下,模型的输出y尽可能接近预期输出。经过训练的模型将表示给定x产生输出y的特定函数f。所以:y=f(x)。 机器学习入门简介

优化

有很多方法可以找到最佳参数组合,使模型f的输出y尽可能接近给定输入x的预期输出。一种方法是尝试所有可能的参数组合,然后选择能提供最佳结果的组合。如果只有有限数量的参数组合,这可能会奏效,但对于具有数千甚至数百万个参数的典型机器学习模型,这是完全不切实际的。幸运的是(并感谢 17 世纪数学家牛顿的发明),有一种更好的方法可以为某些类型的模型找到最优解, 这就是导数(通常也称为梯度)。函数的导数表示函数相对于其参数之一如何变化,并指向函数增加的方向。如果我们有一个具有参数p的函数f,那么函数f相对于参数p的变化dp的变化 df记为df(p)/ dp。 机器学习入门简介

那么如何使用这个导数来让模型的优化更高效呢?假设我们有一些数据(x, t)以便输入x对应于目标t。此数据绘制如下:

机器学习入门简介

如果我们现在想要为所有给定示例创建一个模型,该模型最接近给定输入x的目标t,那么我们可以尝试通过原点拟合一条直线(这也称为线性回归)。这条直线可以用函数y=f(x)表示,其中f(x)=p⋅x其中p是模型的唯一参数(注意p表示直线的斜率)。该模型可以直观地表示为:

机器学习入门简介

为了找到参数p使y=x⋅p对于所有给定的示例(x,t)都尽可能接近t,我们必须以数学方式定义“接近度”的度量。此度量也称为成本函数。此问题的典型成本函数是对所有示例(x,t)的目标t和模型输出y之间的所有绝对差值的平方求和:|ty|²。最终成本函数变为∑|t - (x⋅p)|²,其中 sigma 表示总和。因为这个例子非常简单,我们实际上可以很容易地将所有参数p的成本函数可视化: 机器学习入门简介

为了找到最佳参数p,我们需要最小化代价函数。请记住,我们的模型有一个参数p,接受输入x并产生输出y。我们可以将此模型写为y=x⋅p。由于成本是∑|ty|²我们可以替换y,并将成本函数写为∑|t - (x⋅p)|²。如果我们想最小化这个函数并使输出y尽可能接近目标t ,我们可以为每个输入样本(x,t)尝试所有可能的p值并选择p的值其中所有输入样本的成本总和最低。在这种情况下尝试p的所有可能值是可能的,但模型具有的参数越多,很快就会变得不可行。这就是衍生品发挥作用的地方。有了导数,我们可以简单地为p选择一个随机起始参数值,然后开始沿相反方向跟随导数以找到成本函数的最低点。这种随着导数(梯度)下降的过程也称为梯度下降。该过程如下图所示,我们从p=0.3开始并按照梯度进行 12 步,同时提高模型对数据的拟合度(右图拟合的线)。当成本不再下降太多时,我们停止拟合模型,因此找到的最终参数p为1.94,成本为0.451。请注意,最后一行比初始行更适合数据(x,t) 。

机器学习入门简介

神经网络

从本质上讲,如果我们训练神经网络模型,就会发生这种情况。然而,更典型的神经网络模型由比我们的y=x⋅p模型复杂得多的函数组成。神经网络模型种类繁多,但通常它们都是可微分的,并且可以使用梯度下降法进行优化,正如我们在这篇博文中所说明的那样。

例如,用于计算机视觉的典型神经网络将由多个层组成。每层都有成百上千个参数,后面跟着一个非线性函数。在神经网络中拥有多层是“深度学习”一词的来源。在模型中使用多层的好处是每一层都可以使用在前一层中提取的信息来构建更复杂的数据表示。正因为如此,神经网络才被证明如此强大,成功训练以多种复杂模型以解决实际应用场景。关于神经网络的知识,我们会在下一篇详细介绍。

点赞
收藏
评论区
推荐文章
小天 小天
1年前
深度学习简介
在这篇博文中(https://www.helloworld.net/p/6137616368),我们简要介绍了机器学习。对于大多数人来说,深度学习和机器学习这两个术语似乎是AI世界中可以互换的流行语。然而,事实并非如此。因此,每个想要更好地了解人工智能领域
Wesley13 Wesley13
2年前
AI金融知识自学偏量化方向
前提:统计学习(统计分析)和机器学习之间的区别金融公司采用机器学习技术及招募相关人才要求第一个问题:  机器学习和统计学都是数据科学的一部分。机器学习中的学习一词表示算法依赖于一些数据(被用作训练集),来调整模型或算法的参数。这包含了许多的技术,比如回归、朴素贝叶斯或监督聚类。但不是所有的技术都适合机器学习。例如有一种统计和数
Wesley13 Wesley13
2年前
Java程序员实战机器学习——从聚类算法开始
本文适合有编程经验的程序员,是一篇机器学习的”Helloworld!”,没什么理论知识,在意理论准确性的人请绕道。前言人工智能无疑是近年来最火热的技术话题之一,以机器学习为代表的人工智能技术,已经慢慢渗透到我们生活的方方面面,任何事物只要沾上机器学习的边,似乎就变得高大上了。作为处于技术大潮中程序员,我们离机器学习是那么地近,却又
人工智能人才培养
No.1第一天一、机器学习简介与经典机器学习算法介绍什么是机器学习?机器学习框架与基本组成机器学习的训练步骤机器学习问题的分类经典机器学习算法介绍章节目标:机器学习是人工智能的重要技术之一,详细了解机器学习的原理、机制和方法,为学习深度学习与迁移学习打下坚实的基础。二、深度学习简介与经典网络结构介绍神经网络简介神经网络组件简介神经网络训练方法卷积神经网络介
机器学习基础
机器学习基础本章涵盖了以下主题:分类和回归之外的其他类型的问题;评估问题,理解过拟合、欠拟合,以及解决这些问题的技巧;为深度学习准备数据。请记住,在本章中讨论的大多数技术都是机器学习和深度学习通用的,一部分用于解决过拟合问题的技术(如dropout)除外。4.1 三类机器学习问题在之前的所有例子中,尝试解决的是分类(预测猫或狗)或回归(预测用户在平台上
京东云开发者 京东云开发者
9个月前
从零开始初识机器学习 | 京东云技术团队
本篇文章中我们将对机器学习做全面的了解与介绍,其中第一章初识机器学习分为上下两个小章节,对机器学习是什么、机器学习由来以及机器学习的理论等展开说明。目的是能让即便完全没接触过机器学习的人也能在短时间对机器学习有一个全面了解。
程昱 程昱
1个月前
机器学习中的概率统计应用实践 | 更新完结
机器学习中的概率统计应用实践|更新完结download》quangneng.com/4846/概率统计在机器学习中的应用实践一、引言概率统计作为数学的一个重要分支,在机器学习领域发挥着不可替代的作用。机器学习是一门研究如何让计算机从数据中自动学习并做出预测
臧霸 臧霸
3星期前
Python3入门机器学习 经典算法与应用 轻松入行人工智能
这是一个很好的入门指南,旨在帮助读者了解机器学习的基础概念和经典算法,并通过Python实现这些算法。它适合那些希望开始学习机器学习和人工智能领域的初学者。这本书的主要内容可能包括:机器学习基础知识:介绍机器学习的基本概念、术语和工作原理。Python编程
迁移学习核心技术的开发与应用
一、机器学习简介与经典机器学习算法介绍1.什么是机器学习?2.机器学习框架与基本组成3.机器学习的训练步骤4.机器学习问题的分类5.经典机器学习算法介绍章节目标:机器学习是人工智能的重要技术之一,详细了解机器学习的原理、机制和方法,为学习深度学习与迁移学习打下坚实的基础。二、深度学习简介与经典网络结构介绍1.神经网络简介2.神经网络组件简介3.神经网
马尚 马尚
1星期前
用Python和机器学习识别英文数字验证码
在本项目中,我们将展示如何使用Python和机器学习技术来识别英文数字验证码。英文数字验证码通常包含了一系列随机生成的字母和数字,我们将利用机器学习模型来训练识别这些验证码。首先,我们需要导入所需的库:pythonimportosimportnumpyas
小天
小天
Lv1
男 · Meta · 软件工程师
兴趣是最好的老师。
文章
7
粉丝
7
获赞
10