- 线性模型、线性回归与广义线性模型
- 逻辑回归
- 工程应用经验
- 数据案例讲解
1. 线性模型、线性回归与广义线性回归
1.1 线性模型
线性模型(linear model)试图学得一个通过属性的线性组合来进行
预测的函数:简单、基本、可解释性好
1.2 线性回归
-
有监督学习→学习样本为
输出/预测的结果y i 为连续值变量
需要学习映射
-
假定输入x和输出y之间有线性相关关系
一个简单的例子
让一个六年级的孩子在不问同学具体体重多少的情况下,把班上同学按照体重从轻到重排队。这个孩子会怎么做呢?
他有可能会通过观察大家的 身高 和 体格 来排队。
房价预测例子(一元)
面积 (x,平方英尺) | 价格 (y,千美元) |
---|---|
2104 | 460 |
1416 | 232 |
1534 | 315 |
852 | 178 |
... | ... |
房价预测例子(多元)
训练集
面积(x1,平方英尺) | 卧室个数(x2,个) | 楼层(x3,层) | 房龄 (x4,年) | ... | 价格(y,千美元) |
---|---|---|---|---|---|
2104 | 5 | 1 | 45 | ... | 460 |
1416 | 3 | 2 | 40 | ... | 232 |
1534 | 3 | 2 | 30 | ... | 315 |
852 | 2 | 1 | 36 | ... | 178 |
测试集
面积(x1,平方英尺) | 卧室个数(x2,个) | 楼层(x3,层) | 房龄 (x4,年) | ... | 价格(y,千美元) |
---|---|---|---|---|---|
1500 | 3 | 2 | 3 | ... | ? |
损失函数(loss function)
我们希望找到最好的权重/参数]
如何衡量“最好”?
我们把x到y的映射函数f记作定义损失函数为:
最小化损失函数
均方误差损失是一个凸函数
====>
梯度下降
逐步迭代减小损失函数(凸函数)
如同下山,找准方向(斜率),每次迈进一小步,直至山底
一元的损失函数
二元的损失函数
====>
梯度下降学习率的影响
太小收敛速度太慢 太大会震荡甚至不收敛
一元的损失函数
欠拟合与过拟合(以多项式回归为例)
- 欠拟合:模型没有很好地捕捉到数据特征,不能够很好地拟合数据
- 过拟合:把样本中的一些噪声特性也学习下来了,泛化能力差
实际工业界使用的各种模型都存在过拟合的风险:
- 更多的参数/特征,更复杂的模型,通常有更强的学习能力,但是更容易“失去控制”
- 训练集中有一些噪声,并不代表全量真实数据的分布,死记硬背会丧失泛化能力
过拟合与正则化
通知正则化添加参数“惩罚”,控制参数幅度 限制参数搜索空间,减小过拟合风险
1.3 广义线性模型
对于样本有时候关系不一定是线性的 如何逼近y 的衍生物?
比如令逼近y
要点总结
-
线性回归
- 线性映射关系
- yˆ=θTX
- 线性映射关系
- 损失函数
- MSE:评估与标准答案之间的差距
- 梯度下降
- 沿着损失函数梯度方向逐步修正参数
- 学习率影响
- 模型状态
- 欠拟合
- 过拟合
- 损失函数
-
广义线性回归
- 对线性映射的结果进行数学变换,去逼近y值
- 指数(exp)或者对数(log)变换处理
- 对线性映射的结果进行数学变换,去逼近y值
电子书:https://iosdevlog.gitbooks.io/aidevlog/ML/Regression.html