【发布时间】:2018-08-05 01:09:45
【问题描述】:
我有一个包含 1125 行和 64 列的数据集。其中前 554 行属于一个类,其余行属于另一个类。目标函数
将根据 R_1 和 R_2 最小化,其中两者都是行向量(1 x 64)。 x_i 和 x_l 是数据矩阵中的行。我正在尝试使用优化工具箱最小化这个目标函数,但我正在努力以所需的形式获得目标函数并遇到错误。这就是我到目前为止的编码方式
data = xlsread('data.xlsx');
dat1 = data(1:554,:);
dat2 = data(555:1125,:);
f1 = @(x) 0;
f2 = @(x) 0;
%% for digits labeled 0
for i = 1:554
f1 = @(x) f1 + (dat1(i,:) - x(1)).^2;
end
%% for digits labeled 1
for j = 1:571
f2 = @(x) f2 + (dat2(j,:) - x(2)).^2;
end
%% final objective function
f = @(x) 1/554*f1 + 1/571*f2;
%%
x = fminunc(f);
请指导我如何在Matlab中正确形成这种类型的目标函数
【问题讨论】:
-
请不要将代码(文本)作为图像。这似乎很明显。
标签: matlab optimization machine-learning