Skip to main content

Machine Learning

机器学习的三个要素:模型、训练数据、学习方式。

模型简单理解就是一个数学函数,这个函数的参数非常多,多达几千万、几亿个。

训练模型就是利用大量的训练数据来调整这个数学函数的参数。通过训练集的调教,让这几亿个参数达到较为理想的状态,使得在测试集中输入指定的数据就能得到预期的输出。

“训练”一词是以人为主体的表示,如果以“机器”为主体,则称之为“学习”。

机器学习的方式主要分为三种:分别是有监督学习 (Supervised Learning)、无监督学习 (Unsupervised Learning) 和强化学习 (Reinforcement Learning)。

  • 有监督学习:指的是我们在给机器提供训练数据时,提供的数据是带有标签或类别信息的,这样机器才能够学习输入和输出之间的映射关系,从而对新的输入进行预测。有监督学习的应用场景非常广泛,如图像识别、股价预测等。
  • 无监督学习:即提供给机器训练的数据是未被标记的数据,由机器自己通过某些算法发现数据之间的潜在结构与规律。无监督学习的应用场景有异常检测、推荐系统等。
  • 强化学习:是一种让机器自己学习如何做出正确决策的方式。就像人类玩《飞机大战》这个游戏一样,不同的操作会得到环境的不同反馈(扣分或加分),基于环境反馈,机器会不断调整、优化自己的操作,最终达到获取最高分的目的。强化学习适用于那些目标不确定、环境动态变化、需要长期规划的问题,如自动驾驶、机器人控制、游戏 AI 等。

实际应用中模型是由非常多的数学函数以网状或更加复杂的形状形成的一个拓扑结构,由于这种拓扑结构与人的神经网络结构非常相似,我们称之为人工神经网络(Artificial Neural Network,ANN)。人工神经网络根据实际应用场景的不同发展出多种形态,应用最广泛的神经网络有:前馈神经网络(Feedforward Neural Network, FNN)、卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)。

  • 前馈神经网络:前馈神经网络也被称为多层感知器(Multilayer Perceptron, MLP),是一种最简单且最原汁原味的经典神经网络,它由多个神经元层组成,每一层神经元接收上一层的输出作为输入,通过权重和激活函数计算得出输出,传递给下一层神经元。前馈神经网络通常由输入层、若干个隐藏层和输出层组成。每个神经元的计算公式可以表达为 Y=f(a1*x1+a2*x2+a3*x3+……+an*xn+b),其中 x 为输入,a 为权重,b 为偏置,f 为激活函数(如 ReLU 函数、sigmoid 函数等)。在训练过程中,神经网络通过学习调整权重和偏置,使得预测结果与真实值之间的误差最小化。前馈神经网络最经典例子就是数字识别,即我们随便给出一张上面写有数字的图片并作为输入,由它最终给出图片上的数字到底是几。
  • 卷积神经网络常用于处理具有网格状结构的数据,如图像、音频、文本等。其基本组成部分包括卷积层、池化层和全连接层。其中,卷积层通过卷积操作对输入数据进行特征提取,池化层则对卷积层的输出进行降采样,减少特征数量和计算量,全连接层(就是上文所说的前馈神经网络)则将特征映射到输出类别上。卷积神经网络由于其强大的特征提取能力被广泛的应用于图像识别上(前馈神经网络能够处理体积小、简单的图像,但对于体积大、复杂的图像还是得由卷积神经网络来处理)。
  • 循环神经网络是一类具有循环连接的神经网络,能够处理序列数据,如语音、文本和时间序列数据等。与前馈神经网络不同,它能够将网络前一序列的输入保留下来,作为本次序列输入的一部分,使其具有记忆能力,从而实现对序列数据的建模和预测。循环神经网络由于其具有记忆的特点被广泛应用于自然语言处理领域。