深度学习/花书:第十章(序列建模:循环和递归网络)

一:主要流程
在这里插入图片描述
二:为什么需要序列模型?
在这里插入图片描述
三:网络记忆能力

在RNN出现前,一些具有记忆能力的网络:
1)TDNN
在这里插入图片描述
2)自回归模型
在这里插入图片描述
四:循环神经网络
在这里插入图片描述
五:循环神经网络的计算图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
六:序列模型解决的问题
在这里插入图片描述
七:BPTT(随时间反向传播)—重点
在这里插入图片描述


在这里插入图片描述

1)前向传播
在这里插入图片描述
2)反向传播


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


八:双向循环神经网络
在这里插入图片描述
九:长期依赖的挑战
在这里插入图片描述


在这里插入图片描述
十:LSTM
在这里插入图片描述


在这里插入图片描述

十一:GRU
在这里插入图片描述


在这里插入图片描述

### 周志华《机器学习》第十章实验:集成方法 #### 集成方法概述 周志华所著的《机器学习》一书中,第十章主要讨论了集成方法。该章节介绍了通过组合多个模型来提高预测性能的方法[^2]。 #### 实验目标 本实验旨在利用Python实现几种常见的集成方法,包括Bagging、Boosting以及Stacking,并应用这些技术解决分类问题。 #### 所需库安装 为了顺利完成此实验,请确保已安装以下Python库: ```bash pip install numpy pandas scikit-learn matplotlib seaborn ``` #### 数据准备 选取UCI Machine Learning Repository中的数据集作为训练样本,例如著名的鸢尾花(Iris)数据集用于演示目的。可以使用`sklearn.datasets`模块加载内置的数据集。 ```python from sklearn import datasets import pandas as pd iris = datasets.load_iris() X = iris.data # 特征矩阵 y = iris.target # 目标向量 df = pd.DataFrame(data=np.c_[iris['data'], iris['target']], columns=iris['feature_names'] + ['target']) print(df.head()) ``` #### Bagging算法实践 Bagging(Bootstrap Aggregating),即自助聚合法是一种减少方差的有效手段之一。下面展示如何基于决策树构建一个简单的Bagging分类器。 ```python from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import BaggingClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 划分训练集与测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) # 初始化基估计器 base_estimator = DecisionTreeClassifier(max_depth=1) # 创建并拟合bagging分类器 clf_bagging = BaggingClassifier(base_estimator=base_estimator, n_estimators=100, random_state=42).fit(X_train, y_train) # 输出准确率 acc = accuracy_score(y_true=y_test, y_pred=clf_bagging.predict(X_test)) print(f'Accuracy of bagging classifier on testing set: {acc:.2f}') ``` #### Boosting算法实践 AdaBoost是最早提出的提升方法之一,在每次迭代过程中调整权重使得错误分类实例获得更高关注。这里给出一段简单代码片段说明其工作原理。 ```python from sklearn.ensemble import AdaBoostClassifier # 构建adaboost分类器 clf_adaboost = AdaBoostClassifier(n_estimators=50, learning_rate=1., algorithm='SAMME.R', base_estimator=None, random_state=42) # 训练模型 clf_adaboost.fit(X_train, y_train) # 测试模型表现 accuracy_boosted = clf_adaboost.score(X_test, y_test) print('Adaboost Accuracy:', round(accuracy_boosted * 100, 2), '%') ``` #### Stacking算法实践 堆叠(Stacking)涉及创建元模型(meta-models),它接收初级模型(primary models)输出的概率分布作为输入特征来进行最终预测。此处仅提供概念性指导而非具体编码细节;读者可根据实际需求自行探索更复杂的架构设计思路。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Studying_swz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值