技术|机器学习基础知识梳理

一、机器学习的基本概念
1、定义:
机器学习是指对于某个特定任务,从数据中学出一个模型,然后用某种衡量方式来表示该模型的性能。
2、机器学习常见任务:
a、分类 b、输入缺失分类 c、回归 d、转录 e、机器翻译 f、结构化输出 g、异常检测 h、合成和采样 i、缺失值填补 j、去噪 k、密度估计或概率质量函数估计
3、性能度量:
为了评估机器学习算法的能力,我们必须设计其性能的定量度量,即性能度量。性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果,这意味着模型的好坏是相对的,什么样的模型是好的,不仅取决于算法和数据,还取决于任务需求。它的选择或许看上去简单且客观,但是选择一个与系统理想表现对应的性能度量通常是很难的。
4、机器学习算法分类:
根据学习过程中的不同经验,机器学习算法可以大致分类为无监督学习算法和监督算法。
a、无监督学习算法:让算法训练含有很多特征的数据集,然后从中学习出这个数据集中有用的结构性质,确切地说是算法学会在没有指导的情况下理解数据,通常生成数据集的整个概率分布。显示地任务例子如密度估计,隐式地如合成或去噪。
b、监督学习算法:让算法训练那些含有很多特征且数据集中的样本都带有一个标签或目标的数据集。更数学化说,监督学习是观察数据集中随机向量x(输入)及其相关联的值或向量y(目标输出),然后从x预测y,通常是估计p(y|x)。
无监督学习与监督学习并没有严格的界限!
二、线性回归
a、原理:简言之,线性回归解决回归问题。也就是建立一个系统,输入向量x,预测标量y作为输出,通过不断地权重修改,是预测值不断地接近于目标值,使均方误差无限趋于0。本质上是直线的拟合,使输入变量到输出变量之间映射的函数很好地预测未知数。它可分为一元回归(单个特征)和多元回归(多个特征)。
b、评估指标:R-Squared 和 Adjusted R-Squared 、F Statistics (指在零假设成立的情况下,符合F分布的统计量)、RMSE (均方根误差)、MSE (均方误差)、MAE (评价绝对误差)。
三、容量、欠拟合和过拟合
决定机器学习算法效果好坏的两个因素:a、降低训练误差。b、缩小训练误差和测试误差的差距。而与这两个因素对应的是机器学习的两个主要挑战:欠拟合和过拟合。欠拟合是指模型不能在训练集获得足够低的误差,而过拟合是指训练误差和测试误差之间的差距太大。而通过调整模型的容量,我们可以控制模型是否偏于过拟合或者欠拟合。通俗来讲,模型的容量是指其拟合各种函数的能力。容量低的模型可能很难拟合训练集。容量高的模型可能会过拟合,因为记住了不适用于测试集的训练集性质。一种控制训练算法容量的方法是选择假设空间,即学习算法可以选择为解决方案的函数集。例如,线性回归函数将关于其输入的所有线性函数作为假设空间。广义线性回归的假设空间包括多项式函数,而非仅有线性函数。这样做就增加了模型的容量。
四、估计、偏差和方差
1.点估计:
令 {x (1) ,…,x (m) } 是 m 个独立同分布(i.i.d.)的数据点。点估计(point esti-mator)或统计量(statistics)是这些数据的任意函数:
技术|机器学习基础知识梳理
文章图片

良好的估计量的输出会接近生成训练数据的真实参数 θ。
点估计也可以指输入和目标变量之间关系的估计。我们将这种类型的点估计称为函数估计。
2.偏差:
估计的偏差被定义为:
技术|机器学习基础知识梳理
文章图片

其中期望作用在所有数据(看作是从随机变量采样得到的)上,θ 是用于定义数据生成分布的 θ 的真实值
如果 bias( ? θ m ) = 0,那么估计量?θ m 被称为是无偏(unbiased),这意味着 E( ? θ m ) = θ。
如果 lim m→∞ bias( ? θ m ) = 0,那么估计量?θ m 被称为是渐近无偏(asymptotically unbiased),这意味着 lim m→∞ E( ? θ m ) = θ
3.方差和标准差:
估计量的方差(variance)就是一个方差
技术|机器学习基础知识梳理
文章图片

方差的平方根被称为标准差(standard error),记作SE( ? θ)
【技术|机器学习基础知识梳理】均值的标准差被记作
技术|机器学习基础知识梳理
文章图片

均值 ? μ m 为中心的 95% 置信区间是
技术|机器学习基础知识梳理
文章图片

算法 A 比算法 B 好,是指算法 A 的误差的 95% 置信区间的上界小于算法 B的误差的 95% 置信区间的下界
均方误差:
技术|机器学习基础知识梳理
文章图片

五、优化方法
a、梯度下降法 b、牛顿法 c、拟牛顿法等
此处主讲随机梯度下降:
梯度下降算法很好理解,以简单的二元函数为例,如果我们想找到二元函数的极值,一般第一步我们是对该二元函数求导,然后令其为0,找出此时自变量的值,将该自变量代入函数式,即可求出该函数的极值。
随机梯度下降算法是为了解决深度学习中多元目标函数的最优值问题。
为什么叫随机梯度下降算法呢?这里的随机是指每次迭代过程中,样本都要被随机打乱,这个也很容易理解,打乱是有效减小样本之间造成的参数更新抵消问题。
随机梯度下降算法通常还有三种不同的应用方式,它们分别是SGD、Batch-SGD、Mini-Batch SGD,下面分别解释一下这三种方式的不同:
a、SGD是最基本的随机梯度下降,它是指每次参数更新只使用一个样本,这样可能导致更新较慢;
b、Batch-SGD是批随机梯度下降,它是指每次参数更新使用所有样本,即把所有样本都代入计算一遍,然后取它们的参数更新均值,来对参数进行一次性更新,这种更新方式较为粗糙;
c、Mini-Batch-SGD是小批量随机梯度下降,它是指每次参数更新使用一小批样本,这批样本的数量通常可以采取trial-and-error的方法来确定,这种方法被证明可以有效加快训练速度。
总结:以上是我对机器学习算法基础的简单回顾,由于第一次使用并且时间匆忙,内容和格式上漏洞百出,望大家理解,我会不断进步的!
参考资料:《深度学习》,古德菲洛和本吉奥、库维尔三位教授所著:《机器学习》,周志华教授所著; 及大来博主关于机器学习基础的文章,链接如下:
https://www.cnblogs.com/bigcome/

    推荐阅读