2.5 ESL第二章习题2.5

题目

描述

  • $y_i=x_i^T\beta+\epsilon_i$
    $\epsilon_i\sim N(0,\sigma^2)$
  • 已有训练集$\tau$,其中$X:n\times p,y:n\times 1,\epsilon:n\times 1$
    使用最小二乘得到$\hat{\beta}=\left(X^TX\right)^{-1}X^Ty$
    $y=X\beta+\epsilon$
  • 需要预测点$x_0$的値$y_0$

题2.7

  • 准备

    • $E(y_0)=E(x_0^T\beta+\epsilon_0)=E(x_0^T\beta)+E(\epsilon_0)=x_0^T\beta+0$
    • $E[\left(y_0-E(y_0)\right)^2]=E[\left(x_0^T\beta+\epsilon_0-x_0^T\beta\right)^2]=E[\epsilon_0^2]=\sigma^2$
    • $\hat{y_0}=x_0^T\hat{\beta}=x_0^T\left(X^TX\right)^{-1}X^T\left(X\beta+\epsilon\right)\\ \ =x_0^T\left(X^TX\right)^{-1}X^TX\beta+x_0^T\left(X^TX\right)^{-1}X^T\epsilon\\ \ =x_0^T\beta+x_0^T\left(X^TX\right)^{-1}X^T\epsilon\\ \ =x_0^T\beta+\sum_i a_i\epsilon_i$ <br>其中$a_i=\left[x_0^T\left(X^TX\right)^{-1}X^T\right]_i$
    • $E(\hat{y_0})=E(x_0^T\beta+\sum_i a_i\epsilon_i)=x_0^T\beta+\sum_i E(a_i)E(\epsilon_i)=x_0^T\beta$
      这里由于$X$由某分布产生,所以$E(a_i)$不是简单常数
  • 题解

    $EPE(x_0)=\int\int\left(y_0-\hat{y_0}\right)^2p(y_0)p(\hat{y_0})\mathrm{d} y_0\mathrm{d}\hat{y_0}\\ \ =\int\int\left[\hat{y_0}-E(\hat{y_0})+E(\hat{y_0})-y_0\right]^2p(y_0)p(\hat{y_0})\mathrm{d} y_0\mathrm{d}\hat{y_0}\\ \ =\int\left[\hat{y_0}-E(\hat{y_0})\right]^2p(\hat{y_0})\mathrm{d}\hat{y_0}+\int\int\left[E(\hat{y_0})-y_0\right]^2p(y_0)p(\hat{y_0})\mathrm{d} y_0\mathrm{d}\hat{y_0}+2\times 0\\ \ ={Var}_\tau(\hat{y_0})+\int\int\left[y_0-E(y_0)+E(y_0)-E(\hat{y_0})\right]^2p(y_0)p(\hat{y_0})\mathrm{d} y_0\mathrm{d}\hat{y_0}\\ \ ={Var}_\tau(\hat{y_0})+\int\left[y_0-E(y_0)\right]^2p(y_0)\mathrm{d} y_0+\left[E(y_0)-E(\hat{y_0}\right]^2+2\times 0\\ \ ={Var}_\tau(\hat{y_0})+\sigma^2+0^2$

    ${Var}_\tau(\hat{y_0})=E\left[\hat{y_0}-E(\hat{y_0})\right]^2\\ \ =E\left[x_0^T\beta+\sum_i a_i\epsilon_i-x_0^T\beta\right]^2=E\left[\sum_i\sum_j a_ia_j\epsilon_i\epsilon_j\right]\\ \ =E\left[ \sum_i a_i^2\epsilon_i^2 \right]+E\left[\sum_i\sum_{j:j\neq i} a_ia_j\epsilon_i\epsilon_j\right]\\ \ =\sum_iE(a_i^2)E(\epsilon_i^2)+\sum_i\sum_{j:j\neq i} E(a_ia_j)E(\epsilon_i)E(\epsilon_j)\\ \ =\sigma^2E(\sum_i a_i^2)+0=\sigma^2E\left(x_0^T\left(X^TX\right)^{-1}X^TX\left(X^TX\right)^{-1}x_0\right)\\ \ =\sigma^2E\left(x_0^T\left(X^TX\right)^{-1}x_0\right)$

题2.8

  • 准备

    • 假设$E(x^{(i)})=0,i=1...p$,即每个维度的期望都为0

      $X^TX$得到$p\times p$的矩阵

      $X_{:i}$表示$X$的第$i$列,即训练集输入部分的第i个维度

      $X_{:i}^TX_{:i}=\sum_j^N {x_j^{(i)}}^2=N\ \frac{1}{N}\sum_j^N (x_j^{(i)}-E(x^{(i)}))^2=N\hat{Var}(x^{(i)})$得到对角元素

      $X_{:i}^TX_{:j}=\sum_t^N x_t^{(i)}x_t^{(j)} = N\ \frac{1}{N} (x_t^{(i)}-E(x^{(i)}))(x_t^{(j)}-E(x^{(j)}))=N\hat{Cov}(x^{(i)},x^{(j)})$

      当$N\to \infty $,$X^TX \to NCov(x)$

    • $K:p\times p,b:p\times 1$

      $trace Kbb^T=\sum_i {[Kbb^T]}_{ii}=\sum_i \sum_j K_{ij}{[bb^T]}_{ji}=\sum_i \sum_j K_{ij}b_ib_j$

      $b^TKb=\sum_i {b^T}_{1i}{[Kb]}_{i1}=\sum_i \sum_j b_iK_{ij}b_j$

      $trace Kbb^T=b^TKb$

  • 题解

    $E\left(x_0^T\left(X^TX\right)^{-1}x_0\right)\sim E\left(x_0^T{Cov(x)}^{-1}x_0\right)/N\\ \ =E\left(trace {Cov(x)}^{-1}x_0x_0^T\right)/N\\ \ =trace {Cov(x)}^{-1}E(x_0x_0^T)/N=trace {Cov(x)}^{-1}Cov(x)/N\\ \ =trace I/N=p/N$

    $EPE(x_0)=(p/N+1)\sigma^2$

时间: 2024-12-28 15:57:45

2.5 ESL第二章习题2.5的相关文章

2.x ESL第二章习题2.4

题目 准备 $x_i\sim N(0,1)$,有$\sum_i^n x_i^2 \sim \chi^2(n)$其中$n$称为自由度,卡方分布的均值即其自由度 $x_i\sim N(\mu_i,\sigma_i^2)$,有$\sum_i a_ix_i \sim N(\sum_i a_i\mu_i,\sum_ia_i^2\sigma_i^2)$ n个正态分布变量的线性和,依然符合正态分布 计算向量b投影到向量x上的长度t,$t=|b|cos\theta=|b|\frac{x^Tb}{|x||b|}=

2.x ESL第二章习题 2.8

题目 代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 import pandas as pd import numpy as np train_full=pd.read_csv('../zip.train',sep=' ',engine='c',header=None).values[:,0:-1] test_full=pd.read_

Python核心编程(第二版) 第二章习题答案 未完待续

2-2.程序输出.阅读下面的Python脚本.#!/usr/bin/env python1 + 2 * 4(a)你认为这段脚本是用来做什么的?(b)你认为这段脚本会输出什么?(c)输入以上代码,并保存为脚本,然后运行它,它所做的与你的预期一样吗?为什么一样/不一样?(d)这段代码单独执行和在交互解释器中执行有何不同?试一下,然后写出结果.(e)如何改进这个脚本,以便它能和你想象的一样工作?答:(a)这段脚本是用来计算表达式的值(b)脚本会输出9(c)保存为脚本,运行后没有输出.和自己预期不一样.

Python编程快速上手-让繁琐工作自动化-第二章习题及其答案

Python编程快速上手-让繁琐工作自动化-第二章习题及其答案 1.布尔数据类型的两个值是什么?如何拼写? 答:True和False,使用大写的T和大写的F,其他字母是小写. 2.3个布尔操作符是什么? 答:and.or和not. 3.写出每个布尔操作符的真值表(也就是操作数的每种可能组合,以及操作的结果) 答:and:True and True  -> True True and False -> FalseFalse and True -> FalseFasle and False

C++ Primer第二章习题(一)

习题2.1 /* 各种类型在本机所在字长 */ #include<iostream> int main(){ std::cout<<"sizeof(int)="<<sizeof(int)<<std::endl; std::cout<<"sizeof(long)="<<sizeof(long)<<std::endl; std::cout<<"sizeof(long

《深入理解计算机系统》第二章习题2_66

最近打算把<深入理解计算机系统>再读一遍,说实话这本书读多少遍都不嫌多,每读一遍都会有收获.这次决心把书中的习题整个过一遍,并把其中我认为比较典型的.有意思的写城博文记录一下,恩,这就是这篇博文的由来.恳请各路大神拍砖. 一. 问题描述(鉴于我这不忍直视的翻译水平,我就直接贴书中的问题描述了): Generate mask indicating leftmost 1 in x. Assume w = 32. For example 0xFF00 -> 0x8000, and 0x6600

第二章习题

#include <iostream> #include<stdio.h> using namespace std; int main() { int num=100; for(;num<=999;num++) { int n1=num%10; int n3=num/100; int n2=(num/10)%10; if(num==n1*n1*n1+n2*n2*n2+n3*n3*n3) printf("%d ",num); } printf("\

算法竞赛入门经典(第二版) - 第二章 习题

习题2-1 水仙花数(daffodil) 1 #include <stdio.h> 2 int main(void) 3 { 4 for (int i = 1; i < 10; i++) 5 for (int j = 0; j < 10; j++) 6 for (int k = 0; k < 10; k++) 7 if (i*100 + j*10 + k == i*i*i + j*j*j + k*k*k) 8 printf("%d\n", i*100 +

具体数学第二版第二章习题(2)

16 $x^{\underline{n}}(x-n)^{\underline{m}}=x^{\underline{m}}(x-m)^{\underline{n}}=x^{\underline{n+m}}$ 17 当$m>0$时,有$x^{\overline{m}}=x(x+1)(x+2)..(x+m-2)(x+m-1)$ 当$m=0$时,有$x^{\overline{0}}=1$ 当$m<0$时,有$x^{\overline{m}}=\frac{1}{(x-1)(x-2)...(x-(|m|-