流程
演变流程1
房价预测为例,如果自己写方法可能会这样写
def 计算房价(房屋大小,卧室数量,所在区域):
价格=0
if(所在区域="北京")
价格+=5*房屋大小
elseif(所在区域="济南")
价格+=3*房屋大小
价格+=卧室数量*2
.....
return 价格
机器学习的目的,就是次方法的实现是通过学习实现的。
演变流程2
先将方法演变成
def 计算房价(房屋大小,卧室数量,所在区域):
价格=0
价格+=房屋大小*15000.123456789
价格+=卧室数量*4.123456789
价格+=所在区域*0.987654321
return 价格
其中的数字称为 权重,这样机器学习只要找出正确的权重方法就实现了
机器学习先将权重设置一个初始值,然后计算结果与正确结果对比,然后再调整权重值,直到结果正确为止。
梯度下降
机器学习系统不可能尝试每个权重值,她需要通过优秀的方法尽快的找到正确的权重。
通过 每个样本的价格偏差 平方 相加 然后除以样本数*2 作为当前权重的偏移程度(代价函数)
转化为图形
这样系统只需要找出最低点就可以了。
通过微积分的知识,求函数的导数,便可以找出最低点。
以上就是梯度下降的过程。
通过计算过程,可以得到参数的求值方程为:
其他概念——回归
先假设一个权重,再比较计算结果和实际结果的差异优化权重,再计算比较,这个过程称为回归(多元线性回归??)
其他概念——拟合,过拟合
当一组权重计算之前从来没有计算过的数据得到答案与正确答案一样时,称为拟合。
当一组权重计算训练集都正确,但是计算测试集不正确时,称为过拟合。
其他概念——损失函数
统计学的概念,描述系统在不同参数值之下的损失,用来估量模型的预测值与真实值的不一致程度。
之前的损失函数为最小二乘损失函数
其他概念——批梯度下降,随机梯度下降
每次都通过所有样本数据计算损失函数的值的过程,称为批梯度下降,一旦训练样本数据量巨大时,计算过程会很慢。
可以通过将训练样本分批次计算,称为随机梯度下降(有些疑问)