集成学习 task2

回归问题

Problem 1

线性回归问题:假设数据集 X=\{x_1,x_2,...x_N\},Y=\{y_1,y_2,...y_N\}x_i\in\mathbb{R}^d , 我们试图用线性模型 y=w^Tx 拟合数据集 X,Y ,选取平方误差为损失函数:

E = \sum_{i=1}^N|y_i-w^Tx_i|^2

最小二乘法 \nabla E=02\sum_i (y_i-w^Tx_i)x_i=0 ,因此:

\sum_i y_i x_i = \sum_ix_i x_{i}^Tw

得到 w 的最优估计 (\sum_i x_i^Tx_i)^{-1}\sum_iy_ix_i

Problem 3

多项式回归需要对问题的阶数有个准确的估计,否则容易过拟合或欠拟合。

此外多项式基函数的一个局限性是它们是输入变量的全局函数,对于输入空间一个区域的改变将会影响所有其他的区域。

Problem 6

通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界。

Problem 7

构造一个 w=[0,1,...,10] 带0.2噪声的数据集,线性回归得如下结果:

import numpy as np
N, D = 100, 10
X = np.random.randn(N, D)
w = np.arange(1, D + 1)
Y = X @ w.T + np.random.rand(N) * 0.2
w_e = np.linalg.inv(X.T @ X) @ (Y @ X).T
print(w_e)

回归结果:

[1.01561643 1.99488896 3.00757061 4.00812975 4.99195027 
 5.99535641 6.97276554 7.98844247 9.00599382 9.96354492]