监 督 学 习 监督学习 监督学习
监督学习:给定带标签的N个训练样本
学习到一个x->y的映射 f,从而对新输入的x进行预测
回归/分类
若标签y为离散值/类别,称为分类
– 如根据蘑菇的颜色、形状等判断蘑菇是否有毒:y=1,可食用; y=0,
有毒
若标签y为连续值,称为回归
– 如根据房屋的位置、面积等估计房屋价格,y为房屋价格
回归
最简单的模型:线性模型
对回归问题:
称为线性回归
分类
对两类分类问题,标签为二值变量,p(y|x)为Bernoulli分布
– 线性模型:计算输入x的线性组合:
– 但由于f(x) ∈ [0,1] ,但经过一个sigmoid函数做变换(S形函数):
– 亦被称为logistic函数或logit函数
– 综合起来:
• 和线性回归相似,因此被称为Logistic回归(虽然是分类)
模型参数
- 确定模型类别后,模型训练转化为求解模型参数
- 如对线性模型
- 参数为
D为特征维数 - 求解模型参数:目标函数最小化
目标函数
目标函数通常包含两项:损失函数和正则项
损失函数—回归
损失函数:度量模型预测值与真值之间的差异
对回归问题:令残差
– L2损失:
– L1损失:
– Huber损失:
损失函数——分类
损失函数:度量模型预测值与真值之间的差异
对分类问题
– 0-1损失:
– Logstic损失: 亦称负log似然损失:
– 指数损失:
• AdaBoost中采用,对噪声敏感
正则项
- 不能只选择损失最小的模型,因为复杂的模型可能和训练 数据拟合得非常好,在训练集上可以损失几乎为0
- 但测试数据和训练数据虽然是来自同分布的独立样本,但只是分布相同,随机变量取值会变化
- 训练数据中可能会有噪声,模型不应该将噪声包含在内
- 复杂模型(预测)不稳定:方差大
所以需要控制模型复杂度
所以出现了正则项:对复杂模型施加惩罚
常用正则函数:
过拟合:
– 当模型复杂度增加时,训练误差继续下降,甚至趋近于0,而测试误差反而增大
训练集上的误差 ≠ 测试集上的误差
- 推广性(generalization):学习器可在新的测试数据上表现好
- 复杂的曲线不能泛化/推广到新数据上:根据特定输入调制得太好,而不是真正建模x与y之间的关系
– 被称为数据过拟合(overfitting )
岭回归,就是加入了正则惩罚项的回归
**欠拟合:**模型太简单/对复杂性惩罚太多
L1正则和稀疏模型:
L1正则会使得某些参数刚好为0 -> 稀疏模型
非线性模型
线性模型非线性化
- 基函数:x^2、log、exp、样条函数、决策树…
- 核化:将原问题转化为对偶问题,将对偶问题中的向量点积<xi, xj>换成核函数k(xi, xj)
- 施加非线性变换:如(深度)神经网络中对输入的线性组合再施加非线性激活函数,然后再多层叠加