线性回归
1.举个例子:
数据:工资和年龄(2个特征)
目标:预测银行会贷款给我多少钱(标签)
思考:工资和年龄都会影响最终银行贷款的结果那么它们各自有多大的影响?(参数)

2.通俗的解释:
X1,X2就是两个特征(年龄和工资),y是银行最终会借给我们多少钱
找到最合适的一条线(想象一个高纬)来最好的拟合数据点

3.数学公式:
假设是年龄的参数,
是工资的参数
拟合的平面: (
是偏置项)
整合:
4.误差:
真实值和预测值之间肯定是要存在差异的(用来表示该误差)
对于每个样本:
误差是独立并且具有相同的分布,并且服从均值为0方差为
的高斯分布;
独立:张三和李四一起贷款,但他们之间没任何关系
同分布:他俩来的是同一家银行
高斯分布:银行可能会多给,也可能会少给,但是绝大多数情况下这个浮动不会太大,极小情况下浮动会比较大,符合正常情况。

预测值与误差:

由于误差服从高斯分布:

将(1)式带入(2)式:

似然函数:

解释:什么样的参数跟我们的数据组合后恰好是真实值
对数似然:

解释:对数里面乘法可以转换成加法
展开化简:

目标:让似然函数(对数变换后也一样)越大越好

目标函数:

求偏导:

偏导等于0:

5.评估方法:
最常用的评估项:

的取值越接近于1我们认为模型拟合的越好
6.梯度下降:
引入:当我们得到了一个目标函数后,如何进行求解?
直接求解?(并不一定可解,线性回归可以当做是一个特例)
常规套路:机器学习的套路就是我交给机器一堆数据,然后告诉它什么样的学习方式是对的(目标函数),然后让它朝着这个方向去做
如何优化:一步步的完成迭代(每次优化一点点,累积起来就是个大成绩了)
目标函数:


寻找山谷的最低点,也就是我们的目标函数终点(什么样的参数能使得目标函数达到极值点)
下山分几步走呢?(更新参数):
(1):找到当前最合适的方向
(2):走那么一小步,走快了该”跌倒”了
(3):按照方向与步伐去更新我们的参数
梯度下降,目标函数:

批量梯度下降:


(容易得到最优解,但是由于每次考虑所有样本,速度很慢)
随机梯度下降:

(每次找一个样本,迭代速度快,但不一定每次都朝着收敛的方向)
小批量梯度下降法:

学习率(步长):对结果会产生巨大的影响,一般小一些
如何选择:从小的时候,不行再小
批处理数量:32,64,128都可以,很多时候还得考虑内存和效率

网友评论