图解机器学习第二部分第5章——高斯核模型的L1约束的最小二乘学习

公式推导:
在这里插入图片描述
在这里插入图片描述

n =50;%50 个节点
N=1000;%1000 个节点
x=linspace(-3,3,n)';%在 -3 到 3 上找 50 个节点
pix=pi*x;% π * x
y=sin(pix)./(pix)+0.1*x+0.05*randn(n,1);%通过函数f(x) 得到 y。
X=linspace(-3,3,N)';%在 -3 到 3 上找 1000 个节点 去拟合这 50 个节点

hh = 2 * 0.3^2;% 控制高斯核函数的局部作用范围:0.3
t0 = randn(n,1);%随机化 50 个参数值
l = 0.1;% 梯度下降的步幅
x2 = x.^2;

k = exp(-(repmat(x2,1,n)+repmat(x2',n,1)-2*x*x')/hh);
k2=k^2;
ky=k*y;
for o=1:1000
    t=(k2+l*pinv(diag(abs(t0))))\ky;% 加入L1约束条件
    if norm(t-t0)<0.001,break,end
    t0=t;
end
K=exp(-(repmat(X.^2,1,n)+repmat(x2',N,1)-2*X*x')/hh);
F=K*t;



figure(1);
clf;
hold on;
axis([-2.8 2.8 -0.5 1.2]);% X 轴的范围是-2.8 ~ 2.8。Y 轴的范围是 -0.5 ~ 1.2
plot(X,F,'g-');
plot(x,y,'bo');



详细解释:
n = 50;:定义了节点数目为50,表示样本数据中的点数。

N = 1000;:定义了节点数目为1000,表示用于拟合的点的数目。

x = linspace(-3,3,n)';:在-33之间生成50个等间距的点,用于构建输入样本。

pix = pi*x;:将x乘以π,生成π*x的向量。

y = sin(pix)./(pix)+0.1*x+0.05*randn(n,1);:根据函数f(x)生成输出向量y,其中包括sin(pix)./(pix)项、0.1*x项和加入高斯噪声的项。

X = linspace(-3,3,N)';:在-33之间生成1000个等间距的点,用于构建拟合结果的曲线。

hh = 2 * 0.3^2;:设置高斯核函数的局部作用范围参数,这里取0.3。

t0 = randn(n,1);:随机生成一个具有50个参数的初始参数向量t0。

l = 0.1;:定义梯度下降的步幅,即学习率。

x2 = x.^2;:计算x的平方。

k = exp(-(repmat(x2,1,n)+repmat(x2',n,1)-2*x*x')/hh);:使用高斯核函数计算输入样本的高斯核矩阵k。该矩阵描述了样本之间的相似性。

k2 = k^2;:计算k的平方,用于后续的计算。

ky = k*y;:将高斯核矩阵k与输出向量y相乘,得到ky。

for o = 1:1000:循环迭代最多1000次,直到满足停止条件。

t = (k2 + l * pinv(diag(abs(t0)))) \ ky;:使用L1约束条件进行参数学习。通过解决线性方程组的形式,计算出最优的参数t。其中,pinv函数是求矩阵的广义逆,diag函数用于构造对角矩阵。

if norm(t - t0) < 0.001, break, end:检查参数更新的变化量,如果小于给定的阈值(0.001),则退出循环。

t0 = t;:将更新后的参数赋值给t0,为下一次迭代做准备。

K = exp(-(repmat(X.^2,1,n) + repmat(x2',N,1) - 2*X*x') / hh);:使用高斯核函数计算拟合结果曲线的高斯核矩阵K。

F = K * t;:通过将K与参数t相乘得到拟合结果F,即拟合曲线。

figure(1);:创建一个新的图形窗口。

clf;:清除当前图形窗口的内容。

hold on;:设置图形窗口保持当前内容。

axis([-2.8 2.8 -0.5 1.2]);:设置图形的坐标轴范围,X轴范围为-2.82.8,Y轴范围为-0.51.2plot(X,F,'g-');:绘制拟合结果曲线,使用绿色实线。

plot(x,y,'bo');:绘制样本数据点,使用蓝色圆点。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在人工智能研究中,状态空间法是一种基于解空间的问题表示和求解方法。该方法通过在可能的解空间内寻找一个解来求解问题。状态空间法以状态和算符为基础来表示和求解问题。在传统人工智能问题中,复杂的求解技术都离不开表示与搜索这两个方面的内容,其中状态空间表示是其中的一个重要概念。状态空间法采用试探搜索方法,在某个可能的解空间内寻找一个解来求解问题。图解人工智能第二章学习笔记中可能会涉及到状态空间法的概念和问题状态描述。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [人工智能及其应用——第二章学习笔记(上)](https://blog.csdn.net/JallinRicher/article/details/122752897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [《人工智能及其应用》课程笔记(二)第2章 知识表示方法](https://blog.csdn.net/qq_46485137/article/details/122101559)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值