用lstm模型做预测_MATLAB: 用LSTM网络预测《冰与火之歌》

本文介绍了如何在MATLAB中使用LSTM网络进行深度学习,训练模型以生成《冰与火之歌》风格的文本。数据预处理包括删除非UTF-8字符,训练过程约10小时,最终能模仿马丁的写作风格生成相关文本。
摘要由CSDN通过智能技术生成

这篇文章主要在于介绍如何用MATLAB进行深度学习,进而利用训练的网络模型生成文本。对于“预测”的结果,不发表意见(其实就是不准)。

1,数据读取

首先需要准备好要训练的文本,《冰与火之歌》第1-5卷。我从网上找的,删除其中的中文信息(汉字、汉字标点等)。注意,确保文本的编码方式为UTF-8,以免出现乱码。如果不是的话,可以用vs code 另存。

以下代码仅供参考。

function [iceAndFire,XTrain,YTrain] = readData()
parNum = 0;       % 段落数
newlineChar = compose("x00B6"); 
spaceChar = compose("x00B7");
endofTextChar = compose("x2403");
tabChar = char(compose("x3000"));
for ii = 1:5
    fid = fopen(['冰与火之歌' num2str(ii) '.txt'],'rt','n','UTF-8');
    while(~feof(fid))
        tmp = fgets(fid);
        % 去掉制表符
        tmp(tmp == tabChar) = []; 
        % 去掉行首的空格
        while length(tmp)>=20 && tmp(1) == ' '
            tmp(1) = [];
        end
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值