线性回归算法-案例推导学习详细

案例:如果世界上只有一种病,那就是穷病。假设最终影响银行贷款的因素只有工资和年龄,要求你预测当一个新人来后,告诉工资和年龄,银行应该贷款多少给他?

x1 x2 y
工资 年龄 额度
1 4000 24 20000
2 5500 26 60000
3 6000 64 79000
4 7500 44 45000

案例分析:

  • 数据:工资和年龄(2个特征)
  • 目标:预测最终银行会贷款多少

线性回归 (Linear regression)


只有一个 特征(Feature) 影响时

我们先假设贷款的额度 y 只与工资 x一个特征有关:

x y
工资 额度
1 4000 20000
2 5500 60000
3 6000 79000
4 7500 45000
  • 假设函数(Hypothesis)
    对于给定的(x,y),且是线性的,因为 y 和 x 是已知的,我们会直接假设 y = b + kx,我们目的是求 k 和 b ,得到一个通式。
    那么我们可以先给出:【y 用 hθ(x) 表示,b 用 θ0 表示,k用 θ1 表示】
    线性回归算法-案例推导学习详细_第1张图片
  • 误差 (Deviation)
    我们都知道事事难预料,现实和理想是有差距的!这告诉我们,不要整天白日做梦…emmm。
    所以 预测值真实值 也一定会有误差,即:误差= |预测值 - 真实值|线性回归算法-案例推导学习详细_第2张图片
  • 损失函数 (Cost function)
    我们现在知道了,每一个 预测值 和 真实值 之间都 存在 或大或小的 误差 【也有误差为0的,不过…那不是我们正想要的吗?】。
    现在我们用损失函数来表示那些或大或小的误差,直白地可以理解为,把那些或大或小的误差全部加起来,就称作为函数的预测值与真实值的损失,暂时可以这么理解。
    线性回归算法-案例推导学习详细_第3张图片
    将上面的都整理如下:
    线性回归算法-案例推导学习详细_第4张图片
  • 损失函数的运作原理
    我们先从简单且好理解的二维视角去体验损失函数的运作,为此,我们先将 θ0 的值设为 0,简化如下:
    线性回归算法-案例推导学习详细_第5张图片
    然后我们先对原始数据进行特征工程处理,之后计算出 预测值 hθ(x) , 然后是 损失值J(θ1),分别得到两个图像:
    线性回归算法-案例推导学习详细_第6张图片
    上面是二维视角去体验损失函数的运作,现在我们加大难度,从三维视角去看看。为此,我们保留 θ0 的存在。
    线性回归算法-案例推导学习详细_第7张图片
    同样,先计算出 预测值 hθ(x) , 然后是 损失值J(θ0,θ1),分别得到两个图像:
    线性回归算法-案例推导学习详细_第8张图片
    虽然损失函数的简单的3D图就比较直观,但是,对于复杂的3D图对于我们来说就不太友好了。。。
    比如下面两个:
    线性回归算法-案例推导学习详细_第9张图片
    不用怀疑,就是地理里面的等高线图(Contour plots)!!!
    线性回归算法-案例推导学习详细_第10张图片
    可以看懂不?看不懂的,你品,你细品!
  • 梯度下降 (Gradient descent)
    梯度下降其实我们前面已经讲完了,什么?你走神了?那我在讲一遍…
    梯度下降其实就是一步一步更新θ,求 损失函数J(θ1) 的 最小值 的过程。
    我们把前面的过程,总结下,你就知道了。线性回归算法-案例推导学习详细_第11张图片
    对于多个参数也是一样,比如J(θ0,θ1) :
    线性回归算法-案例推导学习详细_第12张图片
    不知道这样,你是否知道机器是如何学习的了?

有两个 特征(Feature) 影响时

如果一个特征的你都懂了,那么多个特征就是不难啦。
下面就把开题写的题目推一遍:

x1 x2 y
工资 年龄 额度
1 4000 24 20000
2 5500 26 60000
3 6000 64 79000
4 7500 44 45000

数学推导:
线性回归算法-案例推导学习详细_第13张图片

  • 误差
    线性回归算法-案例推导学习详细_第14张图片
    结合上面,可以得出
    线性回归算法-案例推导学习详细_第15张图片
  • 似然函数与对数函数
    似然怎么解释呢?
    我们可以举一个栗子:
    比如你还单身,一个女生某一天在你打球的时候突然给你递了一瓶水,这时你心里就打鼓了,你老脸一红,琢磨着她是不是喜欢你了?
    当然,给你递一瓶水,你可能会开始注意到,但是不能确定她是否真的喜欢你,因为…
    你们那时在打年级赛,很多女生都给打篮球的队员递了一瓶水,嘿嘿∠( ᐛ 」∠)_没想到吧!
    我们可以把她对你的做那些事看作是数据,是实际存在的,她是不是喜欢你看作是参数,你需要一点点揣测的。
    但是后来,她不仅每次在你打球的时候给你递水,还约你一块学习,一起看电影,一起吃饭,一起逛街,一起…
    你看 她对你的做那些事(数据) 是不是越来越多,每一件事情都可以看作概率事件,这么多概率是事件出现在一块,可以组成一个联合概率,联合概率越大,那 她是不是喜欢你 的概率是不是就越大(参数 就越接近实际)
    通过 数据 ,对 她是否喜欢你 的这个“参数”进行逐步地推断,可以叫做似然,得到最可能性最大的 参数 ,就叫做最大似然估计
    如果这个时候你都不做点什么的话,那只能说明:你们两个拥有着不含情感因素的男女最高境界友谊—红颜知己…
    单身的我裂开了。。。( •̥́ ㉨ •̀ू )嘤嘤嘤~
    线性回归算法-案例推导学习详细_第16张图片
    这就把前面的坑给填上了,就是最小二乘法怎么推导的?为什么要用它?目的是什么?
    如果误差的分布是服从正态分布的,那么最小二乘法得到的 θT 的值 就是最有可能性的。
    而结合正态分布、联合概率、似然函数、对数似然,它居然就推到了最小二乘法。你说这个世界奇妙不奇妙?
  • 目标函数处理线性回归算法-案例推导学习详细_第17张图片
    对于简单的数据,才可以一步到位,直接求出 θ 的值,但是实际情况都是复杂的,不能一次求出,所以,一般都会用梯度下降算法去求解 θ 的值。
  • 评估方法
    线性回归算法-案例推导学习详细_第18张图片
    (未完待续。。。)

你可能感兴趣的:(机器学习,机器学习)