简单线性回归(sklearn + tensorflow)
概述 最近学习机器学习(和深度学习),入门第一个接触的便是简单线性回归。 所谓线性回归,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。其形式可表示为:y = w1 x1 + w2 x2 + w3 x3 + ... + w_n x_n + b 而简单线性回归,是其最简单的形式:y = wx + b,即我们所熟知的一次函数,理解为给定权重w和偏置(或称为截距)b,结果y随变量x的变化而变化。 简单线性回归 机器学习中的简单线性回归,个人理解为给定一系列的x值和对应的y值,来确定权重w和偏置b的合理值(即根据某种方法,从数据中找规律)。 具体步骤可大致分为: 给定一个w和b的初始值 定义线性回归函数(即一次函数):y = wx + b 定义损失函数:n条数据,对每一次得到的y值和实际已知的y_true值相减后求平方,然后求和,再求平均值(所谓最小二乘法),用式子可表示为:loss = ( ∑( y - y_true )² ) / n 训练求损失最小值(即:loss最小时,预测的结果与真实值最接近):入门先不考虑太多,直接使用梯度下降法(一种可以自动更改w和b,使loss函数结果最小的方法) 示例一 以给定的每天来咖啡店人数(个)和咖啡店销售额(元)数据,来实现机器学习中的简单线性回归。 准备数据,并使用散点图显示