梯度下降matlab代码详解

时间: 2023-06-20 15:01:42 浏览: 61
### 回答1: 梯度下降是一种常见的数学优化方法,用于最小化一些目标函数。Matlab是一种常用的编程语言,用于数值计算及可视化。在Matlab中,可以通过编写代码实现梯度下降算法来求解目标函数的最小值。 梯度下降算法的基本思路是,找到目标函数的梯度(即方向导数)并将自变量沿着梯度方向移动一小步,直到达到目标函数的最小值。这个小步称为学习率。如果学习率太大,可能会导致算法无法收敛,如果学习率太小,可能会导致算法收敛速度太慢。因此,合适的学习率是非常重要的。 以下是一个简单的梯度下降Matlab代码的实现: ```matlab %初始化自变量和学习率 x = 5; lr = 0.01; %目标函数 function y = f(x) y = x^2 - 6*x + 8; end %计算梯度 function g = grad(x) g = 2*x - 6; end %梯度下降算法 while abs(grad(x)) > 1e-6 x = x - lr * grad(x); end %输出结果 fprintf('The optimal value of x is %.4f\n', x); fprintf('The optimal value of the objective function is %.4f\n', f(x)); ``` 这个代码首先定义了自变量x和学习率lr的初始值。然后定义了目标函数f和计算梯度的函数grad。在while循环中,采用梯度下降算法不断更新自变量x的值,直到梯度的绝对值小于某个阈值(本例中为1e-6)。最后输出了最优解和最小的目标函数值。 总而言之,梯度下降算法是一种数学优化方法,常用于最小化目标函数。在Matlab中,可以编写代码实现梯度下降算法来求解目标函数的最小值,需要注意学习率设置和算法的收敛性。 ### 回答2: 梯度下降算法是机器学习中常用的优化算法,可以根据损失函数的梯度来寻找最优解。在MATLAB中实现梯度下降算法可以分为以下几个步骤: 1.定义损失函数 在MATLAB中,可以通过定义一个函数来表示损失函数,例如: ``` function J = costFunction(X, y, theta) % Compute cost for linear regression m = length(y); % number of training examples J = 0; predictions = X*theta; sqrErrors = (predictions - y).^2; J = 1/(2*m) * sum(sqrErrors); end ``` 其中,X为特征矩阵,y为样本输出,theta为待求解的参数,通过计算预测值与实际值的误差平方和来得到损失函数。 2.定义梯度函数 梯度函数表示损失函数对于每个参数的导数,即损失函数在当前参数值处的方向导数。在MATLAB中,可以定义一个函数来计算梯度值,例如: ``` function [theta, J_history] = gradientDescent(X, y, theta, alpha, num_iters) %GRADIENTDESCENT Performs gradient descent to learn theta % theta = GRADIENTDESCENT(X, y, theta, alpha, num_iters) updates theta by % taking num_iters gradient steps with learning rate alpha m = length(y); % number of training examples J_history = zeros(num_iters, 1); for iter = 1:num_iters predictions = X*theta; errors = predictions - y; delta = (1/m)*X'*errors; theta = theta - alpha * delta; J_history(iter) = costFunction(X, y, theta); end end ``` 其中,alpha表示学习率,num_iters表示迭代次数,通过迭代更新参数theta的值。 3.运行并可视化结果 在定义好损失函数和梯度函数之后,可以通过调用gradientDescent函数来得到参数估计值,例如: ``` initial_theta = zeros(size(X, 2), 1); num_iters = 1500; alpha = 0.01; [theta, J_history] = gradientDescent(X, y, initial_theta, alpha, num_iters); ``` 得到的theta就是我们需要的模型参数估计值,J_history则可以用来观察损失函数的变化情况,进而判断优化效果。我们可以通过可视化的方式来呈现损失函数随迭代次数的变化趋势,例如: ``` plot(1:num_iters, J_history, '-b', 'LineWidth', 2); xlabel('Number of iterations'); ylabel('Cost J'); ``` 以上就是使用MATLAB实现梯度下降算法的基本步骤,需要注意的是,选择合适的学习率alpha和迭代次数num_iters对于算法的收敛效果十分重要。 ### 回答3: 梯度下降算法是一种基于优化的方法,用于寻找函数最小值或最大值的过程。在机器学习中,它被广泛应用于训练模型,例如神经网络。 梯度下降的主要思想是通过迭代逐步调整参数,使得损失函数的值逐渐趋近于最小值。具体来说,对于每一次迭代,使用当前参数计算出损失函数的梯度,然后按照一定的步长调整参数的值,使得损失函数的值下降。这个过程一直持续到损失函数的值达到一个稳定的最小值。 以下是一个简单的梯度下降的MATLAB代码: function [theta, J_history] = gradientDescent(X, y, theta, alpha, num_iters) %初始化J_history: J_history = zeros(num_iters, 1); %执行num_iters次迭代: for iter = 1:num_iters %计算当前theta下的代价函数: J_history(iter) = computeCost(X, y, theta); %计算当前theta下的梯度: grad = (1/m) * X' * (X*theta - y); %更新参数: theta = theta - alpha * grad; end end 其中,X是样本矩阵,y是标签矩阵,theta是需要求解的权重向量,alpha是学习率,num_iters是迭代次数。computeCost函数用于计算当前参数下的代价函数。 这个代码是一个简单的批量梯度下降算法。在每次迭代中,它计算出当前参数下的代价函数和梯度,然后沿着负梯度方向更新参数。如果学习率设置得当,这个算法可以很快地收敛到最优解。

相关推荐

XGBoost是一种高效的机器学习算法,常用于回归和分类问题。下面是一个简单的XGBoost在MATLAB中的代码示例: % 准备数据 data = readtable('data.csv'); X = data(:,1:end-1); y = data(:,end); % 划分训练集和测试集 cv = cvpartition(size(X,1),'HoldOut',0.3); idx_train = training(cv); idx_test = test(cv); % 定义模型参数 params.max_depth = 3; params.eta = 0.1; params.gamma = 1; params.min_child_weight = 1; params.subsample = 0.8; params.colsample_bytree = 0.8; % 训练模型 dtrain = xgb.DMatrix(X(idx_train,:), y(idx_train,:)); dtest = xgb.DMatrix(X(idx_test,:), y(idx_test,:)); model = xgb.train(params, dtrain, 100); % 预测结果 y_pred = xgb.predict(model, dtest); % 评估模型性能 rmse = sqrt(mean((y_pred - y(idx_test,:)).^2)); 这段代码首先准备数据,包括读取数据文件并将其拆分为特征矩阵X和目标变量y。然后使用HoldOut方法将数据划分为训练集和测试集。接下来定义了XGBoost模型的参数,包括最大树深度,学习率等。然后使用训练集的数据和参数来训练XGBoost模型。训练完成后,使用测试集的数据进行预测,并计算了预测结果和实际结果之间的均方根误差(RMSE),用于评估模型的性能。123 #### 引用[.reference_title] - *1* [使用蒙特卡洛算法解算炼油厂的选址MATLAB程序,提供试题照片,以及MATLAB代码](https://download.csdn.net/download/li171049/88270068)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [时间序列分析 | XGBoost极限梯度提升树时间序列预测(Matlab完整程序)](https://blog.csdn.net/m0_57362105/article/details/129778337)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【机器学习】详解解析极限梯度提升树数学模型](https://blog.csdn.net/fanjufei123456/article/details/130714444)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
Matlab是一款非常优秀的图像处理软件,其图像识别功能也非常强大。下面详细介绍一下Matlab图像识别的相关内容。 一、Matlab图像识别的基本原理 Matlab图像识别的基本原理是通过对图像进行数字处理和分析,从中提取出有用的信息,识别出图像中的对象。这个过程可以分为以下几步: 1. 图像预处理:包括图像的二值化、去噪声、平滑等处理,使得图像更加清晰,便于后续处理。 2. 特征提取:通过对图像中的特征进行提取和描述,得到图像的特征向量,从而对图像进行区分和分类。 3. 分类器设计:根据图像的特征向量,建立分类器模型,用于对图像进行分类。 4. 图像识别:将待识别的图像经过预处理和特征提取后,送入分类器中进行分类,得到图像的识别结果。 二、Matlab图像识别的实现步骤 1. 导入图像:使用imread函数可以将图像导入Matlab中。 2. 图像预处理:对图像进行二值化、去噪声、平滑等预处理操作。 3. 特征提取:根据图像的特征进行提取和描述,得到图像的特征向量,可以使用灰度共生矩阵、图像梯度等方法进行特征提取。 4. 分类器设计:根据图像的特征向量,建立分类器模型,可以使用支持向量机、神经网络等方法进行分类器设计。 5. 图像识别:将待识别的图像经过预处理和特征提取后,送入分类器中进行分类,得到图像的识别结果。 三、常用的Matlab图像识别算法 1. 基于颜色的图像识别:通过对图像的颜色信息进行提取和分析,实现图像识别的过程。 2. 基于纹理的图像识别:通过对图像的纹理信息进行提取和分析,实现图像识别的过程。 3. 基于形状的图像识别:通过对图像的形状信息进行提取和分析,实现图像识别的过程。 4. 基于特征的图像识别:通过对图像的特征信息进行提取和分析,实现图像识别的过程。 四、Matlab图像识别的应用领域 1. 人脸识别:通过对人脸图像进行识别,实现人脸识别的过程。 2. 车辆识别:通过对车辆图像进行识别,实现车辆识别的过程。 3. 文字识别:通过对文字图像进行识别,实现文字识别的过程。 4. 医学图像识别:通过对医学图像进行识别,实现疾病诊断和治疗的过程。 五、总结 Matlab图像识别是一项非常重要的技术,在很多领域都有广泛的应用。通过对图像进行预处理、特征提取、分类器设计和图像识别等步骤,可以实现对图像的自动识别和分类。同时,Matlab还提供了很多图像处理和分析的工具,方便用户进行图像识别和分析。
Matlab是一个优秀的数学软件,其中包括了神经网络工具箱,可以方便地进行神经网络的设计和实现。下面我将介绍一下Matlab神经网络的原理和实例。 ## 神经网络原理 神经网络是一种模拟人脑神经系统的计算模型,能够利用输入数据学习和归纳出复杂的非线性关系,并能够进行分类和预测。神经网络由神经元和它们之间的连接组成,每个神经元接受多个输入信号并产生一个输出信号,这个输出信号又可以作为其他神经元的输入信号,最终网络的输出结果是所有神经元输出信号的综合。 神经网络的学习过程是通过不断调整神经元之间的连接权值来完成的,通常采用反向传播算法。反向传播算法是一种基于梯度下降的优化方法,通过计算误差和误差的梯度来更新连接权值,从而最小化误差函数。在训练过程中,通常将数据集分成训练集和测试集,训练集用来训练神经网络,测试集用来验证神经网络的泛化能力。 ## 神经网络实例 下面我们以一个简单的例子来说明如何在Matlab中实现神经网络。假设我们有一个二维数据集,其中每个样本点有两个特征值和一个二元分类标签。我们要设计一个神经网络来对这个数据集进行分类。 首先,我们需要创建一个神经网络模型,可以通过以下代码实现: matlab net = feedforwardnet([10 5]); % 创建一个两层前馈神经网络 net = configure(net, input, output); % 设置输入和输出 其中,feedforwardnet函数表示创建一个前馈神经网络,[10 5]表示隐层有10个神经元,输出层有5个神经元。configure函数用来设置输入和输出,input表示输入数据,output表示输出标签。 接着,我们需要将数据集分成训练集和测试集,并进行标准化处理,可以通过以下代码实现: matlab [trainInput, testInput] = divideind(input, 1:80, 81:100); % 将数据集分成训练集和测试集 [trainOutput, testOutput] = divideind(output, 1:80, 81:100); [trainInput, ~] = mapminmax(trainInput); % 对训练集进行标准化处理 [testInput, ~] = mapminmax(testInput); % 对测试集进行标准化处理 其中,divideind函数用来将数据集分成训练集和测试集,1:80表示训练集的索引,81:100表示测试集的索引。mapminmax函数用来对数据进行标准化处理,将数据缩放到[0,1]范围内。 接着,我们可以使用train函数来训练神经网络,可以通过以下代码实现: matlab net = train(net, trainInput, trainOutput); % 训练神经网络 其中,train函数用来训练神经网络,trainInput表示训练集输入,trainOutput表示训练集输出。 最后,我们可以使用sim函数来测试神经网络的泛化能力,可以通过以下代码实现: matlab testPredict = sim(net, testInput); % 测试神经网络的泛化能力 testPredict = round(testPredict); % 对预测结果进行取整 accuracy = sum(testPredict == testOutput) / length(testOutput); % 计算准确率 其中,sim函数用来测试神经网络的泛化能力,testInput表示测试集输入,testOutput表示测试集输出。round函数用来对预测结果进行取整,sum函数用来计算预测准确的样本个数,length函数用来计算总样本个数,从而计算出准确率。 以上就是Matlab神经网络的原理和实例,希望对你有所帮助。
GAN(生成对抗网络)是一种深度学习模型,由生成器和判别器两个部分组成。生成器负责生成与真实数据相似的样本,而判别器则负责判断一个样本是真实的还是生成的。通过不断迭代训练,生成器和判别器相互博弈,最终达到生成器生成逼真样本的目的。 在Matlab中实现GAN,可以使用Adam优化器来更新网络的权重和偏置。Adam优化器是一种自适应学习率的优化算法,它结合了动量法和RMSProp算法的优点。在代码中,nnapplygrade函数使用Adam优化器来更新生成器和判别器网络的权重和偏置。具体的更新过程包括计算梯度、计算一阶矩估计和二阶矩估计,然后根据公式进行权重和偏置的更新。 在生成器部分,代码中使用了正态分布来初始化偏置nn.layers{i}.b,并将权重和偏置的一阶矩估计nn.layers{i}.w_m和nn.layers{i}.b_m初始化为0,二阶矩估计nn.layers{i}.w_v和nn.layers{i}.b_v也初始化为0。这些参数在Adam优化器的更新过程中起到了重要的作用。 在判别器部分,代码中计算了判别器的损失,包括生成器的损失和判别器的损失。生成器的损失使用了sigmoid_cross_entropy函数计算,判别器的损失使用了相同的函数计算。这些损失函数用于衡量生成器和判别器的性能,并在训练过程中进行优化。 总之,以上代码片段展示了在Matlab中实现GAN的一部分代码,包括使用Adam优化器更新权重和偏置,初始化生成器和判别器的参数,以及计算损失函数。 #### 引用[.reference_title] - *1* *2* *3* [GAN(生成对抗网络)Matlab代码详解](https://blog.csdn.net/jinhualun911/article/details/123894723)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
GAN网络的MATLAB实现可以参考MATLAB官方文档中的示例代码\[2\]。在这个示例中,首先需要获取训练数据,然后搭建生成器和判别器网络。接下来,定义模型的梯度、损失函数以及生成器和判别器的分数。然后,通过训练GAN模型来优化生成器和判别器的性能。最后,可以使用训练好的生成器来生成新的图像。 在具体的实现中,可以使用MATLAB中的深度学习工具箱来构建GAN网络。可以使用nnapplygrade函数\[1\]来更新生成器和判别器的权重和偏置。在代码中,可以使用normrnd函数\[3\]来生成偏置,并将权重和偏置的相关参数初始化为0。 需要注意的是,以上提供的是一个简单的概述,具体的实现细节可以参考MATLAB官方文档中的示例代码。 #### 引用[.reference_title] - *1* *3* [GAN(生成对抗网络)Matlab代码详解](https://blog.csdn.net/jinhualun911/article/details/123894723)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [基于MATLAB实现(训练)GAN(附原理和代码)](https://blog.csdn.net/shikamaru98/article/details/127354691)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
PCA XGB人脸识别是一种基于主成分分析(PCA)和XGBoost算法的人脸识别方法。PCA即主成分分析,是一种常用的降维方法,可以将高维的人脸特征映射到低维空间中,从而减少特征的数量,提高计算效率和模型性能。 XGBoost是一种基于梯度提升树的机器学习算法,可以有效地处理高维数据,并具有较强的分类和回归能力。将PCA和XGBoost结合起来,可以利用PCA降维的优势来减少计算量,然后使用XGBoost进行人脸识别的建模和预测。这种方法在人脸识别领域被广泛应用,具有较高的准确率和鲁棒性。123 #### 引用[.reference_title] - *1* [PCA经典人脸识别和PCA+SVM人脸识别方法_matlab](https://download.csdn.net/download/m0_53407570/85137102)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [机器学习及项目实战](https://blog.csdn.net/weixin_44888486/article/details/107047653)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [我愿称之为史上最全的深度学习面经总结(附答案详解)](https://blog.csdn.net/qq_29462849/article/details/125241065)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
SIFT (Scale-Invariant Feature Transform)算法和SURF (Speeded Up Robust Features)算法都是图像兴趣点检测及描述子算法。它们都可以用于在图像中检测关键点并生成描述子,用于图像匹配、物体识别等任务。 然而,SIFT和SURF在实现原理和步骤上有一些区别。首先,在构造图像金字塔尺度空间方面,SIFT使用高斯金字塔来检测不同尺度下的兴趣点,而SURF使用盒子滤波器(box filter)来近似高斯模糊,从而加快计算速度。 其次,在兴趣点检测方面,SIFT使用Difference of Gaussians (DoG)来寻找局部极值点作为兴趣点,而SURF使用Hessian矩阵的行列式来确定兴趣点位置。SURF算法的兴趣点检测速度更快,但可能会导致一些小的兴趣点被忽略。 最后,在生成描述子方面,SIFT使用兴趣点周围的梯度信息来构建描述子,描述子的维度为128维。而SURF则使用兴趣点邻域点的Haar小波响应来构建描述子,描述子的维度可以是64维或128维。SURF的描述子维度较小,计算速度更快,但可能对一些细节信息不敏感。 总的来说,SIFT和SURF都是优秀的兴趣点检测算法,它们在计算速度、描述子维度和对细节信息的敏感性等方面有所不同。选择使用哪个算法取决于具体应用的需求和对速度与准确性的权衡。123 #### 引用[.reference_title] - *1* [SURF算法详解及同SIFT算法的比较](https://blog.csdn.net/tostq/article/details/49472709)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Sift与Surf的区别](https://blog.csdn.net/eternity1118_/article/details/51152162)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [基于SIFT改进的SURF算法,matlab调用C++](https://download.csdn.net/download/qq_35008007/10379140)[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_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

最新推荐

基于PaddleOCR开发懒人精灵文字识别插件

基于PaddleOCR开发懒人精灵文字识别插件,使用方式可以查看该文章https://blog.csdn.net/YY007H/article/details/128247582

gd32f407+lwip+RTL8201F-VB

gd32f407+lwip+RTL8201F-VB

扩展难度trailblazer-6-backup.saved

扩展难度trailblazer-6-backup.saved

vmappsdk.dll

vmappsdk

微信小程序源码节日祝福

微信小程序源码节日祝福本资源系百度网盘分享地址

市建设规划局gis基础地理信息系统可行性研究报告.doc

市建设规划局gis基础地理信息系统可行性研究报告.doc

"REGISTOR:SSD内部非结构化数据处理平台"

REGISTOR:SSD存储裴舒怡,杨静,杨青,罗德岛大学,深圳市大普微电子有限公司。公司本文介绍了一个用于在存储器内部进行规则表达的平台REGISTOR。Registor的主要思想是在存储大型数据集的存储中加速正则表达式(regex)搜索,消除I/O瓶颈问题。在闪存SSD内部设计并增强了一个用于regex搜索的特殊硬件引擎,该引擎在从NAND闪存到主机的数据传输期间动态处理数据为了使regex搜索的速度与现代SSD的内部总线速度相匹配,在Registor硬件中设计了一种深度流水线结构,该结构由文件语义提取器、匹配候选查找器、regex匹配单元(REMU)和结果组织器组成。此外,流水线的每个阶段使得可能使用最大等位性。为了使Registor易于被高级应用程序使用,我们在Linux中开发了一组API和库,允许Registor通过有效地将单独的数据块重组为文件来处理SSD中的文件Registor的工作原

要将Preference控件设置为不可用并变灰java完整代码

以下是将Preference控件设置为不可用并变灰的Java完整代码示例: ```java Preference preference = findPreference("preference_key"); // 获取Preference对象 preference.setEnabled(false); // 设置为不可用 preference.setSelectable(false); // 设置为不可选 preference.setSummary("已禁用"); // 设置摘要信息,提示用户该选项已被禁用 preference.setIcon(R.drawable.disabled_ico

基于改进蚁群算法的离散制造车间物料配送路径优化.pptx

基于改进蚁群算法的离散制造车间物料配送路径优化.pptx

海量3D模型的自适应传输

为了获得的目的图卢兹大学博士学位发布人:图卢兹国立理工学院(图卢兹INP)学科或专业:计算机与电信提交人和支持人:M. 托马斯·福吉奥尼2019年11月29日星期五标题:海量3D模型的自适应传输博士学校:图卢兹数学、计算机科学、电信(MITT)研究单位:图卢兹计算机科学研究所(IRIT)论文主任:M. 文森特·查维拉特M.阿克塞尔·卡里尔报告员:M. GWendal Simon,大西洋IMTSIDONIE CHRISTOPHE女士,国家地理研究所评审团成员:M. MAARTEN WIJNANTS,哈塞尔大学,校长M. AXEL CARLIER,图卢兹INP,成员M. GILLES GESQUIERE,里昂第二大学,成员Géraldine Morin女士,图卢兹INP,成员M. VINCENT CHARVILLAT,图卢兹INP,成员M. Wei Tsang Ooi,新加坡国立大学,研究员基于HTTP的动态自适应3D流媒体2019年11月29日星期五,图卢兹INP授予图卢兹大学博士学位,由ThomasForgione发表并答辩Gilles Gesquière�