【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))
相关推荐
Elastic 中国社区官方博客几秒前
Elasticsearch:使用推理端点及语义搜索演示
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
AI新兵8 分钟前
深度学习基础:从原理到实践——第一章感知机(中)
人工智能·深度学习
liliangcsdn15 分钟前
从LLM角度学习和了解MoE架构
人工智能·学习·transformer
2401_8812444015 分钟前
P3808 AC 自动机(简单版)
算法
ARM+FPGA+AI工业主板定制专家28 分钟前
基于ZYNQ FPGA+AI+ARM 的卷积神经网络加速器设计
人工智能·fpga开发·cnn·无人机·rk3588
伏小白白白30 分钟前
【论文精度-1】 组合优化中的机器学习:方法论之旅(Yoshua Bengio, 2021)
人工智能·机器学习·组合优化
CH3_CH2_CHO37 分钟前
DAY03:【DL 第一弹】神经网络
人工智能·pytorch·深度学习·神经网络
Jayden_Ruan40 分钟前
C++十进制转二进制
数据结构·c++·算法
算家计算1 小时前
蚂蚁开源万亿参数大模型Ling-1T:多项能力全球领先
人工智能·开源·资讯