【机器学习】作业 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

相关推荐
带电的小王几秒前
【动手学深度学习】3.1. 线性回归
人工智能·深度学习·线性回归
谢尔登6 分钟前
结合 AI 生成 mermaid、plantuml 等图表
人工智能
VR最前沿19 分钟前
【应用】Ghost Dance:利用惯性动捕构建虚拟舞伴
人工智能·科技
说私域36 分钟前
内容力重塑品牌增长:开源AI大模型驱动下的智能名片与S2B2C商城赋能抖音生态种草范式
人工智能·小程序·开源·零售
l1t40 分钟前
三种读写传统xls格式文件开源库libxls、xlslib、BasicExcel的比较
c++·人工智能·开源·mfc
AI浩1 小时前
【Block总结】EBlock,快速傅里叶变换(FFT)增强输入图像的幅度|即插即用|CVPR2025
人工智能·目标检测·计算机视觉
Vertira1 小时前
Pytorch安装后 如何快速查看经典的网络模型.py文件(例如Alexnet,VGG)(已解决)
人工智能·pytorch·python
Listennnn1 小时前
信号处理基础到进阶再到前沿
人工智能·深度学习·信号处理
奔跑吧邓邓子1 小时前
DeepSeek 赋能智能养老:情感陪伴机器人的温暖革新
人工智能·机器人·deepseek·智能养老·情感陪伴
DX_dove1 小时前
pytorch3d+pytorch1.10+MinkowskiEngine安装
人工智能·pytorch·python