Day41:高等数学与线性代数基础知识
上一节我们讲解了机器学习的基本概念,以及库函数的安装,这一节我们讲解更基础的数学内容。在机器学习中,高等数学和线性代数是非常重要的基础知识,它们提供了用于理解和解决机器学习问题的数学工具和概念。因此,本节将讲一讲机器学习以及后面深度学习中会用到的高等数学及线性代数的内容。
1. 函数、导数和偏导数
在机器学习中,函数是一个重要的概念,它描述了输入和输出之间的关系。函数可以是简单的一元函数,也可以是多元函数。在优化问题中,我们通常需要求解函数的最大值或最小值。
1.1 一元函数
一元函数是指只有一个自变量的函数。常见的一元函数包括线性函数、多项式函数、指数函数和对数函数等。其中,线性函数和多项式函数在机器学习中经常使用。
线性函数
线性函数是指形如 y = wx + b 的函数,其中 w 是斜率,b 是截距。在机器学习中,线性函数常用于回归和分类问题。
我们可以使用Python绘制线性函数一个线性函数的图像:
import numpy as np
import matplotlib.pyplot as plt
# 定义线性函数
def linear_function(x, w, b):
return w * x + b
# 生成数据
x = np.linspace(-10, 10, 100)
w = 2
b = 1
y = linear_function(x, w, b)
# 绘制函数图像
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Linear Function')
plt.grid(True)
plt.show()
多项式函数
多项式函数是指由多个项相加或相乘而成的函数。多项式函数可以用于拟合非线性关系的数据。
同样,我们可以使用Python绘制一个二次多项式函数:
import numpy as np
import matplotlib.pyplot as plt
# 定义二次多项式函数
def polynomial_function(x, a, b, c):
return a * x**2 + b * x + c
# 生成数据
x = np.linspace(-10, 10, 100)
a = 1
b = -2
c = 1
y = polynomial_function(x, a, b, c)
# 绘制函数图像
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Quadratic Polynomial Function')
plt.grid(True)
plt.show()
1.2 多元函数
多元函数是指含有多个自变量的函数。在机器学习中,多元函数常用于描述特征与目标变量之间的关系,当存在多个特征的时候,就是使用多元函数的时候。
导数
导数衡量了函数在某一点的变化率。对于单变量函数,导数可以用来描述函数曲线在某一点的斜率;对于多变量函数,导数可以用来描述函数在某一点各个方向上的变化率。
对于单变量函数 ,导数可以表示为: 或 。
以下是使用Python计算函数导数和偏导数的代码:
import numpy as np
import matplotlib.pyplot as plt
# 定义函数
def f(x):
return x**2
# 计算函数的导数
def df(x):
return 2*x
# 生成输入变量
x = np.linspace(-10, 10, 100)
# 计算函数值和导数值
y = f(x)
dy_dx = df(x)
# 绘制函数图形和切线
plt.plot(x, y, label='Function')
plt.plot(x, dy_dx, label='Derivative')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Function and its Derivative')
plt.legend()
plt.show()
偏导数
偏导数衡量了多元函数在某一方向上的变化率。对于多变量函数,偏导数可以用来描述函数在各个自变量方向上的变化率。
偏导数可以表示为:,其中 是自变量。 以下是使
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
1. AI爱好者,爱搞事的 2. 想要掌握第二门语言的Javaer或者golanger 3. 决定考计算机领域研究生,给实验室搬砖的uu,强烈建议你花时间学完这个,后续搬砖比较猛 4. 任何对编程感兴趣的,且愿意掌握一门技能的人