用keras解决回归问题【人工音频第一篇文章】

keras解决回归问题目录

一、简介

这一篇博客是AI音频的第一篇,想写一下怎么用keras去解决回归问题。首先,keras是一个在tensorflow上面封装的高级的API包,用起来十分的方便。keras的API文档的地址在这里。然后是对于回归问题的理解,回归问题的话,就是输出的y值是连续的,如果输出是标签化的,比如判断一张照片是猫是狗,那就是分类问题;如果判断一个地区的房子的房价,输出是个连续的东西,那么就是回归问题

二、代码

代码也是很简洁,之前有看过莫烦python,所以代码应该有很多地方都是相似的。但是我觉得自己看过一遍,消化一遍,再写出来,就能够真正学到东西,转化为自己的东西,而不是只是粘贴复制

那么就简单说一下代码吧
1、一开始导入一些必要的包,包括keras, numpymatplotlib, 依次是神经网络、数据处理和可视化的包
2、由于没有去找真实的数据,所以就造一些数据,里面加上一些noise
3、然后就是简单调用keras封装好的高级API,用数据对模型进行训练,然后再用模型去预测原来的训练集,因为预测的数据,都是训练的时候的数据,所以我们能够看到效果是非常好

模型拟合的效果

# 导入一些必要的包
from keras.models import Sequential
from keras.layers import Activation, Dense
import numpy as np
import matplotlib.pyplot as plt

# 没有真实数据,写一个函数造数据
def create_data():
    data_x = np.linspace(-1, 1, 100)[:,np.newaxis]
    noise = np.random.normal(0, 0.05, size=data_x.shape)
    data_y = data_x ** 2 + noise
    return data_x, data_y


if __name__ == "__main__":
    x, y = create_data()
    # plt.scatter(x, y) # 可以看一下数据长什么样子
    # plt.show()

    model = Sequential([  # 用keras搭建一个简单的网络模型
        Dense(10),
        Activation('relu'),
        Dense(1)
    ])

    model.compile(loss='mse', optimizer='rmsprop')  # 误差使用均方误差, 优化器使用 rmsprop
    model.fit(x, y, epochs=300, batch_size=50)  # 训练模型
    y_pred = model.predict(x)  # 预测
    plt.scatter(x, y) # 可视化
    plt.plot(x, y_pred, c='r')
    plt.show()






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值