学习笔记—1:多元线性回归模型,吴恩达2022Machine Learning

CSDN话题挑战赛第2期
参赛话题:学习笔记

一、公式部分

线性模型:即两个变量之间是一次函数关系的模型预测,为一元线性回归模型;而当所选取的x为多元时(例如x为多元的情况:房屋价格要考虑,位置、面积、小区环境、卧室数量等等),则多元线性回归就要涉及到向量的概念。

通常情况下,向量的表达形式更加简洁,而且向量运算的效率通常优于使用循环进行计算,故笔者通过使用Numpy和for循环的方式进行了相关的对比。

线性回归模型:

学习笔记—1:多元线性回归模型,吴恩达2022Machine Learning_第1张图片

成本函数:

学习笔记—1:多元线性回归模型,吴恩达2022Machine Learning_第2张图片

 梯度下降算法:

 

 

 上面两个式子的推导过程:

学习笔记—1:多元线性回归模型,吴恩达2022Machine Learning_第3张图片

学习笔记—1:多元线性回归模型,吴恩达2022Machine Learning_第4张图片 

 二、代码实例

        比较利用Numpy和直接用for循环,向量运算的运算效率

1、利用Numpy库

import numpy as np
import datetime

f = 0
b = 9
x = range(1, 100000)
w = range(1, 100000)

c = datetime.datetime.now()
f = np.dot(w, x) + b
c1 = datetime.datetime.now()
print(f, c1-c)

 2、使用for循环

import datetime

f = 0
b = 9
w = range(0, 100000)
x = range(0, 100000)
c = datetime.datetime.now()
for j in range(0, 100000):
    f = f + w[j] * x[j]
f = f + b
# print(f, type(f))
c1 = datetime.datetime.now()
print(f, c1 - c)

运行速度如下:

学习笔记—1:多元线性回归模型,吴恩达2022Machine Learning_第5张图片 学习笔记—1:多元线性回归模型,吴恩达2022Machine Learning_第6张图片

 运行时间利用Numpy比使用for循环时间少0.09s

 

你可能感兴趣的:(机器学习,线性回归,人工智能)