简单学习器入门:感知机与决策树
在机器学习领域,掌握基础技术对于理解和运用更复杂的学习技术至关重要。本文将介绍两种基础的机器学习算法:感知机和决策树,通过实例和代码展示它们的工作原理和应用。
感知机:线性分类的先驱
感知机是最早用于机器学习的线性算法之一,由Frank Rosenblatt于1957年在康奈尔航空实验室开发。最初,感知机不仅是软件,还运行在专用硬件上,能够比当时的其他计算机更快、更精确地识别复杂图像。Rosenblatt曾宣称感知机是一种新型计算机的雏形,具有人类大脑的能力,但它很快显示出局限性,引发了第一次AI寒冬。
感知机的工作原理
感知机是一种迭代算法,通过不断逼近,确定向量 $w$(系数向量)的最佳值。将向量 $w$ 与特征矩阵 $X$ 相乘,再加上常数项(偏置),输出的符号可用于预测二元分类问题中每个示例的类别。
感知机的自然专长是二元分类,但也可以使用多个模型(一对多策略)来预测多个类别。它试图最小化错误函数,只针对分类错误的示例进行优化。
错误函数的计算步骤如下:
1. 选择分类错误的示例,将其特征向量与向量 $w$ 相乘。
2. 由于是向量乘法,需要对特征向量进行转置,确保结果为一个数值。
3. 将乘法结果加上偏置。
4. 将上述结果乘以应该预测的值(第一类为 +1,第二类为 -1)。
5. 对所有分类错误的示例重复上述步骤,并将结果求和。由于错误函数前面有负号,最终结果为正数,且错误数量越多,结果越大。
当没有分类错误时,求和结果为零,此时可以应用公式 $y = sign(Xw + b)$ 输出预测向量,其中包含一