说明:本文依据《Sklearn 与 TensorFlow 机器学习实用指南》完成,所有版权和解释权均归作者和翻译成员所有,我只是搬运和做注解。
第四章是对模型训练内部工作流程的了解,帮助炼丹师们找到恰当的学习模型、算法、数据集。
为了尽量简单(懒),在这里默认已经了解线性回归、多项式回归、损失函数、梯度下降
1. 简单的线性回归模型,讨论两种不同训练方法的最优解
封闭方程求根运算,得到模型在当前训练集上的最优解。
迭代优化(梯度下降GD),调整模型参数获取最小损失函数。批量梯度下降、随机梯度下降、小批量梯度下降。
2. 多项式回归,用来拟合非线性数据集
介绍正则方式减少过拟合的出现
3. 介绍Logistic回归
4. 介绍Softmax回归
4. 介绍Softmax回归
原理
将逻辑回归推广到多类别分类,就是Softmax回归。
这部分讲得比较系统,从逻辑回归推导到Softmax回归。每一类概率预测公式和线性回归预测公式一样。
但是,因为是多类别分类,每一个分类的参数向量都是独立的,统一存放在参数矩阵Θ中。
在计算了样本中每一类的得分后,通过Softmax函数计算出属于第k类的概率,然后通过除以所有份子总和进行归一化。
K表示有多少类
S(X)表示包含样本X的每一类的得分向量
σ(S(X))k表示给定每一类分数之后,实例X属于第k类的概率
在预测结果中,通过argmax计算函数的最大值,即返回σ(S(X))k最大时k的值。
注意:Softmax回归分类一次只能输出一个类,无法像随机数森林那样同时针对多个输入处理后输出多个结果。在多人面部识别中无法使用。
训练Softmax回归
使用交叉熵进行训练。交叉熵能够应对y=1和y=0两种情况
J(\Theta)=-1/m\Sigma_^m\Sigma_^ky_^{(i)}log(p_^{(i)})
然后对交叉熵公式求偏导
\Delta_{\theta_k}J(\Theta)=1/m\Sigma_^m(p_k^{(i)}-y_k^{(i)})X^{(i)}
通过计算每一类的梯度向量,使用优化算法使损失函数达到最小值。
使用Softmax回归对iris数据集进行分类
领取专属 10元无门槛券
私享最新 技术干货