01《机器学习·周志华》读书笔记

目录

第1章 绪论

1.1 引言

1.2 基本术语

1.3 假设空间

1.4 归纳偏好

1.5 发展历程

1.6 应用现状

1.7 阅读材料

第2章 模型评估与选择

2.1 经验误差与过拟合

2.2 评估方法

2.3 性能度量

2.4 比较检验

2.5 偏差与方差

2.6 阅读材料

第3章 线性模型

3.1 基本形式

3.2 线性回归

3.3 对数几率回归

3.4 线性判别分析

3.5 多分类学习

3.6 类别不平衡问题

3.7 阅读材料

第4章 决策树

4.1 基本流程

4.2 划分选择

4.3 剪枝处理

4.4 连续与缺失值

4.5 多变量决策树

4.6 阅读材料

第5章 神经网络

5.1 神经元模型

5.2 感知机与多层网络

5.3 误差逆传播算法

5.4 全局最小与局部极小

5.5 其他常见神经网络

5.6 深度学习

5.7 阅读材料

第6章 支持向量机

6.1 间隔与支持向量

6.2 对偶问题

6.3 核函数

6.4 软间隔与正则化

6.5 支持向量回归

6.6 核方法

6.7 阅读材料

第7章 贝叶斯分类器

7.1 贝叶斯决策论

7.2 极大似然估计

7.3 朴素贝叶斯分类器

7.4 半朴素贝叶斯分类器

7.5 贝叶斯网

7.6 EM算法

7.7 阅读材料

第8章 集成学习

8.1 个体与集成

8.2 Boosting

8.3 Bagging与随机森林

8.4 结合策略

8.5 多样性

8.6 阅读材料

第9章 聚类

9.1 聚类任务

9.2 性能度量

9.3 距离计算

9.4 原型聚类

9.5 密度聚类

9.6 层次聚类

9.7 阅读材料

第10章 降维与度量学习

10.1 k近邻学习

10.2 低维嵌入

10.3 主成分分析

10.4 核化线性降维

10.5 流形学习

10.6 度量学习

10.7 阅读材料

第11章 特征选择与稀疏学习

11.1 子集搜索与评价

11.2 过滤式选择

11.3 包裹式选择

11.4 嵌入式选择与L1正则化

11.5 稀疏表示与字典学习

11.6 压缩感知

11.7 阅读材料

第12章 计算学习理论

12.1 基础知识

12.2 PAC学习

12.3 有限假设空间

12.4 VC维

12.5 Rademacher复杂度

12.6 稳定性

12.7 阅读材料

第13章 半监督学习

13.1 未标记样本

13.2 生成式方法

13.3 半监督SVM

13.4 图半监督学习

13.5 基于分歧的方法

13.6 半监督聚类

13.7 阅读材料

第14章 概率图模型

14.1 隐马尔科夫模型

14.2 马尔科夫随机场

14.3 条件随机场

14.4 学习与推断

14.5 近似推断

14.6 话题模型

14.7 阅读材料

第15章 规则学习

15.1 基本概念

15.2 序贯覆盖

15.3 剪枝优化

15.4 一阶规则学习

15.5 归纳逻辑程序设计

15.6 阅读材料

第16章 强化学习

16.1 任务与奖赏

16.2 K-摇臂赌博机

16.3 有模型学习

16.4 免模型学习

16.5 值函数近似

16.6 模仿学习

16.7 阅读材料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴听到你正在学习《机器学习》这本经典的教材,下面我为你提供第十四章概率图模型的Python实现学习笔记。 ## 1. 朴素贝叶斯分器 ### 1.1 数据准备 在本章中,我们将使用著名的鸢尾花数据集进行分。首先,我们可以从sklearn库中导入该数据集。 ```python from sklearn.datasets import load_iris iris = load_iris() X = iris.data y = iris.target ``` ### 1.2 朴素贝叶斯分器实现 接下来,我们可以使用sklearn库中的朴素贝叶斯分器进行分,具体实现如下: ```python from sklearn.naive_bayes import GaussianNB 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=0.3, random_state=42) gnb = GaussianNB() gnb.fit(X_train, y_train) y_pred = gnb.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print('Accuracy:', accuracy) ``` ### 1.3 结果分析 运行上述代码后,我们可以得到该模型在测试集上的准确率,结果如下所示: ``` Accuracy: 1.0 ``` 可以看出,该模型在鸢尾花数据集上表现出色,准确率达到了100%。 ## 2. 隐马尔可夫模型 ### 2.1 数据准备 在本节中,我们将使用一个简单的例子来介绍隐马尔可夫模型的实现。假设我们有一个长度为100的序列,每个位置上的值都是0或1,其中0和1出现的概率分别为0.6和0.4。我们可以使用numpy库生成这个序列。 ```python import numpy as np np.random.seed(42) sequence = np.random.choice([0, 1], size=100, p=[0.6, 0.4]) ``` ### 2.2 隐马尔可夫模型实现 接下来,我们可以使用hmmlearn库中的隐马尔可夫模型进行序列建模,具体实现如下: ```python from hmmlearn import hmm model = hmm.MultinomialHMM(n_components=2) model.fit(sequence.reshape(-1, 1)) logprob, states = model.decode(sequence.reshape(-1, 1)) print('Sequence:', sequence) print('States:', states) ``` ### 2.3 结果分析 运行上述代码后,我们可以得到该模型对序列的建模结果,结果如下所示: ``` Sequence: [0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] States: [1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] ``` 可以看出,模型对序列进行了建模,并输出了每个位置上的状态,其中0表示“假”,1表示“真”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值