正文
无监督学习就像无师自通的领悟,效率较差。有老师教学就会快得多。监督学习是最广泛最成功应用的机器学习,用我们知识来标记样本,去“教”机器学会回答问题。这个问答在数学上,是从问题的属性空间映射到答案空间的一个函数。机器学习的基本算法是从一族候选函数中,比如说线性函数,通过计算选取出与预测样本标记误差最小的函数。这个选取多是通过迭代法,沿着减小误差的梯度方向,不断修正候选函数的参数来实现。这个过程称为训练。
对于数值结果的问题,线性回归几乎是最基本的机器学习,几百年前人们就用它从实验数据中导出经验公式。采用最小二乘法,求出与它们误差最小的直线或超平面。它有公式解,在线性代数上称为“正规方程(Normal Equation)”的线性方程解。然而,商业应用中的机器学习模型未知参数数量巨大,公式解要求非常大的计算机内存和计算量来实现,通常是用梯度法迭代求出近似解。这是被应用最广泛的数值预测的学习方法。
输入属性x与答案y不是线性关系怎么办?通过增加一些输入x的非线性函数值作为新添的属性,例如x2, x3,…,来扩充属性空间的维数,可以把它们的对应表达成线性关系,这在样条函数逼近理论上,已有很好的数学研究。在应用上,它相应于选取足够多的输入属性表达。例如房价的估值,所在的地区和房子的面积是基本的属性,当它用线性回归误差较大时,加入与已有属性是非线性关系的邻居平均房价,房间卫浴个数,装修等级等来扩充属性空间的维数,便可取得较好模型精度。
对于分类模式的判断,逻辑回归是基本的算法。在直观上是用一个超平面把输入属性空间分成两半,逻辑上对应着0和1。超平面用一个线性函数表示,输出对应于这线性函数值是否大于0。多个的超平面将属性空间分成多类。能够这样归类的数据称为是线性可分的。上世纪五十年代AI热潮中的感知器(Perceptron),用一个Sigmoid作用函数 S(z)=1/(1+exp(-z)) 加在线性函数之后,即 y = S (〈w, x〉- b),让输出结果基本饱和在0和1,并且易于导出修正误差的梯度。它模拟了一个神经元的功能,它们组成的单层神经网络,能很好处理线性可分的模式识别。对于不是线性可分的模式,可以采用上述增加输入特征属性的方法,让它在高维空间上线性可分。