模型一:线性回归模型
线性回归模型是统计学中的一种预测模型,通过自变量与因变量之间的线性关系来预测因变量的值。
1.1 一元线性回归(Simple linear regression)
公式推导:
对于一元线性回归,我们试图学得一个线性函数 ( f(x_i) = w_1x_i + b ),使得 ( f(x_i) ) 与 ( y_i ) 之间的差别尽可能小。均方误差(MSE)常用作性能度量,公式如下:
[ MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - f(x_i))^2 ]
其中,( n ) 是样本数量,( y_i ) 和 ( f(x_i) ) 分别是实际值和预测值。
代码实现(Python):
import numpy as np
# 假设数据
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([2, 4, 5, 4, 5])
# 计算斜率和截距
w = np.linalg.inv(X.T @ X) @ X.T @ y
b = w[0]
# 预测
def predict(X):
return w[0] * X + b
# 预测值
y_pred = predict(X)
# 计算均方误差
mse = np.mean((y - y_pred) ** 2)
print("均方误差:", mse)
1.2 多元线性回归(Multivariate linear regression)
多元线性回归是对一元线性回归的扩展,考虑多个自变量对因变量的影响。
公式推导:
对于多元线性回归,我们试图学得一个线性函数 ( f(x_i) = w1x{i1} + w2x{i2} + \cdots + wnx{in} + b ),其中 ( w ) 是一个 ( n ) 维向量。
代码实现(Python):
# 假设数据
X = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]])
y = np.array([2, 4, 5, 4, 5])
# 计算斜率和截距
w = np.linalg.inv(X.T @ X) @ X.T @ y
b = w[0]
# 预测
def predict(X):
return w @ X + b
# 预测值
y_pred = predict(X)
# 计算均方误差
mse = np.mean((y - y_pred) ** 2)
print("均方误差:", mse)
1.3 对数线性回归(Log linear regression)
对数线性回归是对线性回归的一种变换,将因变量和自变量取对数后再进行线性回归。
公式推导:
对于对数线性回归,我们试图学得一个线性函数 ( f(x_i) = w1 \ln(x{i1}) + w2 \ln(x{i2}) + \cdots + wn \ln(x{in}) + b )。
代码实现(Python):
import numpy as np
from scipy.optimize import minimize
# 假设数据
X = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]])
y = np.array([2, 4, 5, 4, 5])
# 对数变换
X_log = np.log(X)
# 目标函数
def mse_loss(params):
w = params
return np.mean((np.exp(w @ X_log + w[-1]) - y) ** 2)
# 初始参数
initial_params = np.zeros(X_log.shape[1] + 1)
# 最小化目标函数
result = minimize(mse_loss, initial_params)
# 拟合参数
w = result.x[:-1]
b = result.x[-1]
# 预测
def predict(X):
return np.exp(w @ np.log(X) + b)
# 预测值
y_pred = predict(X)
# 计算均方误差
mse = np.mean((y - y_pred) ** 2)
print("均方误差:", mse)
1.4 对数几率回归(Logistic Regression)
对数几率回归是一种用于分类的线性回归模型,通过计算概率来预测类别。
公式推导:
对于对数几率回归,我们试图学得一个线性函数 ( f(x_i) = w1x{i1} + w2x{i2} + \cdots + wnx{in} + b ),其中 ( w ) 是一个 ( n ) 维向量。
代码实现(Python):
import numpy as np
from scipy.optimize import minimize
# 假设数据
X = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]])
y = np.array([0, 1, 1, 0, 1])
# 目标函数
def log_loss(params):
w = params
return -np.sum(y * np.log(1 / (1 + np.exp(w @ X)) + (1 - y) * np.log(np.exp(w @ X))))
# 初始参数
initial_params = np.zeros(X.shape[1])
# 最小化目标函数
result = minimize(log_loss, initial_params)
# 拟合参数
w = result.x
# 预测
def predict(X):
return 1 / (1 + np.exp(-w @ X))
# 预测值
y_pred = predict(X)
# 计算准确率
accuracy = np.mean(y_pred == y)
print("准确率:", accuracy)
模型二:平行线四大模型
平行线四大模型是几何学中用于判定两条直线是否平行的四种方法。
2.1 同位角相等
如果两条直线被第三条直线所截,同位角相等,则这两条直线平行。
2.2 内错角相等
如果两条直线被第三条直线所截,内错角相等,则这两条直线平行。
2.3 同旁内角互补
如果两条直线被第三条直线所截,同旁内角互补,则这两条直线平行。
2.4 平行公理推论
如果两条直线都与第三条直线平行,则这两条直线也互相平行。
模型三:物理模型
物理模型是物理学中用于描述物理现象的数学模型。
3.1 匀变速直线运动
匀变速直线运动是指物体在直线上做加速度恒定的运动。
3.2 共点力平衡
共点力平衡是指作用于同一物体的多个力的合力为零。
3.3 牛顿运动定律
牛顿运动定律是描述物体运动和力的基本定律。
模型四:数学模型
数学模型是用于描述数学问题的数学结构。
4.1 行程问题
行程问题是指涉及物体运动、距离、速度和时间的数学问题。
4.2 数量关系
数量关系是指变量之间的数学关系,如比例、方程等。
4.3 数学建模
数学建模是将实际问题转化为数学问题的过程。
通过以上图解和步骤详解,相信您已经对四大模型公式有了更深入的了解。在实际应用中,根据不同的问题选择合适的模型,并进行相应的推导和计算,可以帮助您更好地解决实际问题。
