第1节 机器学习基本概念
步骤:提取特征-建立模型-确定损失函数和进行优化求解
损失函数:衡量模型输出和标签之间的差异程度,当预测结果与标签值的差异大,则损失函数值增大。
部分数学表示:
, 表示每个样本x_i是一个d维向量, 表示x_i所属类别,K为类别的种类数。如果要建立分类模型那么就是需要一个模型:,输入是d维的向量,经过f映射后,输出在每个类别上的概率分别是,这样就可以取概率最大的类别作为结果,即 .
训练过程其实就是调整f的参数,让损失函数最小。
常见的损失函数:
- 平方损失函数:衡量预测结果和标签之间的平方差,常用语回归类问题.
- 交叉熵损失:衡量标签真实分类和分类模型预测的概率分别之间的差距.最小化交叉熵损失就是最大化样本标签的似然概率。
梯度下降算法:
对于一个多元函数,梯度定义为对其中每个自变量的偏导数构成的向量:,之后可以泰勒展开之类的,这一部分理论不赘述
算法步骤:
- 随机初始化为需要求解的参数赋初值
- 使用模型对所有样本预测,计算总体损失值
- 利用损失值对模型参数进行求导,得到相应的梯度
- 基于梯度调整参数,得到迭代后的参数
缺点:数据规模大时比较低效。1时间成本 2数据维度大,复杂度提升 3虽然可以基于所有样本得到准确的梯度,但是仅需要一次参数更新
随机梯度下降算法SDG:
每次从训练集中随机选择一个样本,计算其对应的损失和梯度,进行参数更新,反复迭代。
缺点:收敛速度慢
改进:每次使用多个样本来估计梯度-》小批量随机梯度下降