一种基于机器学习的网络连接速度预测方法转让专利

申请号 : CN200910102126.9

文献号 : CN101634995B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐颂华江浩金涛刘智满潘云鹤

申请人 : 浙江大学

摘要 :

本发明公开了一种基于机器学习的网络连接速度预测方法。该方法包括以下步骤:1)利用自定义浏览器,记录用户与浏览过的网站的连接速度,作为训练集和测试集;2)利用获得的网站连接速度,使用神经网络训练并预测该用户与训练集中各网站的连接速度;3)根据所有神经网络的预测误差减小状况,或者执行步骤4),或者将训练集分成更小的训练集并对每个训练集返回执行步骤2);4)使用一个决策树测试神经网络的预测性能;5)使用决策树和神经网络,预测用户与未知网站的连接速度。本发明利用人工智能技术,应用机器学习方法来预测用户与各个网站的连接速度,提升评估网络状况的精准度,充分利用到用户带宽,为用户提供更好的互联网体验。

权利要求 :

1.一种基于机器学习的网络连接速度预测方法,其特征在于包括以下步骤:

1)利用自定义浏览器,记录用户浏览过的网站连接速度,作为训练集和测试集;

2)利用获得的网站连接速度,使用神经网络训练并预测用户与训练集中各网站的连接速度;

3)根据神经网络的预测误差减小状况,或者执行步骤4),或者将训练集分成更小的训练集并对每个训练集返回执行步骤2);

4)使用决策树测试神经网络的预测性能;

5)使用决策树和神经网络,预测用户与任何未知网站的连接速度;

所述的利用自定义浏览器,记录用户浏览过的网站的连接速度,作为训练集和测试集步骤:(a)对用户访问过的每个网站,记录每次用户向网站发出访问请求到用户获得回应的时间间隔,记为网站的用户连接时间;

(b)对用户访问过的每个网站,记录每次用户从网站下载数据时的下载速度,记为网站的用户带宽;

(c)若用户多次访问网站,则以最近一周中或最近10次的用户连接时间的平均值作为网站的用户连接时间,以最近一周中或最近10次的用户带宽的平均值作为网站的用户带宽;

(d)从用户历史数据中随机选择10%作为测试集,其余90%作为训练集;

所述的利用获得的网站连接速度,使用神经网络训练并预测用户与训练集中各网站的连接速度步骤:(e)建立人工神经网络,其输入为一个网站的特征数据:包括一个表示为32位整数的网络IP地址和1个取值在0~23之间的整数用于表示当前时间的小时数;其输出为2个实数,分别表示用户与网站的连接时间估计值和带宽估计值;

(f)使用反向传播算法,用步骤(a)-(d)获得的用户连接时间和用户带宽历史数据作为训练集,使用反向传播算法训练步骤(e)所建立的神经网络,保存训练后的神经网络;

所述的根据神经网络的预测误差减小状况,或者执行步骤4),或者将训练集分成更小的训练集并对每个训练集返回执行步骤2)步骤:(g)使用步骤(f)中训练后的神经网络预测在训练集中每个网站的用户连接时间和用户带宽,计算出网站的预测误差e:e=t+Kb*b

其中t为用户连接时间的预测误差,单位为毫秒;b为用户带宽的预测误差,单位为千比特每秒;Kb为取值为200~1000的系数;

(h)若步骤(g)不是第一次被执行,且预测误差e总和与上一次预测误差总和相差不超过3%,则跳转执行步骤(k);

(i)将训练集中的网站数据按其在步骤(g)中的预测误差e从小到大排列,并使用k邻近聚类算法将网站分成m组,m为取值在1~5之间且使得各组间平均预测误差差别最大的整数;

(j)对步骤(i)中的每一组网站,将其作为训练集跳转执行步骤(e);

所述的使用决策树测试神经网络的预测性能步骤:

(k)将步骤(d)所获得的测试集中的网站按其网络IP地址分成1000组,编号为1~

1000之间;设步骤(e)-(j)过程中最终使用了n个神经网络,记录其中每个站点在步骤(e)-(j)结束后其最后用于训练的神经网络编号,编号为1~n之间;

(l)建立一个决策树,其输入为取值为1~1000间的网络IP地址组编号,输出为取值为1~n的神经网络编号;

(m)利用步骤(d)所获得的测试集数据,使用C4.5决策树算法来训练步骤(l)中所建立的决策树,保存训练后的决策树;

所述的使用决策树和神经网络,预测用户与任何未知网站的连接速度步骤:(n)对任意一个未知其连接速度的网站,按照步骤(k)所述获得其取值为1~1000之间的网络IP地址编号,并使用步骤(m)获得的决策树获得其对应的神经网络编号;

(o)使用其对应的神经网络,预测该网站的用户连接时间和用户带宽。

说明书 :

一种基于机器学习的网络连接速度预测方法

技术领域

[0001] 本发明涉及计算机搜索与万维网技术领域,尤其涉及一种基于机器学习的网络连接速度预测方法。

背景技术

[0002] 近年来,出现了一系列的研究活动,以研究个性化或面向用户的搜索引擎和th算法,如2007年发表在第十六届国际万维网会议(WWW’07:Proceedings ofthe 16 international conference on World Wide Web)上的一篇文章“个性化搜索策略的大规模评价与分析”(“A large-scale evaluation and analysis of personalizedsearch strategies”)。在2008年第二十三届美国人工智能学会会议上的一篇文章“基于用户关注时间的面向用户网页排序算法”(“A user-oriented webpage rankingalgorithm based on user attention time”)里,作者也提出建立一个面向用户的网页搜索引擎的个性化解决方案。本发明是用于专门优化个人用户的网络连接情况。在本发明中,我们最大限度的研究了面向用户的最佳网络连接选择,而这在以往的研究和发明工作很少被涉及到。
[0003] 由于服务质量在网页浏览器和许多其他类型的网络接入中是非常关键的,任何可以提高服务质量的方法,都有巨大的商业价值。一些解决方案有人提出,有些则已投入商业使用。在这些解决方案,最成功的大型商业软件是利用简单的想法,会自动打开多个链接网络内容提供商做并行下载或访问。一个例子是一款叫做迅雷的软件(http://www.xunlei.com/),这是最受欢迎的中文软件之一。然而,使用这类程序,网页内容供应商的网站将受到巨大影响,因为它是由自动程序来访问网页,而不是最终用户,因此,在线广告在这些网页上将失去他们的价值。这个问题已导致正在进行提供此类服务质量改进服务的企业和网站内容供应商之间的一些法院案件。在本发明中,我们提出了一种基于数据挖掘的方法来预测用户网络状况,可以用于建立个性化网站推荐系统的重要考虑因素,从而为个人用户提供最佳的服务质量。

发明内容

[0004] 本发明的目的是克服现有技术的不足,提供一种基于机器学习的网络连接速度预测方法。
[0005] 基于机器学习的网络连接速度预测方法包括以下步骤:
[0006] 1)利用自定义浏览器,记录用户浏览过的网站的连接速度,作为训练集和测试集;
[0007] 2)利用获得的网站连接速度,使用神经网络训练并预测用户与训练集中各网站的连接速度;
[0008] 3)根据神经网络的预测误差减小状况,或者执行步骤4),或者将训练集分成更小的训练集并对每个训练集返回执行步骤2);
[0009] 4)使用决策树测试神经网络的预测性能;
[0010] 5)使用决策树和神经网络,预测用户与任何未知网站的连接速度。
[0011] 所述的利用自定义浏览器,记录用户浏览过的网站的连接速度,作为训练集和测试集步骤:
[0012] (a)对用户访问过的每个网站,记录每次用户向网站发出访问请求到用户获得回应的时间间隔,记为网站的用户连接时间;
[0013] (b)对用户访问过的每个网站,记录每次用户从网站下载数据时的下载速度,记为网站的用户带宽;
[0014] (c)若用户多次访问网站,则以最近一周中或最近10次的用户连接时间的平均值作为网站的用户连接时间,以最近一周中或最近10次的用户带宽的平均值作为网站的用户带宽;
[0015] (d)从用户历史数据中随机选择10%作为测试集,其余90%作为训练集。
[0016] 所述的利用获得的网站连接速度,使用神经网络训练并预测用户与训练集中各网站的连接速度步骤:
[0017] (e)建立人工神经网络,其输入为一个网站的特征数据:包括一个表示为32位整数的网络IP地址和1个取值在0~23之间的整数用于表示当前时间的小时数;其输出为2个实数,分别表示用户与网站的连接时间估计值和带宽估计值;
[0018] (f)将步骤(a)-(d)获得的用户连接时间和用户带宽历史数据作为训练集,使用反向传播算法训练步骤(e)所建立的神经网络,保存训练后的神经网络。
[0019] 所述的根据神经网络的预测误差减小状况,或者执行步骤4),或者将训练集分成更小的训练集并对每个训练集返回执行步骤2)步骤:
[0020] (g)使用步骤(f)中训练后的神经网络预测在训练集中每个网站的用户连接时间和用户带宽,计算出网站的预测值与实际值之间的误差e:
[0021] e=t+Kb*b
[0022] 其中t为用户连接时间的预测误差,单位为毫秒;b为用户带宽的预测误差,单位为千比特每秒;Kb为通常取值为200~1000的系数;
[0023] (h)若步骤(g)不是第一次被执行,且预测误差总和与上一次预测误差总和相差不超过3%,则跳转执行步骤(k);
[0024] (i)将训练集中的网站数据按其在步骤(g)中的预测误差从小到大排列,并使用k邻近聚类算法将网站分成m组,m为取值在1~5之间且使得各组间平均预测误差差别最大的整数;
[0025] (j)对步骤(i)中的每一组网站,将其作为训练集跳转执行步骤(e);
[0026] 所述的使用决策树测试神经网络的预测性能步骤:
[0027] (k)将步骤(d)所获得的测试集中的网站按其网络IP地址分成1000组,编号为1~1000之间;设步骤(e)-(j)过程中最终使用了n个神经网络,记录其中每个站点在步骤(e)-(j)结束后其最后用于训练的神经网络编号,编号为1~n之间;
[0028] (l)建立一个决策树,其输入为取值为1~1000间的网络IP地址组编号,输出为取值为1~n的神经网络编号;
[0029] (m)利用步骤(d)所获得的测试集数据,使用C4.5决策树算法来训练步骤(l)中所建立的决策树,保存训练后的决策树。
[0030] 所述的使用决策树和神经网络,预测用户与任何未知网站的连接速度步骤:
[0031] (n)对任意一个未知其连接速度的网站,按照步骤(k)所述获得其取值为1~1000之间的网络IP地址编号,并使用步骤(m)获得的决策树获得其对应的神经网络编号;
[0032] (o)使用其对应的神经网络,预测该网站的用户连接时间和用户带宽。
[0033] 本发明有效地利用了人工智能技术,应用多种机器学习的方法来预测用户与各个网站间的连接速度,提升了评估网络状况的精准度,使得网络资源的使用可以更大限度的利用到用户带宽,为用户提供更好的互联网体验。

附图说明

[0034] 图1是基于机器学习的网络连接速度预测方法的实施例流程结构图;
[0035] 图2是本发明应用于个性化网络资源推荐系统的流程图;
[0036] 图3是虚拟网络实验中使用的虚拟网络结构示意图;
[0037] 图4是在限定人工神经网络群中的神经网络个数情况下的预测误差示意图;横坐标为人工神经网络群中神经网络的个数,纵坐标为使用该神经网络群与决策树用于预测训练集中数据时的预测误差;三条曲线分别表示了训练集拥有10000条,50000条,100000条数据时的预测误差情况;
[0038] 图5是在如图3所示的模拟互联网状况的虚拟网络中进行试验获得的数据示意图;(a)-(f)分别对应表1(a)-(f)中的数据,并以性能提升百分数的形式画出;在每个图中,横坐标为人工神经网络群中神经网络的个数,纵坐标为使用该神经网络群与决策树用于预测未知网站的连接速度,从而用于网络资源推荐系统后,获得的数据下载速度提升的百分比;在(a)-(c)的实验中,用户被设定处于较远离网络根部的计算机上,即模拟拨号网络用户情况并事先拥有10000条,50000条,100000条用户历史记录时的实验数据;在(d)-(f)的实验中,用户被设定处于较接近网络根部的计算机上,即模拟宽带网络用户情况并事先拥有10000条,50000条,100000条用户历史记录时的实验数据;每次实验数据均为同样实验流程反复100次后的平均数据,实验数据单位均为毫秒(ms);
[0039] 图6是本发明实施例使用在真实的中国互联网下的实验数据图;(a)-(c)分别显示了用户下载文本,PDF文档和网络游戏安装文件所需时间的实验数据;在每个图中,横坐标为参与实验的20个用户的#1~#20编号,纵坐标为用户下载网络资源数据耗费的时间;每一柱状图形分别表示不使用拥有本发明实施例的网络资源推荐系统时和使用拥有本发明实施例的网络资源推荐系统后的实验数据,以及同样条件下迅雷软件在单站点下载模式时的实验数据;每一个用户的实验数据均在图中列出;每次实验数据均为对同类资源反复
100次后的平均数据;上述三类资源的平均数据尺寸大小分别为10.6K字节,3.49M字节,
784M字节;实验数据单位均为秒(sec.)。

具体实施方式

[0040] 基于机器学习的网络连接速度预测方法包括以下步骤:
[0041] 1)利用自定义浏览器,记录用户浏览过的网站的连接速度,作为训练集和测试集;
[0042] 2)利用获得的网站连接速度,使用神经网络训练并预测用户与训练集中各网站的连接速度;
[0043] 3)根据神经网络的预测误差减小状况,或者执行步骤4),或者将训练集分成更小的训练集并对每个训练集返回执行步骤2);
[0044] 4)使用决策树测试神经网络的预测性能;
[0045] 5)使用决策树和神经网络,预测用户与任何未知网站的连接速度。
[0046] 所述的利用自定义浏览器,记录用户浏览过的网站的连接速度,作为训练集和测试集步骤:
[0047] (a)对用户访问过的每个网站,记录每次用户向网站发出访问请求到用户获得回应的时间间隔,记为网站的用户连接时间;
[0048] (b)对用户访问过的每个网站,记录每次用户从网站下载数据时的下载速度,记为网站的用户带宽;
[0049] (c)若用户多次访问网站,则以最近一周中或最近10次的用户连接时间的平均值作为网站的用户连接时间,以最近一周中或最近10次的用户带宽的平均值作为网站的用户带宽;
[0050] (d)从用户历史数据中随机选择10%作为测试集,其余90%作为训练集。
[0051] 所述的利用获得的网站连接速度,使用神经网络训练并预测用户与训练集中各网站的连接速度步骤:
[0052] (e)建立人工神经网络,其输入为一个网站的特征数据:包括一个表示为32位整数的网络IP地址和1个取值在0~23之间的整数用于表示当前时间的小时数;其输出为2个实数,分别表示用户与网站的连接时间估计值和带宽估计值;
[0053] (f)将步骤(a)-(d)获得的用户连接时间和用户带宽历史数据作为训练集,使用反向传播算法训练步骤(e)所建立的神经网络,保存训练后的神经网络。
[0054] 所述的根据神经网络的预测误差减小状况,或者执行步骤4),或者将训练集分成更小的训练集并对每个训练集返回执行步骤2)步骤:
[0055] (g)使用步骤(f)中训练后的神经网络预测在训练集中每个网站的用户连接时间和用户带宽,计算出网站的预测值与实际值之间的误差e:
[0056] e=t+Kb*b
[0057] 其中t为用户连接时间的预测误差,单位为毫秒;b为用户带宽的预测误差,单位为千比特每秒;Kb为通常取值为200~1000的系数;
[0058] (h)若步骤(g)不是第一次被执行,且预测误差总和与上一次预测误差总和相差不超过3%,则跳转执行步骤(k);
[0059] (i)将训练集中的网站数据按其在步骤(g)中的预测误差从小到大排列,并使用k邻近聚类算法将网站分成m组,m为取值在1~5之间且使得各组间平均预测误差差别最大的整数;
[0060] (j)对步骤(i)中的每一组网站,将其作为训练集跳转执行步骤(e);
[0061] 所述的使用决策树测试神经网络的预测性能步骤:
[0062] (k)将步骤(d)所获得的测试集中的网站按其网络IP地址分成1000组,编号为1~1000之间;设步骤(e)-(j)过程中最终使用了n个神经网络,记录其中每个站点在步骤(e)-(j)结束后其最后用于训练的神经网络编号,编号为1~n之间;
[0063] (l)建立一个决策树,其输入为取值为1~1000间的网络IP地址组编号,输出为取值为1~n的神经网络编号;
[0064] (m)利用步骤(d)所获得的测试集数据,使用C4.5决策树算法来训练步骤(l)中所建立的决策树,保存训练后的决策树。
[0065] 所述的使用决策树和神经网络,预测用户与任何未知网站的连接速度步骤:
[0066] (n)对任意一个未知其连接速度的网站,按照步骤(k)所述获得其取值为1~1000之间的网络IP地址编号,并使用步骤(m)获得的决策树获得其对应的神经网络编号;
[0067] (o)使用其对应的神经网络,预测该网站的用户连接时间和用户带宽。
[0068] 本发明有效地利用了人工智能技术,应用多种机器学习的方法来预测用户与各个网站间的连接速度,提升了评估网络状况的精准度,使得网络资源的使用可以更大限度的利用到用户带宽,为用户提供更好的互联网体验。
[0069] 实施例
[0070] 如图1所示,该方法包括训练阶段和预测阶段两部分;训练阶段包括用户历史数据10,训练集20,测试集30,人工神经网络40,误差判定50,分割训练集60,人工神经网络群70,C4.5决策树80;预测阶段包括未知网站90,C4.5决策树80,人工神经网络群70,连接速度预测值99。
[0071] 用户历史数据10:每次访问站点时的用户连接时间与传输数据时的用户带宽的数据;其中某站点的用户连接时间定义为每次用户向此站点发出访问请求到用户获得该地址回应间的时间间隔,若用户多次访问该站点,则以最近一周中或最近10次的用户连接时间的平均值为准;某站点的用户带宽定义为每次用户从该站点下载数据时的下载速度,若用户多次访问该站点,则以最近一周中或最近10次的用户带宽的平均值为准。
[0072] 训练集20:从用户历史数据10中随机选择10%作为测试集后,剩余的90%部分作为训练集;
[0073] 测试集30:从用户历史数据中随机选择10%作为测试集;
[0074] 人工神经网络40:在实施例中,我们使用了一个4层的人工神经网络,其中输入层为一个网络站点的特征数据:包括一个表示为32位整数的网络IP地址和1个取值在0~23之间的整数用于表示当前时间的小时数;其输出层为2个实数,表示用户与该站点间的连接时间估计值和带宽估计值;在这个神经网络中的另外两层中的每个神经元均为一个sigmod函数,相邻两层间的每两个神经元均相连;利用反向传播算法(back-propagation),不断在后台使用用户历史数据10对其进行训练。
[0075] 误差判定50:使用训练后的人工神经网络40预测在训练集20中每个站点的用户连接时间和用户带宽,计算出该站点的预测值与实际值之间的误差e:
[0076] e=t+Kb*b
[0077] 其中t为用户连接时间的预测误差,单位为毫秒;b为用户带宽的预测误差,单位为千比特每秒;Kb为通常取值为200~1000的系数;若本步骤不是第一次被执行且此时的预测误差总和与上一次预测误差总和相差不超过3%,则结束对神经网络的训练,保存此时所有的神经网络,得到人工神经网络群70。
[0078] 分割训练集60:将训练集20中的站点数据按其在人工神经网络40中的预测误差从小到大排列,并使用k邻近聚类算法将站点分成m组,m为取值在1~5之间且使得各组间平均预测误差差别最大的整数;对m组中的每一组,将其重新作为训练集20并跳转至人工神经网络40处执行。
[0079] 人工神经网络群70:在误差判定50中,若所有人工神经网络对所有训练数据的预测误差总和与上一次分割训练集60前的预测误差总和相差不超过3%,此时的所有人工神经网络为人工神经网络群;图4显示了在限定人工神经网络群中的神经网络个数情况下的预测误差,由此可见建立神经网络群与分割训练集的必要性。
[0080] C4.5决策树80:将测试集30中的所有站点按其网络IP地址分成1000组,编号为1~1000之间;设人工神经网络群70中共有n个人工神经网络,记录训练集20中每个站点在人工神经网络群70中最后用于训练的神经网络编号,编号为1~n之间;此决策树的输入为取值为1~1000间的网络IP地址组编号,输出为取值为1~n的神经网络编号;利用测试集30,使用C4.5决策树算法来训练此决策树,保存训练后的决策树;
[0081] 未知网站90:互联网上的一个未知其连接速度的网站;
[0082] 连接速度预测值99:对未知网站90,获得其取值为1~1000之间的网络IP地址编号,并使用C4.5决策树80获得其对应的神经网络编号,然后使用其在人工神经网络群70中对应的神经网络,来预测得到的该网站的用户连接时间和用户带宽。
[0083] 本发明的一个重要应用:一个个性化网络资源推荐系统的流程结构如图2所示。该个性化推荐系统包括前台端和前台端两部分,后台端包括自定义浏览器100,资源推荐结果700;前台端包括用户历史数据200,基于机器学习的网络连接速度预测300,普通搜索引擎400,基本搜索结果500,搜索结果的归并与调整600。
[0084] 自定义浏览器100:通过插件的形式,在现有的网络资源浏览器如Firefox,Internet Explorer中嵌入一个可记录用户每次访问站点时的用户连接时间与传输数据时的用户带宽的模块。
[0085] 用户历史数据200:通过自定义浏览器100获得的每次访问站点时的用户连接时间与传输数据时的用户带宽的数据;其中某站点的用户连接时间定义为每次用户向此站点发出访问请求到用户获得该地址回应间的时间间隔,若用户多次访问该站点,则以最近一周中或最近10次的用户连接时间的平均值为准;某站点的用户带宽定义为每次用户从该站点下载数据时的下载速度,若用户多次访问该站点,则以最近一周中或最近10次的用户带宽的平均值为准。
[0086] 基于机器学习的网络连接速度预测300:使用本发明的一种基于机器学习的网络连接速度预测方法,对基本搜索结果中的每个站点预测其用户连接时间与用户带宽。
[0087] 普通搜索引擎400:提供一个用户界面,调用网络资源搜索服务;在本实施例中,此界面使用用jsp实现;当用户提交一个查询请求时,调用普通网络搜索引擎(比如Google)获得搜索结果。
[0088] 基本搜索结果500:利用普通搜索引擎400进行搜索后,对其搜索结果页面进行解析并获取其返回结果中的前100个结果,并且若该资源为文档,则将该文档下载存至本地。
[0089] 搜索结果的归并与调整600:1)归并:若用户需要的网络资源为文本,则对搜索结果中的每两项,使用微软(Microsoft)公开源代码包中的“文本相似度估计源代码”(“Code for estimating document similarity”)计算它们之间的文本相似度;若其相似度大于95%,则标记这两项为相同内容;若用户需要的网络资源为其他形式,则对搜索结果中的每两项,随机选取10个偏移量位置,在这两项的数据文件中的每个偏移量位置上比较1K字节长度的数据;若这两项的数据文件在所有10个位置处的数据完全相同,则将它们标记为具有相同内容;然后将所有具有相同内容的站点都归并到最前出现该内容的搜索结果项当中,合为一个搜索结果项;2)调整:若用户需要的网络资源数据尺寸小于100K,对搜索结果中每个包含了两个或以上站点的搜索结果项,将其中的站点按照用户连接时间与带宽预测
60估计得的用户连接时间从小到大重新排序;若用户需要的网络资源数据尺寸大于100K,对搜索结果中每个包含了两个或以上站点的搜索结果项,将其中的站点按照用户连接时间与带宽预测60估计得的用户带宽从大到小重新排序;
[0090] 资源推荐结果700:经过搜索结果的归并与调整600的过程后得到面向用户的个性化资源推荐结果;该推荐结果充分考虑到了用户的个人网络情况,使得网络资源的使用可以更大限度的利用到用户带宽,能为用户提供更好的互联网体验。
[0091] 表1~2的实验结果清晰的显示出本方法的优越性;
[0092] 表1是在一个模拟互联网状况的虚拟网络中进行试验获得的数据;该虚拟网络的网络结构图如图3所示;各个网络站点处于由若干网关组织而成的多层网络结构之下;该虚拟网络中共有约30000台计算机,分布在三个不同的网络服务供应商(ISP)的旗下;各级网关若越接近网络根部则其延迟时间越小且附近网线的带宽越大,若越远离网络根部则其延迟时间越大且附近网线的带宽越小;不同ISP之间的干线网关的延迟时间约为同一ISP内部各网关延迟时间的1/100,带宽约为50倍;在我们的实验中,我们建立了500个不同资源数据,每个复制2000份,随机分布在虚拟网络里的计算机里;用户每一次的资源查询请求,假设搜索引擎能返回其中90%的站点,且随机排列;我们假设用户点击搜索返回站点列表中的第i项的概率是 在表1中,列出了使用拥有本发明所述方法实施例的网络资源推荐系统前后,用户获得其所需资源的总共花费时间;每一行分别表示每次实验中用户所需资源尺寸为10K字节,1M字节和100M字节时获得该资源的所需时间;每一列分别表示不使用拥有本发明实施例的网络资源推荐系统时,使用拥有本发明实施例的网络资源推荐系统并限定人工神经网络群中共有1个,5个,10个,50个,100个神经网络时的实验数据;每次实验数据均为同样实验流程反复100次后的平均数据,实验数据单位均为毫秒(ms);在表1(a)-(c)的实验中,用户被设定处于较远离网络根部的计算机上,即模拟拨号网络用户情况并事先拥有10000条,50000条,100000条用户历史记录时的实验数据;在表1(d)-(f)的实验中,用户被设定处于较接近网络根部的计算机上,即模拟宽带网络用户情况并事先拥有10000条,50000条,100000条用户历史记录时的实验数据;表1(a)-(f)的所有数据均以性能提升百分比的数据形式以图表方式对应显示在图5(a)-(f)的各个图中。
[0093] 表1
[0094] (a)模拟拨号网络,10000条用户历史记录
[0095]神经网络个数 10K字节 1M字节 100M字节
0(不使用本发明) 285.3ms 23472ms 2290176ms
1 233.7ms 17205ms 1662668ms
5 117.8ms 10445ms 846298ms
10 97.0ms 8098ms 785530ms
50 87.1ms 6957ms 695418ms
100 88.3ms 6329ms 718152ms
[0096] (b)模拟拨号网络,50000条用户历史记录
[0097]神经网络个数 10K字节 1M字节 100M字节
0(不使用本发明) 296.6ms 23631ms 2394101ms
1 238.8ms 18149ms 1941615ms
5 118.6ms 8791ms 945567ms
10 77.1ms 6940ms 825965ms
50 76.3ms 5334ms 631479ms
100 73.3ms 5404ms 598086ms
[0098] (c)模拟拨号网络,100000条用户历史记录
[0099]神经网络个数 10K字节 1M字节 100M字节
0(不使用本发明) 269.8ms 22255ms 2250904ms
1 195.6ms 17381ms 1609396ms
5 80.1ms 7077ms 841838ms
10 54.8ms 4874ms 567228ms
50 41.5ms 4015ms 457065ms
100 41.5ms 3387ms 338572ms
[0100] (d)模拟宽带网络,10000条用户历史记录
[0101]神经网络个数 10K字节 1M字节 100M字节
0(不使用本发明) 135.8ms 3808ms 486680ms
1 133.1ms 4116ms 476460ms
5 123.1ms 3610ms 435579ms
10 124.5ms 3397ms 346516ms
50 102.5ms 3046ms 305148ms
100 98.9ms 2871ms 279206ms
[0102] (e)模拟宽带网络,50000条用户历史记录
[0103]神经网络个数 10K字节 1M字节 100M字节
0(不使用本发明) 140.2ms 4597ms 369387ms
1 142.4ms 4951ms 361999ms
5 125.9ms 4275ms 340575ms
10 108.7ms 3480ms 271869ms
50 106.1ms 3273ms 253768ms
100 103.5ms 3167ms 249336ms
[0104] (f)模拟宽带网络,100000条用户历史记录
[0105]神经网络个数 10K字节 1M字节 100M字节
0(不使用本发明) 175.8ms 8012ms 494828ms
1 180.9ms 7403ms 510168ms
5 152.2ms 6794ms 422088ms
10 114.8ms 3332ms 220693ms
50 101.8ms 2660ms 196942ms
100 97.2ms 2732ms 191004ms
[0106] 表2是在虚拟网络状况下本发明与迅雷软件相比较的实验数据;表2(a)-(c)分别显示了限定用户历史数据为10000条,50000条,100000条时的实验数据;在每个表中,每一行分别表示每次实验中用户所需资源数据尺寸大小为10K字节,1M字节,100M字节时获得该资源的所需时间;每一列分别表示不使用本发明实施例系统时和使用拥有本发明实施例的网络资源推荐系统后的实验数据;为了更好的显示本方法的特效,同样条件下迅雷软件(模拟其单站点下载模式)的实验数据也在表中列出作为对比;每次实验数据均为对同类资源反复100次后的平均数据;实验数据单位均为毫秒(ms)。
[0107] 表2
[0108] (a)10000条用户历史数据
[0109]10K字节 1M字节 100M字节
不使用本发明 285.3ms 23472ms 2290176ms
使用本发明 88.3ms 6329ms 718152ms
使用迅雷 254.4ms 19603ms 1951160ms
[0110] (b)50000条用户历史数据
[0111]10K字节 1M字节 100M字节
不使用本发明 296.6ms 23631ms 2394101ms
使用本发明 73.3ms 5404ms 590086ms
使用迅雷 253.6ms 18858ms 1855428ms
[0112] (c)100000条用户历史数据
[0113]10K字节 1M字节 100M字节
不使用本发明 269.8ms 22255ms 2250904ms
使用本发明 41.5ms 3387ms 338572ms
使用迅雷 204.8ms 15710ms 1482256ms
[0114] 图6是本发明实施例使用在真实的中国互联网下的实验数据;在图6的实验中,10位来自不同地区的拨号网络用户(用户#1~#10)和10位来自不同地区的宽带网络用户(用户#11~#20)使用了拥有本发明实施例的网络资源推荐系统;在使用两星期后,对
3种互联网上的典型资源:文本,PDF文档和网络游戏安装文件进行访问;图6(a)-(c)分别显示了用户下载文本,PDF文档和网络游戏安装文件所需时间的实验数据;在每个图中,每一柱状图形分别表示不使用拥有本发明实施例的网络资源推荐系统时和使用拥有本发明实施例的网络资源推荐系统后的实验数据;为了更好的显示本方法的特效,同样条件下迅雷软件(限定为单站点下载模式)的实验数据也以柱状图形列出作为对比;每一个用户的实验数据均在图中列出;每次实验数据均为对同类资源反复100次后的平均数据;上述三类资源的平均数据尺寸大小分别为10.6K字节,3.49M字节,784M字节;实验数据单位均为秒(sec.)。
[0115] 上述实验表明,本发明有效地利用了用户历史网络访问记录,应用人工智能的方法预测了用户与各个网站间的连接速度,将用户的个人网络情况结合在了网络访问过程中,使得网络资源的使用可以更大限度的利用到用户带宽,能为用户提供更好的互联网体验。
[0116] 以上所述仅为本发明的一种基于机器学习的网络连接速度预测方法的较佳实施例,并非用以限定本发明的实质技术内容的范围。本发明的一种基于机器学习的网络连接速度预测方法,其实质技术内容是广泛的定义于权利要求书中,任何他人所完成的技术实体或方法,若是与权利要求书中所定义者完全相同,或是同一等效的变更,均将被视为涵盖于此专利保护范围之内。