【Deep-ML系列】Linear Regression Using Gradient Descent(手写梯度下降)

题目链接:Deep-ML

这道题主要是要考虑矩阵乘法的维度,保证维度正确,就可以获得最终的theata

python 复制代码
import numpy as np
def linear_regression_gradient_descent(X: np.ndarray, y: np.ndarray, alpha: float, iterations: int) -> np.ndarray:
    """
    Linear regression
    :param X: m * n
    :param y:
    :param alpha:
    :param iterations:
    :return:
    """
    m, n = X.shape
    theta = np.zeros((n, 1))
    y = y.reshape(m, 1)     # 保证y是列向量
    for i in range(iterations):
        prediction = np.dot(X, theta)   # m * 1
        error = prediction - y          # m * 1
        gradient = np.dot(X.T, error)   # n * 1
        theta = theta - alpha * (1 / m) * gradient
    theta = np.round(theta, decimals=4)
    return theta

if __name__ == '__main__':
    X = np.array([[1, 1], [1, 2], [1, 3]])
    y = np.array([1, 2, 3])
    alpha = 0.01
    iterations = 1000
    print(linear_regression_gradient_descent(X, y, alpha, iterations))
相关推荐
cooldream2009几秒前
大模型分类与应用全景解析:从文本到多模态的智能演进
人工智能·ai·大模型基础
寂静山林4 分钟前
UVa 12803 Arithmetic Expressions
算法
ECT-OS-JiuHuaShan5 分钟前
哥德尔不完备定理中的完备是什么?是还原论证的具足幻想。不还原就是完备,哥德尔搞不完定理
人工智能·数学建模·学习方法·几何学·量子计算·拓扑学·空间计算
i.ajls9 分钟前
强化学习入门-3(AC)
人工智能·深度学习·机器学习·actor-critic
Blossom.11812 分钟前
把AI“浓缩”到1KB:超紧凑型决策树在MCU上的极限优化实战
人工智能·python·单片机·深度学习·决策树·机器学习·数据挖掘
CoovallyAIHub20 分钟前
AI基础设施新玩家:Tinker如何重新定义LLM微调工作流?
深度学习·算法·计算机视觉
努力努力再nuli23 分钟前
学习华为昇腾AI教材图像处理原理与应用部分Day1
图像处理·人工智能·学习
xzk2012100223 分钟前
洛谷 P1438 无聊的数列 题解
c++·算法·树状数组
学术小白人23 分钟前
【IEEE出版 | 早鸟优惠本周截止】人工智能驱动图像处理与计算机视觉技术国际学术研讨会 (AIPCVT 2025)
图像处理·人工智能·计算机视觉
新知图书25 分钟前
A2A架构详解
人工智能·架构·ai agent·智能体·大模型应用