数学建模自学笔记1——谷歌的秘籍
课程内容
PageRank简介
- PageRank是由谷歌创始人之一拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)于1996年提出的算法,它是谷歌搜索引擎的核心组成部分。PageRank模型用于评估互联网上网页的重要性,并根据这些评估结果为搜索结果排序。
- PageRank算法的核心思想是,一个网页的重要程度可以通过其他网页对它的链接数量和质量来衡量。如果一个网页被其他重要的网页链接,那么它的重要性就会相应地增加。
- PageRank算法使用迭代计算的方法来更新每个网页的PageRank值。初始时,每个网页被赋予一个初始的PageRank值。然后,通过考虑当前网页的PageRank值以及链接到该网页的其他网页的转移概率,可以计算出下一次迭代中每个网页的新PageRank值。这个过程将持续进行,直到PageRank值收敛为止。
- PageRank模型在谷歌的搜索引擎中发挥了重要作用,并帮助谷歌提供了高质量和相关性较高的搜索结果。然而,随着时间的推移,谷歌搜索算法已经发展和改进,引入了许多其他因素和算法来提高搜索结果的质量。
算数模型与代数模型
- PageRank模型将互联网看作是一个有向图,其中网页是图中的节点,链接是节点之间的有向边。每个网页都被赋予一个初始的PageRank值,通常是相等的。然后,通过迭代计算,根据其他网页对目标网页的链接数和质量来更新每个网页的PageRank值。
- 在计算过程中,每个网页的PageRank值会被平均分配给它所链接的其他网页。而且,具有高PageRank值的网页传递给其他网页的PageRank值比具有低PageRank值的网页更有权重。这种迭代过程将持续进行,直到收敛为止,即每个网页的PageRank值变化不大。
- 最后,根据每个网页的PageRank值来确定它们在搜索结果中的排名。PageRank较高的网页往往会排在搜索结果的前面,因为它们被认为更重要和相关。
x i = ∑ j : j − > i x j c j x_i = \sum_{j:j->i} \frac{x_j}{c_j} xi=j:j−>i∑cjxj
∑ x i = 1 \sum_{} x_i = 1 ∑xi=1
- 其中,$ x_i $ 代表网页i的重要性, c j c_j cj表示网页j的出链数量。
模型误差
- 随机性假设:PageRank算法的代数模型基于一个假设,即网络图是一个随机图。然而,在实际情况下,网络图可能并不是完全随机的,可能存在一些结构化的模式和特征。这种假设的不准确性可能导致PageRank算法对某些情况的效果不佳。
- 收敛速度:PageRank算法的迭代计算过程可能需要较长的时间才能达到收敛。特别是对于规模较大的网络图,迭代次数可能非常大,导致计算效率较低。因此,改进算法的收敛速度是一个需要解决的问题。
- 静态模型:PageRank算法的代数模型是基于静态的网络图来计算PageRank值的,而不考虑网络图的动态变化。然而,随着时间的推移,网页之间的链接关系可能会发生变化,新的网页可能会出现,旧的网页可能会消失。因此,一些改进方法考虑了网络图的时态性,如Temporal PageRank算法。
- 主观性:PageRank算法的代数模型没有考虑用户的个人偏好和行为。然而,用户的个人偏好和行为对于搜索结果的相关性和重要性有很大的影响。因此,一些改进方法引入了个性化的PageRank算法,如Personalized PageRank算法。
学习收获
- 创新与原创:
- 创新是指通过引入新的思想、方法、产品、服务或流程,创造出独特且有价值的东西。它强调的是在已有知识、经验或资源的基础上,通过创造性的改进或结合,产生新的成果或解决方案。
- 原创则是指某个作品、想法或观点是独一无二的、首次出现的。它强调的是在整个领域或领域内特定的时间段内,没有类似的作品或观点存在。
- 谷歌之所以能够战胜雅虎,其中一个重要原因是谷歌对搜索的重视和创新。谷歌意识到搜索对于互联网用户来说是非常重要的,因此将其作为核心业务进行发展并不断创新。
- 尽管谷歌不是第一个做搜索的公司,但它通过引入一种新的搜索算法,即PageRank算法,进行了创新。这种创新使得谷歌能够提供更准确、相关和有用的搜索结果,从而吸引了更多的用户,并逐渐战胜了竞争对手雅虎。
- 学习数学的目标:
- 清楚地管理符号系统的能力。
- 把问题用符号系统表达出来。
- 应用算法技术解决问题并获得有效的解决方案。
- 能够判断结论的合理性。
- 数学建模的收获:
- 解决实际问题并不一定需要非常高深的数学知识,只要能解决问题,反而越浅越好。
- 复杂问题要先简单化,但是构建的模型一定要有泛化能力。
- 团队合作非常重要。
自己提出的问题
- 收敛速度:PageRank算法的迭代计算过程可能需要较长的时间才能达到收敛。
- 静态模型:PageRank算法的代数模型是基于静态的网络图来计算PageRank值的,而不考虑网络图的动态变化。然而,随着时间的推移,网页之间的链接关系可能会发生变化,新的网页可能会出现,旧的网页可能会消失。
- 主观性:PageRank算法的代数模型没有考虑用户的个人偏好和行为。
解决方案
- 收敛速度改善:
- 优化计算过程:对PageRank算法的计算过程进行优化可以提高收敛速度。例如,可以利用稀疏矩阵的性质来减少计算量,只对非零元素进行计算;使用高效的线性代数库或图计算引擎来加速矩阵运算;采用近似计算方法来快速估算PageRank值等。
- 随机游走数:增加随机游走的步数可以加快PageRank的收敛速度。通过增加随机游走的步数,可以使PageRank值更快地在网络图中传递和分散,从而加速收敛。然而,增加步数也会增加计算的复杂性,因此需要权衡计算效率和收敛速度之间的平衡。
- 静态模型变动态模型:
- 将时间分割成不同的时间片段,每个时间片段内的网络图被视为静态的。然后,通过迭代计算方式,逐个时间片段地计算每个节点的PageRank值。
- 通过迭代计算每个时间片段内的PageRank值,并根据时间片段之间的转移概率进行更新,可以得到节点在动态网络图中的PageRank值。这样能够更准确地反映节点在不同时间段内的影响力和重要性变化。
- 针对客户主观性:根据用户的个性化兴趣,为用户提供与其兴趣相关的节点推荐或搜索结果。通过考虑用户个人偏好,个性化PageRank算法能够更好地满足用户的需求,提供更加个性化和相关的结果。
模型优化
- 机器学习技术:可以利用机器学习技术来分析网页内容和用户行为,从而更好地理解和解释搜索意图。通过机器学习能够识别和理解搜索查询的语义和上下文,以提供更准确的搜索结果。
- 自然语言处理:可以使用自然语言处理技术来理解搜索查询和网页内容之间的语义关系。
- 网页质量评估:除了PageRank值,还可以考虑了网页的内容质量、权威性、可信度和用户体验等因素来评估网页的质量。

被折叠的 条评论
为什么被折叠?



