机器学习的有监督算法分为分类和回归两种。
- 回归:通过输入的数据,预测出一个值,如银行贷款,预测银行给你贷多少钱。
- 分类:通过输入的数据,得到类别。如,根据输入的数据,银行判断是否给你贷款。
一、线性回归
现在这里有一个例子
数据:工资和年龄(2个特征)
目标:预测银行会贷款给我多少钱(标签)
考虑:工资和年龄都会影响最终银行贷款的结果那么它们各自有多大的影响呢?(参数)
工资 | 年龄 | 额度 |
4000 | 25 | 20000 |
8000 | 30 | 70000 |
5000 | 28 | 35000 |
7500 | 33 | 50000 |
12000 | 40 | 85000 |
输入为工资和年龄,输出为银行贷款的额度。那么输入和输出到底有什么关系呢?
假设X1,X2就是我们的两个特征(年龄,工资),Y是银行最终会借给我们多少钱
线性回归呢就是找到最合适的一条线(想象一个高维)来最好的拟合我们的数据点,那么这个地方因为自变量涉及两个,所以最终目的就是找出一个拟合平面。
那么现在继续假设θ1是年龄的参数, θ2是工资的参数。那么拟合的平面表达式为(θ0为偏置项,θ1、θ2为权重参数):
这里的话总共有两个特征,那么当有n个特征的时候的表达式为(θ0对应的X0全为1):
二、误差
真实值和预测值之间肯定是要存在差异的(用 ε 来表示该误差),而对于每个样本来说,真实值等于预测值加上误差值,公式表达为:
- 误差ε(i)是独立并且具有相同的分布,并且服从均值为0方差为θ2的高斯分布(正态分布)。
- 独立:张三和李四一起来贷款,他俩没关系。
- 同分布:他俩都来得是我们假定的这家银行。
- 高斯分布:银行可能会多给,也可能会少给,但是绝大多数情况下这个浮动不会太大,极小情况下浮动会比较大,符合正常情况。
预测值与误差:
由于误差服从高斯分布:
将两个式子整合得到:
似然函数(什么样的参数跟我们的数据组合后(这个组合后的值就是预测值)恰好是真实值),最大似然估计(参数跟数据组合后恰好是真实值的概率是最大的),下面两个竖线数学符号的意思是进行累乘。
对数似然(乘法理解,加法就容易了,对数里面乘法可以转化成加法):
三、推导
对上面的对数似然进行整合可以得到:
我们的最终目标就是让似然函数(对数似然也是一样)越大越好,因为上面这个式子,前半部分是恒大于0的且是常数,后半部分也是恒大于0的,所以要保持整个式子最大,就只有让后半部分越小越好。于是可以得到:
那下面的过程就是怎么样才能求解使得上面这个式子的值越小越好呢?
这上面的推导过程表示并没有看得太懂哈哈哈。但是结果表示当θ取这个值的时候,整体的偏导等于0,而偏导等于0是极小值点,至于为什么是极小值点,涉及机器学习中的凸优化问题。