matlablogistic回归

时间: 2023-10-15 19:01:20 浏览: 42
Logistic回归是一种广泛应用于分类问题的统计建模方法,其中使用了Logistic函数来建模因变量和自变量之间的关系。 在MATLAB中,logistic回归可以使用logistic回归模型工具箱来实现。首先,我们需要准备好用于训练和测试的数据集。然后,使用logistic回归模型工具箱中的函数来创建一个逻辑回归模型。 使用Logistic回归模型进行训练时,我们需要选择一个适当的损失函数和优化算法。常见的损失函数有对数似然损失函数,均方误差损失函数等。常见的优化算法有梯度下降法、拟牛顿法等。 在训练完成后,我们可以使用模型对新的样本进行预测。对于二分类问题,模型会返回一个概率值,代表样本属于某一类的概率。我们可以根据阈值将概率转化为类别标签。 在MATLAB中,我们可以使用logistic回归模型工具箱中的函数计算模型的准确率、精确率、召回率等分类性能指标,以评估模型的性能。 总而言之,MATLAB中的logistic回归模型工具箱为我们提供了构建和评估logistic回归模型的便利。通过适当选择损失函数和优化算法,我们可以通过训练数据建立一个分类模型,并利用该模型对新的样本进行分类预测。
相关问题

matlab logistic回归

你好!对于 MATLAB 中的逻辑回归,你可以使用 `fitglm` 函数来实现。逻辑回归是一种用于分类问题的统计模型,常用于预测二元或多元变量的概率。下面是一个简单的示例代码,展示了如何使用 `fitglm` 来进行逻辑回归: ```matlab % 准备训练数据 X = [1 2 3 4 5]; y = [0 0 1 1 1]; % 使用 fitglm 进行逻辑回归拟合 model = fitglm(X, y, 'Distribution', 'binomial', 'Link', 'logit'); % 预测新的观测值 newX = [6 7]; pred = predict(model, newX); % 打印预测结果 disp(pred); ``` 在上面的代码中,我们首先准备了训练数据 `X` 和标签 `y`,然后使用 `fitglm` 函数进行逻辑回归模型的拟合。`Distribution` 参数指定了使用二项分布来建模,而 `Link` 参数指定了使用对数几率函数(logit function)作为链接函数。接下来,我们可以使用拟合好的模型来预测新的观测值 `newX`,并通过 `predict` 函数得到预测结果。 希望这个示例能对你有帮助!如果你有任何其他问题,请随时提问。

matlablogistic回归预测

matlab中的logistic回归是一种常用的预测方法,适用于二分类问题。下面我将详细介绍如何使用matlab进行logistic回归预测。 首先,我们需要准备好数据集。假设我们有一个包含一些特征和对应类别标签的数据集。可以使用matlab中的数据导入工具将数据集导入到工作空间中。 接下来,我们需要对数据进行预处理。这包括数据清洗和特征缩放。可以使用matlab中的预处理函数,如`fillna`和`normalize`来进行数据预处理。 然后,我们需要将数据集划分为训练集和测试集。训练集用于训练模型,测试集用于评估模型的性能。可以使用matlab中的`cvpartition`函数来实现数据集的划分。 接着,我们可以使用matlab中的`fitglm`函数来训练logistic回归模型。这个函数可以自动进行模型参数估计,并返回一个包含模型参数的对象。 训练完成后,我们可以使用训练好的模型对测试集进行预测。可以使用matlab中的`predict`函数来进行预测。 最后,我们可以使用一些评估指标来评估模型的性能,如准确率、精确率、召回率等。可以使用matlab中的`confusionmat`和`perfcurve`函数来计算这些指标。 总结起来,使用matlab进行logistic回归预测可以分为数据准备、数据预处理、数据集划分、模型训练、模型预测和性能评估几个步骤。matlab提供了丰富的函数和工具来支持这些步骤,使得logistic回归预测变得简单高效。

相关推荐

在MATLAB中实现Logistic回归模型可以按照以下步骤进行: 1. 加载数据 首先,我们需要加载数据,将输入特征和输出标签存储在X和y变量中。假设我们的数据集已经处理成了m个样本,每个样本有n个特征,输出标签为0或1,那么可以使用以下代码来加载数据: data = load('data.txt'); X = data(:, 1:n); y = data(:, n+1); m = size(X, 1); 2. 特征缩放 为了使不同的特征对模型的影响程度相等,需要对特征进行缩放。可以使用以下代码对特征进行标准化: [X, mu, sigma] = featureNormalize(X); X = [ones(m, 1) X]; 其中,featureNormalize函数可以将每个特征都缩放到均值为0,标准差为1的范围内。 3. 初始化参数 接下来,需要初始化模型参数theta。可以使用以下代码来进行初始化: initial_theta = zeros(n+1, 1); 其中,n+1为参数数量,包括了截距项。 4. 计算损失函数和梯度 使用上一步中初始化的参数,可以计算模型的损失函数和梯度。可以使用之前介绍的logisticRegressionCostFunction函数来实现: [cost, grad] = logisticRegressionCostFunction(initial_theta, X, y, lambda); 其中,lambda为正则化系数。 5. 使用优化算法 最后,使用优化算法(如梯度下降法或共轭梯度法)来最小化损失函数并得到最优参数theta。可以使用以下代码来实现: options = optimset('GradObj', 'on', 'MaxIter', 400); [theta, cost] = fminunc(@(t)(logisticRegressionCostFunction(t, X, y, lambda)), initial_theta, options); 其中,fminunc函数是MATLAB中的优化函数,用于寻找函数的最小值。 得到最优参数theta后,就可以使用该模型进行预测了。可以使用以下代码来进行预测: prob = sigmoid(X * theta); predictions = (prob >= 0.5); 其中,sigmoid函数是前面提到的Logistic函数。predictions是预测的输出标签,prob是预测为1的概率值。
在MATLAB中实现Logistic回归模型可以按照以下步骤进行: 1. 加载数据 首先,我们需要加载数据,将输入特征和输出标签存储在X和y变量中。假设我们的数据集已经处理成了m个样本,每个样本有n个特征,输出标签为0或1,那么可以使用以下代码来加载数据: data = load('data.txt'); X = data(:, 1:n); y = data(:, n+1); m = size(X, 1); 2. 特征缩放 为了使不同的特征对模型的影响程度相等,需要对特征进行缩放。可以使用以下代码对特征进行标准化: [X, mu, sigma] = featureNormalize(X); X = [ones(m, 1) X]; 其中,featureNormalize函数可以将每个特征都缩放到均值为0,标准差为1的范围内。 3. 初始化参数 接下来,需要初始化模型参数theta。可以使用以下代码来进行初始化: initial_theta = zeros(n+1, 1); 其中,n+1为参数数量,包括了截距项。 4. 计算损失函数和梯度 使用上一步中初始化的参数,可以计算模型的损失函数和梯度。可以使用之前介绍的logisticRegressionCostFunction函数来实现: [cost, grad] = logisticRegressionCostFunction(initial_theta, X, y, lambda); 其中,lambda为正则化系数。 5. 使用优化算法 最后,使用优化算法(如梯度下降法或共轭梯度法)来最小化损失函数并得到最优参数theta。可以使用以下代码来实现: options = optimset('GradObj', 'on', 'MaxIter', 400); [theta, cost] = fminunc(@(t)(logisticRegressionCostFunction(t, X, y, lambda)), initial_theta, options); 其中,fminunc函数是MATLAB中的优化函数,用于寻找函数的最小值。 得到最优参数theta后,就可以使用该模型进行预测了。可以使用以下代码来进行预测: prob = sigmoid(X * theta); predictions = (prob >= 0.5); 其中,sigmoid函数是前面提到的Logistic函数。predictions是预测的输出标签,prob是预测为1的概率值。
在Matlab中,可以使用logistic回归来进行二分类任务。Logistic回归是一种广义线性模型,它将输入变量通过sigmoid函数映射到0和1之间的概率值,并用于预测离散的类别标签。 以下是一个简单的示例代码,演示如何在Matlab中使用logistic回归: matlab % 准备数据 load fisheriris X = meas(51:end, 1:2); % 只选择两个特征 y = (strcmp(species(51:end), 'versicolor')); % 添加常数项(截距) X = [ones(size(X, 1), 1) X]; % 使用logistic回归 [b, dev, stats] = glmfit(X, y, 'binomial', 'link', 'logit'); % 预测新样本 X_new = [1, 5.7, 3.2]; % 新样本特征 prob = glmval(b, X_new, 'logit'); % 输出结果 disp(['预测的概率为:' num2str(prob)]) % 绘制决策边界 x1range = min(X(:,2)):0.01:max(X(:,2)); x2range = min(X(:,3)):0.01:max(X(:,3)); [x1, x2] = meshgrid(x1range, x2range); X_grid = [ones(numel(x1), 1) x1(:) x2(:)]; y_grid = glmval(b, X_grid, 'logit') >= 0.5; y_grid = reshape(y_grid, size(x1)); figure; plot(X(y==0, 2), X(y==0, 3), 'o'); hold on; plot(X(y==1, 2), X(y==1, 3), 'x'); contour(x1, x2, y_grid, [0.5 0.5], 'k'); hold off; 在这个示例中,我们使用了fisheriris数据集的一部分,选择两个特征作为输入变量(X),并将标签versicolor映射为二进制类别标签(y)。然后,我们使用glmfit函数进行logistic回归拟合,得到模型参数(b)。之后,我们可以使用glmval函数对新样本进行预测,并绘制决策边界。 请注意,这只是logistic回归的一个简单示例。在实际应用中,您可能需要更多的数据预处理、特征工程和模型调优等步骤。
好的,下面是MATLAB实现逻辑回归的代码: 假设有m个样本和n个特征,我们的目标是预测二元分类结果。 首先,我们需要准备数据。假设我们已经将样本数据保存在矩阵X中,每一行代表一个样本,每一列代表一个特征。我们将对应的分类结果保存在向量y中,其元素只能是0或1。 接下来,我们需要定义逻辑回归模型的损失函数和梯度下降算法。逻辑回归的损失函数通常使用交叉熵损失函数,而梯度下降算法用于最小化损失函数并更新模型参数。 以下是MATLAB代码实现: % 准备数据 m = size(X, 1); n = size(X, 2); X = [ones(m, 1) X]; % 添加常数项 theta = zeros(n + 1, 1); % 初始化参数 alpha = 0.01; % 学习率 num_iters = 1000; % 迭代次数 % 定义逻辑回归模型的损失函数和梯度下降算法 function [J, grad] = costFunction(theta, X, y) m = length(y); h = sigmoid(X * theta); J = (-1 / m) * sum(y .* log(h) + (1 - y) .* log(1 - h)); grad = (1 / m) * X' * (h - y); end % 训练模型 for i = 1:num_iters [J, grad] = costFunction(theta, X, y); theta = theta - alpha * grad; end % 预测新数据 function p = predict(theta, X) m = size(X, 1); p = zeros(m, 1); h = sigmoid(X * theta); p(h >= 0.5) = 1; end 在这个实现中,我们使用sigmoid函数作为逻辑回归模型的激活函数,其定义如下: function g = sigmoid(z) g = 1 ./ (1 + exp(-z)); end sigmoid函数将输入值压缩到0和1之间,可以将其视为概率估计。 最后,我们可以使用predict函数对新数据进行预测。
### 回答1: Logistic回归是一种常用的分类算法,可以用于二分类和多分类问题。在Matlab中,可以使用logistic回归函数fitglm()来实现。 fitglm()函数的基本语法如下: mdl = fitglm(X,Y,'Distribution','binomial','Link','logit'); 其中,X是输入特征矩阵,Y是输出标签向量。'Distribution'参数指定了概率分布类型,这里选择了二项分布(binomial)。'Link'参数指定了连接函数类型,这里选择了logit函数。 使用fitglm()函数可以得到一个logistic回归模型,可以使用predict()函数对新的数据进行分类预测。例如: y_pred = predict(mdl,X_new); 其中,X_new是新的输入特征矩阵,y_pred是预测的输出标签向量。 需要注意的是,logistic回归模型的性能评估可以使用混淆矩阵、准确率、召回率、F1值等指标。可以使用confusionmat()函数计算混淆矩阵,使用classificationReport()函数计算准确率、召回率、F1值等指标。例如: y_true = [0 1 0 1 0 1]; y_pred = [0 1 1 1 0 0]; C = confusionmat(y_true,y_pred); report = classificationReport(y_true,y_pred); 其中,y_true是真实的输出标签向量,y_pred是预测的输出标签向量。C是混淆矩阵,report是性能评估报告。 ### 回答2: Logistic回归是一种分类方法,通过对特征与标签之间的关系进行建模,来预测未知数据的类别。该算法的核心思想是,将特征与标签之间的关系转化为一个Sigmoid函数,并将该函数的输出(即概率值)映射为类别输出(0或1)。 在Matlab中实现Logistic回归,可以使用Matlab的机器学习工具箱(Machine Learning Toolbox)。以下是具体实现步骤: 1. 数据准备 首先,需要准备训练数据和测试数据。训练数据包括特征和标签,其中特征是一个$n \times p$矩阵,标签是一个$n \times 1$向量。测试数据只包括特征。 2. 模型训练 使用trainClassifier函数训练一个Logistic回归模型,该函数需要传入训练数据和相关参数,包括正则化系数、迭代次数等。如下所示: model = trainClassifier(X_train,y_train,'Learner','logistic','Regularization','lasso','Lambda',0.1); 其中,X_train为训练数据特征,y_train为训练数据标签,'Learner'参数指定使用Logistic回归算法,'Regularization'参数指定正则化方法为Lasso,'Lambda'参数指定正则化系数为0.1。 3. 模型预测 使用predict函数对测试数据进行预测并输出分类结果,如下所示: y_pred = predict(model,X_test); 其中,X_test为测试数据特征。 4. 模型评估 使用confusionmat函数计算模型的混淆矩阵,并计算准确率、召回率、F1-score等指标,如下所示: C = confusionmat(y_test,y_pred); accuracy = sum(diag(C))/sum(sum(C)); recall = C(2,2)/(C(2,2)+C(2,1)); precision = C(2,2)/(C(2,2)+C(1,2)); f1_score = 2*precision*recall/(precision+recall); 其中,y_test为测试数据标签。 以上就是在Matlab中实现Logistic回归的具体步骤。需要注意的是,在实际使用中,需要根据数据情况进行参数调整和模型优化,以提高分类准确率。 ### 回答3: Logistic回归是一种二元分类模型,在机器学习中经常被使用。在Matlab中可以通过内置函数实现。本文将对logistic回归的实现方法进行详细阐述。 首先,需要定义一组输入变量X和对应的输出变量Y。其中,X是一个m行n列的矩阵,m表示样本数,n表示特征数。Y是一个m行1列的向量,值为0或1,表示样本的分类标签。 接着,需要进行特征缩放。特征缩放是将特征值按比例缩小,使它们具有相似的数量级。特征缩放有助于梯度下降算法更快地收敛。特征缩放的代码如下: [X, mu, sigma] = featureNormalize(X); 其中,featureNormalize是Matlab内置的特征缩放函数。该函数返回缩放后的X矩阵,并返回mu和sigma,分别表示每个特征的平均值和标准差。 接着,需要定义sigmoid函数。sigmoid函数将输入的值转换为0到1之间的值,表示某个样本属于第一类别的概率。sigmoid函数的代码如下: function g = sigmoid(z) g = 1./(1+exp(-z)); end 其中,exp是Matlab内置的指数函数。 接下来,需要定义代价函数。代价函数用于衡量模型预测结果与实际结果的偏差程度。代价函数的代码如下: function [J, grad] = costFunction(theta, X, y) m = length(y); J = -1/m*(y'*log(sigmoid(X*theta))+(1-y)'*log(1-sigmoid(X*theta))); grad = 1/m*X'*(sigmoid(X*theta)-y); end 其中,theta是待求解的参数向量,J是代价函数值,grad是代价函数的梯度值。在代码中,使用了sigmoid函数进行预测,并计算了预测结果与实际结果的偏差。 最后,使用梯度下降算法求解最优参数。梯度下降算法的代码如下: function [theta, J_history] = gradientDescent(theta, X, y, alpha, num_iters) m = length(y); J_history = zeros(num_iters, 1); for iter = 1:num_iters [J, grad] = costFunction(theta, X, y); theta = theta - alpha*grad; J_history(iter) = J; end end 其中,alpha是学习率,num_iters是迭代次数。在迭代过程中,不断更新theta参数,并记录每次迭代后的代价函数值。最终,返回theta和代价函数历史值。 综上所述,以上代码实现了logistic回归模型,在Matlab中可以方便地进行二元分类。
### 回答1: 多元logistic回归是一种用于分类问题的统计分析方法,它可以用来预测一个或多个分类变量的概率。在Matlab中,可以使用logistic回归函数(如mnrfit和mnrval)来实现多元logistic回归。这些函数可以帮助用户拟合一个或多个分类变量的概率模型,并使用该模型进行预测。在使用这些函数时,需要提供输入变量和输出变量的数据,以及一些其他参数,如正则化参数和最大迭代次数等。通过调整这些参数,可以优化模型的性能并提高预测准确率。 ### 回答2: 多元logistic回归是一种常见的分类方法,通常用于分析多个自变量对于一个分类结果的影响。在Matlab中,使用多元logistic回归可以通过logistic回归函数实现。以下是关于如何使用Matlab进行多元logistic回归的详细介绍。 首先,需要准备好数据集。数据集应该是一个n行m+1列的矩阵,其中第1到m列为自变量,第m+1列为分类结果。接着,可以使用Matlab中的logistic回归函数进行多元logistic回归: [b, dev, stats] = mnrfit(X, Y) 其中,X是n行m列的自变量矩阵,Y是n行1列的分类标签矩阵。回归系数b是一个m+1行1列的向量,包含各个自变量的系数以及常数项的系数。dev是一个标量,代表最终模型的对数似然值。stats是一个结构体数组,包含其他统计信息,如斜率的标准误差和z值。 除了上述函数之外,Matlab还提供了其他用于多元logistic回归的函数,如mnrval,用于计算给定n行m列的矢量的似然度;和mnrfitlegacy,用于使用遗留算法进行回归分析。此外,Matlab还提供了许多用于分析分类结果的函数,如confusionmat,计算混淆矩阵。 总而言之,使用Matlab进行多元logistic回归非常简单,只需要准备好数据集并调用相关函数即可。但是,需要谨慎选择自变量,因为多元logistic回归不支持过多的自变量,否则会导致过拟合。需要结合实际应用场景,选择真正对分类结果有影响的自变量。 ### 回答3: 多元logistic回归是常见的一种分类方法,适用于对多个特征变量与一个二元分类变量之间的关系进行建模和预测。在matlab中,可以通过使用“mnrfit”函数来进行多元logistic回归的拟合和估计。 首先,需要准备好数据集,包括多个特征变量和一个二元分类变量,其中特征变量可以是连续的或离散的。然后,可以使用“mnrfit”函数来拟合多元logistic回归模型,该函数的语法格式如下: [b, dev, stats] = mnrfit(X, Y) 其中,X是一个n×p的矩阵,表示n个样本和p个特征变量,Y是一个n×1的向量,表示n个样本的二元分类变量。函数的输出参数包括回归系数矩阵b、偏差度量dev和统计信息stats,其中回归系数矩阵b是一个p×2矩阵,表示p个特征变量的回归系数,偏差度量dev表示拟合模型的拟合程度,统计信息stats提供模型的一些统计信息。 在对多元logistic回归模型进行拟合后,可以使用“mnrfun”函数来预测新的样本的分类结果,该函数的语法格式如下: Yhat = mnrfun(b, Xnew) 其中,b是回归系数矩阵,Xnew是一个m×p的矩阵,表示m个新样本和p个特征变量,Yhat是一个m×1的向量,表示m个新样本的分类结果。需要注意的是,预测的新样本的特征变量必须与训练的样本的特征变量相同。 总之,多元logistic回归是一种基于分类变量和多个特征变量之间的关系进行建模和预测的方法,matlab中提供了相关的函数进行拟合和预测。

最新推荐

DAC简介及参考电路PPT学习教案.pptx

DAC简介及参考电路PPT学习教案.pptx

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire

OceanBase数据库简介及原理解析

# 1. OceanBase数据库概述 ## 1.1 OceanBase数据库的发展历程 OceanBase数据库是由阿里巴巴集团自主研发的一款分布式关系型数据库系统,起源于阿里集团的业务需求和技术挑战。自2010年开始研发,经过多年的迭代和优化,OceanBase已经成为阿里巴巴集团重要的核心数据库产品之一。在实际的业务场景中,OceanBase已经被广泛应用于金融、电商、物流等各个领域。 ## 1.2 OceanBase数据库的特点和优势 OceanBase数据库具有以下特点和优势: - **分布式架构**:OceanBase采用多副本分布式架构,可以实现高可用和数据容灾。 -

python的pandas读取excel怎么将excel表里的列从1开始而不是0

在 Pandas 中,数据框的列默认从0开始编号,但我们可以通过自定义函数来进行数据列的转换。可以先将读取的数据框列的第一个值设为1,然后对后续列进行递增处理。 以下是示例代码: ```python import pandas as pd # 读取 Excel 文件 df = pd.read_excel('your_excel_file.xlsx') # 定义函数将列从1开始 def reset_column(x): return str(int(x) + 1) # 应用函数到所有列名 df = df.rename(columns=reset_column) # 打印数据框

第三章薪酬水平、薪酬系统的运行与控制.pptx

第三章薪酬水平、薪酬系统的运行与控制.pptx

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依

理解MVC架构:Laravel框架的核心设计

# 1. 第1章 项目立项与概述 ## 1.1 动机 随着互联网的快速发展,Web应用的开发需求不断增加。为了提高开发效率、代码可维护性和团队协作效率,我们决定采用MVC架构来设计我们的Web应用。 ## 1.2 服务器状态 我们的服务器环境采用了LAMP(Linux + Apache + MySQL + PHP)架构,满足了我们Web应用开发的基本需求,但为了更好地支持MVC架构,我们将对服务器进行适当的配置和优化。 ## 1.3 项目立项 经过团队讨论和决定,决定采用Laravel框架来开发我们的Web应用,基于MVC架构进行设计和开发,为此做出了项目立项。 ## 1.4 项目概况

如何将HDFS上的文件读入到Hbase,用java

要将HDFS上的文件读入到HBase,可以使用Java编写MapReduce程序实现,以下是实现步骤: 1. 首先需要创建一个HBase表,可使用HBase Shell或Java API创建; 2. 编写MapReduce程序,其中Map阶段读取HDFS上的文件,将数据转换成Put对象,然后将Put对象写入到HBase表中; 3. 在MapReduce程序中设置HBase表名、列族名、列名等参数; 4. 在程序运行前,需要将HBase相关的jar包和配置文件加入到classpath中; 5. 最后提交MapReduce任务运行即可。 以下是示例代码: ``` Configuration

酒店餐饮部工作程序及标准(某酒店).doc

餐饮

关系数据表示学习

关系数据卢多维奇·多斯桑托斯引用此版本:卢多维奇·多斯桑托斯。关系数据的表示学习机器学习[cs.LG]。皮埃尔和玛丽·居里大学-巴黎第六大学,2017年。英语。NNT:2017PA066480。电话:01803188HAL ID:电话:01803188https://theses.hal.science/tel-01803188提交日期:2018年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaireUNIVERSITY PIERRE和 MARIE CURIE计算机科学、电信和电子学博士学院(巴黎)巴黎6号计算机科学实验室D八角形T HESIS关系数据表示学习作者:Ludovic DOS SAntos主管:Patrick GALLINARI联合主管:本杰明·P·伊沃瓦斯基为满足计算机科学博士学位的要求而提交的论文评审团成员:先生蒂埃里·A·退休记者先生尤尼斯·B·恩