5.线性回归算法

chock chock     2023-04-01     209

关键词:

1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性

(1)本节课的内容思维导图

 技术图片

监督学习可以用于映射出该实例的类别。

无监督学习我们只知道特征,并不知道答案,不同的实例具有一定的相似性,把那些相似的聚集在一起。

 

(2)回归与分类的区别

回归与分类的区别最主要是要看预测的目标函数是否连续,连续变量预测的为回归,例如:预测明天的气温是多少度,这是回归任务,而对离散变量的预测称为分类,例如:预测明天天气是晴还是阴,这是一个分类任务,做预测前首先要分清他是回归任务还是分类任务,这样才能选择合适的算法预测。

3)回归算法可以运用的领域

1)房价预测

 技术图片

 

 

面积对价格的影响

 技术图片

 

 

2)销售额的预测

 技术图片

 

 

3)贷款额度的预测

 技术图片

(4)线性关系模型

 技术图片

5)数组与矩阵的运算

数组:

0维:1,2,3

1维:[1,2,3]

2维:[[1,2,3],[4,5,6]]两行三列2*3

3维:[[[1,2,3],[4,5,6],[4,5,6],[4,5,6]]]

矩阵:

1.矩阵必须是二维的

2.矩阵满足了特殊的运算要求

相同的内容,执行数组与矩阵的乘法运算

 技术图片

数组的乘法运算:

[[1,2,3,4],                        [[1*1,2*2,3*3,4*4],          [[1,4,9,16],

[5,6,7,8],    *  [1,2,3,4]=   [5*1,6*2,7*3,8*4],    =      [5,12,21,32],

[9,10,11,12]]                   [9*1,10*2,11*3,12*4]]      [9,20,33,48]]

矩阵的乘法运算:(两个矩阵相乘,前者的列数一定与后者的行数相等(m*n) *h*k列)=(m,k列)

主要方法:用左边矩阵的第一行,逐个乘以右边矩阵的列,第一行与第一列各个元素的乘积相加,第一行与第二列的各个元素的乘积相加...

[[1,2,3,4],         [ [1],               [[1*1+2*2+3*3+4*4],      

[5,6,7,8],    *     [2],       =       [5*1+6*2+7*3+8*4],       =     [[30],[70],[110]]

[9,10,11,12]]     [3],               [9*1+10*2+11*3+12*4]]

                         [4] ]   

矩阵的这种运算正好可以满足了线性回归的计算基础,所以我们首先要学会矩阵的运算

6)损失函数

 技术图片

 

 

7)两种减少误差的方式

1)最小二乘法之正规方程

 技术图片

 

 

T:将矩阵转置(行变列,列变行)

X-1 :求逆矩阵(X*=单位矩阵 ,?就是x的逆矩阵)

2)最小二乘法之梯度下降法

 技术图片

 

 

 

在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率。

在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向。

代码

import random
import time
import matplotlib.pyplot as plt

# 创建数据
_xs = [0.1 * x for x in range(0, 10)]
_ys = [12 * i + 4 for i in _xs]
print(_xs)
print(_ys)

w = random.random()   #权重
print(w)
b = random.random()   #偏置
print(b)
# y=wx+b
a1 = []
b1 = []
for i in range(1):
    for x, y in zip(_xs, _ys):  #遍历_xs_ys
        print("x=",x,"y=",y)
        o = w * x + b           #预测值
        print("o=")
        e = (o - y)             #误差
        print("e=",e)
        loss = e ** 2           #平方损失函数
        dw = 2 * e * x          #(w*x+b)^2w的偏导数,梯度
        db = 2 * e * 1          #(w*x+b)^2b的偏导数,梯度
        w = w - 0.1 * dw        #梯度下降w
        b = b - 0.1 * db        #梯度下降b
        print(‘loss=0,w=1,b=2‘.format(loss, w, b))
    a1.append(i)
    b1.append(loss)
    plt.plot(a1, b1)
    plt.pause(0.1)
plt.show()

循环10,损失loss还比较大,wb里实际值12,4还相差较大

 技术图片

 

 

随着训练次数的变化Loss值的变化:

 技术图片

 

 

循环100次,损失变小,wb更加接近实际值

 技术图片

随着训练次数的变化Loss值的变化:

 技术图片

 

 

 

2.思考线性回归算法可以用来做什么?

可以根据已有的城市人口和利润的数据,运用线性回归的算法法预测城市人口和所获利润之间的关系可以预测人口与利润之间的关系,知道大概多少人口的城市,利润有多少,可以预测城市人口的变化,已经人口老龄化的趋势,还可以预测房价的变化等等

 

5.线性回归算法4/20(代码片段)

...们先了解回归算法:       · 课上老师举了线性回归的应用:①房价预测;②销售额预测;③贷款额度预测;   我们可以发现做线性回归,需要的数据都应该为连续型,最终要预测的因素成为目标值,把影响... 查看详情

5.线性回归算法

...测——回归 离散变量预测——分类 线性回归我的理解是通过对一个事物的连续观察,得出它的某个属性的浮动范围,并预测出下次的浮动范围在哪  因为机器预测和真实值会有误差,所以会用到梯度... 查看详情

5.线性回归算法(代码片段)

...可以配上图片,以及说明该知识点的重要性(1)什么是线性回归算法回归:人们在测量事物的时候因为客观条件所限,求得的都是测量值,而不是事物真实的值,为了能够得到真实值,无限次的进行测量,最后通过这些测量数... 查看详情

05线性回归算法

...定误差:  (5)误差计算方法与优化: 2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)根据历史气象记录预测明天的温度、根据历史行情预测明天股票的走势、房价信息、根据历史记录预测某篇文章的... 查看详情

5.线性回归算法

...销售额的预测   3)贷款额度的预测 (4)线性关系模型 (5)数组与矩阵的运算数组:0维:1,2,31维:[1,2,3]2维:[[1,2,3],[4,5,6]]两行三列2*33维:[[[1,2,3],[4,5,6],[4,5,6],[4,5,6]]]矩阵:1.矩阵必须是二维的2.矩阵满足了特... 查看详情

回归-线性回归算法(房价预测项目)(代码片段)

...录简介损失函数优化算法正规方程梯度下降项目实战简介线性回归(LinearRegression)是回归任务中最常见的算法,利用回归方程对自变量和因变量进行建模,且因变量和自变量之间是线性关系而得名,从而可以... 查看详情

回归-线性回归算法(房价预测项目)(代码片段)

...录简介损失函数优化算法正规方程梯度下降项目实战简介线性回归(LinearRegression)是回归任务中最常见的算法,利用回归方程对自变量和因变量进行建模,且因变量和自变量之间是线性关系而得名,从而可以... 查看详情

线性回归算法

1.解决回归问题2.思想简单,实现容易3.许多强大的非线性模型的基础4.结果具有很好的可解释性5.蕴含机器学习中的很多重要思想注意:分类问题                  ... 查看详情

线性回归算法原理推导

线性回归算法概述   误差项分析似然函数求解线性回归求解    查看详情

史诗级干货长文线性回归算法(代码片段)

线性回归算法前言1.线性回归简介1.1线性回归应用场景1.2什么是线性回归1.2.1定义与公式1.2.2线性回归的特征与目标的关系分析2.线性回归API初步使用2.1线性回归API2.2举例2.2.1步骤分析2.2.2代码过程3.数学:求导3.1常见函数的导数3.2导... 查看详情

线性回归算法原理推导

查看详情

机器学习算法:线性回归简介

学习目标了解线性回归的应用场景知道线性回归的定义1线性回归应用场景房价预测销售额度预测贷款额度预测举例: 2什么是线性回归2.1定义与公式线性回归(Linearregression)是利用回归方程(函数)对一个或多个自变量(特征值)... 查看详情

机器学习算法---线性回归

一、线性回归算法的简介   线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y=w‘x+e,e为误差服从均值为0的正态分布。  回归... 查看详情

aiot(人工智能+物联网)知识总结+实战项目(代码片段)

...块Pandas1.4数据可视化模块2.算法数学基础2.1微积分基础2.2线性代数基础2.3多元函数微分学2.4线性代数高级2.5概率论2.6最优化3.线性回归算法3.1多元线性回归3.2梯度下降法3.3归一化3.4正则化3.5Lasso回归、Ridge回归、多项式回归4.线性... 查看详情

机器学习之线性回归岭回归lasso回归(代码片段)

...标称型数据,而回归的目标变量是连续型数据,主要包括线性回归,岭回归,lasso回归,前向逐步回归。2、线性回归线性回归主要用于处理线性数据,结果易于理解,计算复杂度不高,但是处理不了非线性数据。线性回归用最适... 查看详情

机器学习--线性回归与梯度算法

线性回归(LinearRegression),亦称为直线回归,即用直线表示的回归,与曲线回归相对。若因变量Y对自变量X1、X2…、Xm的回归方程是线性方程,即μy=β0+β1X1+β2X2+…βmXm,其中β0是常数项,βi是自变量Xi的回归系数,M为任何自然数... 查看详情

线性回归算法

这里有两组数据:X1、X2。需要得到的结论是Y拟合上面的平面:误差分析:附:高斯分布(正态分布) 化简: 最后化简的结果就是我们希望得到的:  评估: 查看详情

掌握spark机器学习库-07-线性回归算法概述

1)简介自变量,因变量,线性关系,相关系数,一元线性关系,多元线性关系(平面,超平面)2)使用线性回归算法的前提3)应用例子沸点与气压浮力与表面积  查看详情