【机器学习】作业 Exam1

线性回归预测

唉,研0了,得学机器学习了。当然还是听的吴恩达老师的课,虽然全是英文,但是,怎么评价呢,讲得既专业又通俗易懂,初学者(像我这样的菜鸡)都值得一看!!

根据人口预测利润 输入变量只有一个特征 人口,输出变量为利润

很基础的东西,跟着老师来,lab里面都已经给你写好了。

python 复制代码
import pandas as pd
from matplotlib import pyplot as plt

# 损失函数
def compute_loss(x, y, w, b):
    m = x.shape[0]
    sum = 0.
    for i in range(m):
        sum += (w * x[i] + b - y[i]) ** 2
    return sum / m

# 梯度下降
def gradient_descent(x, y, w, b, eta, iterations):
    m = x.shape[0]
    loss_history = []
    for _ in range(iterations):
        sum_w = 0.
        sum_b = 0.
        for i in range(m):
            sum_w += (w * x[i] + b - y[i]) * x[i]
            sum_b += (w * x[i] + b - y[i])
        new_w = w - eta * sum_w / m
        new_b = b - eta * sum_b / m
        w = new_w
        b = new_b
        loss_history.append(compute_loss(x, y, w, b))
    return w, b, loss_history

if __name__ == '__main__':
    data = pd.read_csv(r'D:\BaiduNetdiskDownload\data_sets\ex1data1.txt', names=["x", "y"])
    x = data['x']
    y = data['y']

    w, b, loss_history = gradient_descent(x, y, 0, 0, 0.01, 1000)
    epochs = range(len(loss_history))
    print(w, b)
    # 打印图标
    plt.plot(epochs, loss_history, color='red', label='loss')
    # plt.plot(x, w * x + b, color='red')
    # plt.scatter(x, y, color='blue')
    plt.show()
几个图表

损失:

回归预测:

我的预期:

w : 1.1272942024281842, b : -3.241402144274422

相关推荐
tmlx3I0819 分钟前
高光谱拼接算法(六)RANSAC 误匹配剔除
人工智能·算法·机器学习
Mininglamp_271821 分钟前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
硅谷秋水29 分钟前
World Engine:迈向自动驾驶的后训练时代
人工智能·深度学习·机器学习·计算机视觉·语言模型·自动驾驶
RobinDevNotes29 分钟前
PentAGI:全自主 AI 渗透测试代理系统
人工智能
明理的信封37 分钟前
AI 基础设施的“去 Python 化“:Rust 与 C# 的两条替代路径
人工智能·python·rust
Tiansan66661 小时前
郑州AI问答推广公司:如何用AI提升转化率
人工智能·郑州ai问答推广公司
龙亘川1 小时前
开源本地 AI 智能体网关 OpenClaw 深度实践:架构解析、全场景部署与自动化落地指南
人工智能·架构·开源·openclaw
霍格沃兹测试开发学社测试人社区1 小时前
为企业提供专业、灵活、高效的一体化测试支持
人工智能
xixixi777771 小时前
产业全景解读:太空算力、国产芯、国产大模型、6G 空天地、AI 可信身份、后量子安全多线全面突破
人工智能·安全·ai·大模型·数据中心·通信·运营商
恣逍信点1 小时前
主观是客观的聚焦
人工智能·学习·程序人生·生活·业界资讯·交友·哲学