机器学习-第二节:机器学习模型之线性回归

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-第二节:机器学习模型之线性回归相关的知识,希望对你有一定的参考价值。

部分参考

文章目录

一:线性回归基本概念

(1)回归分析

回归分析:回归分析是统计学中的基本概念,是指一种预测性的建模技术,主要研究自变量和因变量的关系,通常使用曲线拟合数据点,然后研究如何使曲线到数据点的距离差异最小

(2)线性回归

  • 以一元线性回归为例(只有一个未知自变量)

线性回归:假设有 n n n组数据,自变量 x ( x 1 , x 2 , . . . , x n ) x(x_1,x_2,...,x_n) x(x1,x2,...,xn),因变量 y ( y 1 , y 2 , . . . , y n ) y(y_1,y_2,...,y_n) y(y1,y2,...,yn),并且它们满足 f ( x ) = a x + b f(x)=ax+b f(x)=ax+b,那么线性回归的目标就是如何能让 f ( x ) f(x) f(x) y y y之间的差异最小。其中衡量差异的方式即损失函数有很多种,在线性回归中主要使用均方误差,记 J ( a , b ) J(a, b) J(a,b) f ( x ) f(x) f(x) y y y之间的差异,则:

J ( a , b ) = ∑ i = 1 n ( f ( x ( i ) ) − y ( i ) ) 2 = ∑ i = 1 n ( a x ( i ) + b − y ( i ) ) 2 J(a, b)=\\sum\\limits_i=1^n(f(x^(i))-y^(i))^2=\\sum\\limits_i=1^n(ax^(i)+b-y^(i))^2 J(a,b)=i=1n(f(x(i))y(i))2=i=1n(ax(i)+by(i))2

可以发现 J ( a , b ) J(a, b) J(a,b)是一个二次函数,所以有最小值,因此当 J ( a , b ) J(a, b) J(a,b)取最小值时, f ( x ) f(x) f(x) y y y的差异最小,所以关键在于确定 a a a b b b的值,方法有三种

  • 最小二乘法
  • 梯度下降法
  • 正规方程

二:线性回归确定参数的方法

(1)最小二乘法

A:代数求法

  • 最小二乘法有代数求解矩阵求解两种方法

分别关于 a a a b b b对函数 J ( a , b ) = ∑ i = 1 n ( f ( x ( i ) ) − y ( i ) ) 2 = ∑ i = 1 n ( a x ( i ) + b − y ( i ) ) 2 J(a, b)=\\sum\\limits_i=1^n(f(x^(i))-y^(i))^2=\\sum\\limits_i=1^n(ax^(i)+b-y^(i))^2 J(a,b)=i=1n(f(x(i))y(i))2=i=1n(ax(i)+by(i))2求偏导,然后令其为0解出 a a a b b b,解得

a = ∑ i = 1 n y ( i ) ( x ( i ) − x ‾ ) ∑ i = 1 n ( x ( i ) ) 2 − 1 n ( ∑ i = 1 n x ( i ) ) 2 a=\\frac\\sum\\limits_i=1^ny^(i)(x^(i)-\\overlinex)\\sum\\limits_i=1^n(x^(i))^2-\\frac1n(\\sum\\limits_i=1^nx^(i))^2 a=i=1n(x(i))2n1(i=1nx(i))2i=1ny(i)(x(i)x)

b = 1 n ∑ i = 1 n ( y ( i ) − a x ( i ) ) b=\\frac1n\\sum\\limits_i=1^n(y^(i)-ax^(i)) b=n1i=1n(y(i)ax(i))

B:矩阵求法(主要使用)

假设函数 h θ ( x 1 , x 2 , . . . , x n = θ 0 + θ 1 x 1 + . . . + θ n − 1 x n − 1 h_\\theta(x_1, x_2, ... , x_n=\\theta_0+\\theta_1x_1+...+\\theta_n-1x_n-1 hθ(x1,x2,...,xn=θ0+θ1x1+...+θn1xn1的矩阵表达式为

h θ ( x ) = X θ h_\\theta(x)=X\\theta hθ(x)=