def matrix_dot_vector(a:list[list[int|float]],b:list[int|float])-> list[int|float]: if len(a[0]) != len(b): return -1 vals = [] for i in a: hold = 0 for j in range(len(i)): hold+=(i[j] b[j]) vals.append(hold) return vals利用正态方程进行线性回归

编写一个 Python 函数,利用正态方程实行线性回归。
函数应将矩阵 X(特色)和向量 y(目标)作为输入,并返回线性回归模型的系数。
将答案四舍五入到小数点后四位,-0.0 是对极小数四舍五入的有效结果。

想象人工智能?把这些代码背下来!(1)简单代码_函数_矩阵 计算机

import numpy as npdef linear_regression_normal_equation(X: list[list[float]], y: list[float]) -> list[float]: X = np.array(X) y = np.array(y).reshape(-1, 1) X_transpose = X.T theta = np.linalg.inv(X_transpose.dot(X)).dot(X_transpose).dot(y) theta = np.round(theta, 4).flatten().tolist() return theta利用梯度低落法进行线性回归

编写一个 Python 函数,利用梯度低落法实行线性回归。
该函数应将 NumPy 数组 X(特色,一列 1 表示截距)和 y(目标)作为输入,同时输入学习率 alpha 和迭代次数,并将线性回归模型的系数作为 NumPy 数组返回。
将答案四舍五入到小数点后四位。
-0.0是一个非常小的数字四舍五入的有效结果。

import numpy as npdef linear_regression_gradient_descent(X: np.ndarray, y: np.ndarray, alpha: float, iterations: int) -> np.ndarray: m, n = X.shape theta = np.zeros((n, 1)) for _ in range(iterations): predictions = X @ theta errors = predictions - y.reshape(-1, 1) updates = X.T @ errors / m theta -= alpha updates return np.round(theta.flatten(), 4)特色缩放

编写一个 Python 函数,利用标准化和最小-最大标准化对数据集进行特色缩放。
该函数应将二维 NumPy 数组作为输入,个中每一行代表一个数据样本,每一列代表一个特色。
它应返回两个二维 NumPy 数组:一个通过标准化缩放,另一个通过最小-最大标准化缩放。
确保所有结果都四舍五入到最靠近的小数点后第 4 位。

import numpy as npdef feature_scaling(data): # Standardization mean = np.mean(data, axis=0) std = np.std(data, axis=0) standardized_data = (data - mean) / std # Min-Max Normalization min_val = np.min(data, axis=0) max_val = np.max(data, axis=0) normalized_data = (data - min_val) / (max_val - min_val) return np.round(standardized_data,4).tolist(), np.round(normalized_data,4).tolist()矩阵的转置

编写一个 Python 函数,打算给定矩阵的转置。

def transpose_matrix(a: list[list[int|float]]) -> list[list[int|float]]: return [list(i) for i in zip(a)]理解Sigmoid激活函数

给输入值 z 写一个 Python 函数,打算 sigmoid 激活函数的输出。

import mathdef sigmoid(z: float) -> float: result = 1 / (1 + math.exp(-z)) return round(result, 4)理解Softmax激活函数

编写一个 Python 函数,打算给定分数列表的 Softmax 激活值。
函数应以列脸色势返回软最大值,每个值都四舍五入到小数点后四位。

import mathdef softmax(scores: list[float]) -> list[float]: exp_scores = [math.exp(score) for score in scores] sum_exp_scores = sum(exp_scores) probabilities = [round(score / sum_exp_scores, 4) for score in exp_scores] return probabilities单神经元

编写一个 Python 函数,仿照一个具有 sigmoid 激活函数的单神经元进行二元分类,处理多维输入特色。
该函数应将一系列特色向量(每个向量代表一个示例的多个特色)、干系的真实二进制标签以及神经元的权重(每个特色一个权重)和偏置作为输入。
它应返回 sigmoid 激活后的预测概率,以及预测概率与真实标签之间的均方偏差,均四舍五入到小数点后四位。

import mathdef single_neuron_model(features, labels, weights, bias): probabilities = [] for feature_vector in features: z = sum(weight feature for weight, feature in zip(weights, feature_vector)) + bias prob = 1 / (1 + math.exp(-z)) probabilities.append(round(prob, 4)) mse = sum((prob - label) 2 for prob, label in zip(probabilities, labels)) / len(labels) mse = round(mse, 4) return probabilities, mse变换矩阵

给定 R^3 的两个不同基 B 和 C 的基向量,编写一个 Python 函数来打算从基 B 到 C 的变换矩阵 P。

import numpy as npdef transform_basis(B, C): C = np.array(C) B = np.array(B) C_inv = np.linalg.inv(C) P = np.dot(C_inv, B) return P.tolist()矩阵重塑

编写一个 Python 函数,将给定矩阵重塑为指定形状。

def reshape_matrix(a: list[list[int|float]], new_shape: tuple[int|float]) -> list[list[int|float]]: return np.array(a).reshape(new_shape).tolist()按行或列打算均匀值

编写一个 Python 函数,根据给定的模式按行或列打算矩阵的均值。
函数应将矩阵(列表列表)和模式("行 "或 "列")作为输入,并根据指定模式返回均值列表。

def calculate_matrix_mean(matrix: list[list[float]], mode: str) -> list[float]: if mode == 'column': return [sum(col) / len(matrix) for col in zip(matrix)] elif mode == 'row': return [sum(row) / len(row) for row in matrix] else: raise ValueError("Mode must be 'row' or 'column'")矩阵的标量乘法

编写一个 Python 函数,将矩阵乘以标量并返回结果。

def scalar_multiply(matrix: list[list[int|float]], scalar: int|float) -> list[list[int|float]]: return [[element scalar for element in row] for row in matrix]