机器学习定义
Arthur Samual(1959):在没有明确设置的情况下,使计算机具有学习能力的研究领域。
机器学习是研究使计算机完成复杂任务并且无须对其进行明确编程的科学学科,机器学习中的算法将学习如何解决给定的任务,这些算法包括来自统计学、概率论和信息理论的方法和技术。
机器学习的典型步骤
机器学习项目由多个步骤组成,通常可以分为以下几个步骤。
(1)收集数据。首先需要从各种来源收集数据,可以是日志文件、数据库记录、传感器信号等。
(2)清理和准备数据。数据并不总是适用于机器学习的结构化形式(文本、图像、声音、二进制数据等),因此需要设计一种方法将这些数据转换成数学特征。还需要处理缺失数据,代表着同一含义却有不同形式的的数据(如一家公司的全称和缩写)等等。也需要适当进行缩放,以便所有维度都处在可比较的范围。
(3)分析数据和提取功能。通过分析数据来得出数据相关性并将其可视化。对数据进行降维,选择合适的机器学习算法并把数据集划分为训练集、测试集和校验集。
(4)训练模型
(5)评估模型。将模型用于验证数据集,并根据某些条件评估其性能。
(6)使用模型。
监督学习
使用了样本标签的学习过程
无监督学习
没有使用样本标签的学习过程
半监督学习
监督学习和无监督学习的结合方法。样本中存在有标签数据和无标签数据,半监督学习使用有标签的数据对无标签的数据“打标签”。
强化学习
强化学习过程通过不断跟环境进行交互来达到更好的效果。对每次训练的结果进行评估,效果好的情形下对其进行“奖励”,否则进行“惩罚”。
凹凸函数
在最优化的问题当中,我们想得到全局的最优点,所以我们在设计目标函数时,会尽可能把它们转换成凹凸函数,这个过程称为“凸优化”。凸优化的定义为: 约束条件为凸集,目标函数是凸函数。非凸优化问题转化为凸优化问题的方法是: 修改目标函数,将其转化为凸函数,此外抛弃一些约束条件,使可行域为凸集,这个可行域包含了原有的集合。
损失函数,Loss
神经网络中使用的代价函数称为损失函数,损失函数衡量了评分函数的预测与真实样本标签的吻合度,Loss的值都会设置为和吻合程度负相关。
交叉熵损失函数
梯度下降法
“梯度下降”顾名思义,就是针对目标函数的Loss函数,在训练的过程中每次更新权重,以求得更小的Loss函数值。
批量梯度下降
训练过程使用了所有的训练数据。这种方法在数据量比较大的情况下,会导致权重更新比较慢。
随机梯度下降
每次更新权重时只考虑一个样本点,这种方法在权重更新时虽然比较快,但是只能到达极小值点,并且对噪声样本点敏感。
小批量梯度下降
随机使用一部分数据进行权重的更新,解决了“批量梯度下降”权重更新慢,和“随机梯度下降”噪声敏感的问题。