Loading [MathJax]/jax/output/HTML-CSS/jax.js

《神经网络与深度学习》第二章习题

简介: 机器学习概述,习题总结

第二章 机器学习概述

习题 2-1 分析为什么平方损失函数不适用于分类问题。

平方损失函数为:

L(y,f(x;θ))=12(yf(x;θ))2

对于分类问题,例如如果一个分类问题有标签 [1,2,3],分别代表了 [red,green,yellow],假如真实分类是 1, 而被分类到 2 和 3 错误程度应该是一样的, 但是平方损失函数的损失却不相同。

习题 2-2 在线性回归中,如果我们给每个样本 (x(n),y(n)) 赋予一个权重 r(n),经验风险函数为

R(w)=12Nn=1r(n)(y(n)wTx(n))2

计算其最优参数 w,并分析权重 r(n) 的作用。

wR(w)=12Nn=1r(n)yXTw2w=0w=Nn=1r(n)(XXT)1Xy

习题 2-3 证明在线性回归中,如果样本数量 N 小于特征数量 D+1,则 XXT 的秩最大为 N

矩阵 X=[x(1),x(2),...,x(n)],样本数 N 比特征数量 D+1 还小,故 X 的秩肯定不会超过 N,而 rank(XXT)=rank(X) 故其秩最大也只能是 N

这相当于线性方程组的未知数个数大于方程个数,是不存在唯一的非零解的。

习题 2-4 在线性回归中,验证岭回归的解为结构风险最小化准则下的最小二乘法估计,见公式(2.44)。

R(w)w=12yXTw2+λw2w=X(yXTw)+λw

wR(w)=0 可得:

XY+XXTw+λw=0(XXT+λI)w=XY

即:w=(XXT+λI)1Xy

习题 2-5 在线性回归中,若假设标签 yN(wTx,β),并用最大似然估计来优化参数,验证最优参数为公式(2.52)的解。

logp(y|X;w,β)=Nn=1logN(y(n);wTx(n),β)=Nn=1log(12πβexp((y(n)wTx)22β))=Nn=1log12πβ+Nn=1log(exp((y(n)wTx)22β))

对于等式的第一部分只是一个常数,其对 w 求导为零,所以只看后面的部分。

后面部分可以化简为

Nn=1((y(n)wTx)22β)

:在计算机或者说人工智能中,代码上的 log 通常都是以 e 为底的,即代表 ln

所以,把分母的 2β 提出去,最大似然函数对 w 的求导函数又变成了 12βyXTw2,参考最小二乘法可以知道,最优参数为

wML=(XXT)1Xy

习题 2-6 假设有 N 个样本 x(1),x(2),...,x(N) 服从正态分布 N(μ,σ2),其中 μ 未知。1)使用最大似然估计来求解最优参数 μML;2)若参数 μ 为随机变量,并服从正态分布 N(μ0,σ20),使用最大后验估计来求解最优参数 μMAP

(1)问

习题 2-5 基本一样,就是变量表示变了

logp(x|μ;σ2)=Nn=1logN(x(n);μ,σ2)=Nn=1log(12πσexp((x(n)μ)22σ2))=Nn=1log12πσ+Nn=1((x(n)μ)22σ2)

等式右边的第二项对 μ 求导,并令其等于零,得 μML=x

(2)问

由贝叶斯公式得参数 μ 的后验分布为 p(μ|x;v,σ)p(x|μ;σ)p(μ;v),两边取对数

logp(μ|x;v,σ)logp(x|μ,σ)+logp(μ;v)12σ2xμ212v2μ2

μ 进行求导可以解得 μMAP=v2v2+σ2x

习题 2-7 在习题 2-6 中,证明当 N 时,最大后验估计趋向于最大似然估计。

习题 2-9 试分析什么因素会导致模型出现图 2.6 所示的高偏差高方差情况。

一般来说,高偏差是因为模型欠拟合了,高方差是因为模型过拟合了,如果两个都偏高,那么模型可能出现了问题,或者不能够用来解决给定的问题。

习题 2-11 分别用一元、二元和三元特征的词袋模型表示文本「我打了张三」和「张三打了我」,并分析不同模型的优缺点。

首先这句话可以分为三个词:我 | 打了 | 张三,加上文本的开始 $ 和结束 \#。

一元特征:$ | 我 | 打了 | 张三 | \#

二元特征:$ | $我 | 我打了 | 打了张三 | 张三\#

三元特征:$ | $我打了 | 我打了张三 | 打了张三\#

习题 2-12 对于一个三分类问题,数据集的真实标签和模型的预测标签分别为:[1,1,2,2,2,3,3,3,3][1,2,2,2,3,3,3,1,2],分别计算模型的精确率、召回率、F1 值以及它们的宏平均和微平均。

P=[12,12,23],R=[12,23,12],F1=[12,47,47]Pmacro=59,Rmacro=59,F1macro=59

目录
打赏
0
0
0
0
3
分享
相关文章
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
289 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
278 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
308 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
399 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
194 3
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
273 8
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
827 7
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问