学习地址:点进去
一、分类与回归
分类和回归的区别在于输出变量的类型。
- 定量输出称为回归,或者说是连续变量预测;
- 定性输出称为分类,或者说是离散变量预测。
二、线性回归
1.损失函数是什么?
损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。
简单来说:机器学习模型关于单个样本的预测值与真实值的差(绝对值误差损失)称为损失。损失越小,模型越好,如果预测值与真实值相等,就是没有损失。用于计算损失的函数称为损失函数。模型每一次预测的好坏用损失函数来度量。
严格来说(维基百科的定义):损失函数 在 最优化 , 统计学 , 计量经济学 , 决策论 , 机器学习 和 计算神经科学 的领域中, 损失函数 或 成本函数 是指一种将一个事件(在一个样本空间中的一个元素)映射到一个表达与其事件相关的经济成本或机会成本的 实数 上的一种函数,借此直观表示的一些"成本"与事件的关联。 一个 最佳化问题 的目标是将损失函数最小化。 一个 目标函数 通常为一个损失函数的本身或者为其负值。 当一个目标函数为损失函数的负值时,目标函数的值寻求最大化。
例如本节中:
常见的损失函数还有:(1)mean squared error(均方误差)
均方误差(mse),代表计算每一对真实值和预测值之间的误差的平方和。
其中, 和 分别表示第 i 个样本的真实值和预测值,m 为样本个数。
优点:
- Mse随着误差的减小,梯度也在减小,有利于函数的收敛,能较快取得最小值。
缺点:
- 当 与 的差值大于 1 时,会增大其误差;当与 的差值小于 1 时,会减小其误差。这是由平方的特性决定的。也就是说, MSE
会对误差较大(>1)的情况给予更大的惩罚,对误差较小(<1)的情况给予更小的惩罚。从训练的角度来看,优化算法为了降低损失,模型会更加偏向于惩罚较大的点,赋予其更大的权重。即会给离群点赋予更高的权重,受离群点的影响较大,拟合线会往离群点除偏,但却是以牺牲非离群点的预测效果为代价,会降低模型的整体性能;
(2)mean absolute error(平均绝对误差)
平均绝对误差(mae),指的是模型预测值 与样本真实值 之间距离的平均值。
优点:
- MAE 相比 MSE 有个优点就是 MAE 对离群点不那么敏感,更有包容性。
缺点:
- MAE 的曲线呈 V 字型,连续但在 -=0 处不可导,计算机求解导数比较困难。
(3)Huber Loss
平滑平均绝对误差,综合了mae和mse的优点。其缺点是需要额外运算去确定本身的超参数。
Huber Loss,包含了一个超参数 。 值的大小决定了 Huber Loss 对 MSE 和 MAE 的侧重性,当 |y−f(x)| ≤ σ 时,变为类似于 MSE;当 |y−(x)| > σ 时,则变成类似于 MAE,因此 Huber Loss 同时具备了 MSE 和 MAE 的优点,减小了对离群点的敏感度问题,实现了处处可导的功能。
Huber Loss 在 |y−(x)| > δ 时,梯度一直近似为 ,能够保证模型以一个较快的速度更新参数。当 |y−(x)| ≤ σ 时,梯度逐渐减小,能够保证模型更精确地得到全局最优值。
2. 最小二乘法/梯度下降
(1)最小二乘
- 损失函数:
- 求导可得:
使导数右侧为0可得:
如果X点乘X的转置可逆则有唯一解,否则无法如此求解。
(2)梯度下降
3.岭回归
加上l2的线性回归:
在用最小二乘推导的过程和上面一样,最后在结果上进行了平滑,保证有解:
4.使用场景
(1)样本数少,或者样本重复程度高,使用岭回归(L2正则);
(2)特征过多,稀疏线性关系,目的为了在一堆特征里面找出主要的特征,用Lasso回归(L1正则)。
二、逻辑回归
逻辑回归是非线性回归的一种,在实际应用过程中主要用于解决二分类问题,主要是将线性函数的结果映射到sigmoid函数中,找到分类超平面。
1.基本原理
定义逻辑回归的预测函数为:
其中g(x)函数是sigmoid函数,表示为
sigmoid函数有个很漂亮的“s”形,如下图所示:
则逻辑回归的预测函数可表示为:
2.决策边界
可以认为x = 0是一个决策边界,当它大于0或小于0时,逻辑回归模型分别预测不同的分类结果。
假设逻辑回归方程为:
则当 -3+x1+x2>=0 时,y=1;则 x1+x2=3 是一个决策边界,如下图所示:
上述只是一个线性的决策边界,当逻辑回归方程更复杂时我们可以得到非线性的决策边界。例如:
决策边界是一个圆形,如下图所示:
3.代价函数
逻辑回归的代价函数如下所示:
其中:
简化逻辑回归的代价函数:
4.梯度下降法
通过梯度下降法最小化逻辑回归的代价函数:
5.逻辑回归实例
需求:
读取LR-testSet.csv文档,其中第一列是自变量x,第二列是对应于自变量x的因变量y,第三列是点(x,y)对应的类别。要求根据类别画出决策边界,以及loss值随迭代次数的变化图。