主权项 |
1.一种基于k阶混合马尔可夫模型的Web页面访问预测方法,其特征在于包含以下步骤:1)首先收集和整理Web服务器访问日志数据,针对日志中的每一项访问记录,识别客户端浏览器和用户;排除无意义的访问数据;根据每一项记录析取访问操作o=<u,x,t>,其中u表示用户、x表示Web页面、t表示页面访问时间;2)识别用户会话S,用于组建Web日志数据库,储备用于Web页面访问预测的历史数据;3)根据预测目标从数据库中选取和组织日志数据,按会话整理和组织(k+1)元组集合;流程是:首先基于预测目标选定用户并获取会话数据;然后以会话为单位抽取(k+1)元组X=<x<sub>1</sub>,x<sub>2</sub>,...,x<sub>k</sub>,x<sub>k+1</sub>>,每一个(k+1)元组属于同一个会话,包含会话中用户连续访问的一组页面;相邻两个(k+1)元组的访问页面允许部分重叠;最后所有(k+1)元组构成一个数据集合<img file="FDA00002485692000011.GIF" wi="461" he="50" />4)建立k阶混合马尔可夫模型,并采用最大期望算法训练该k阶混合马尔可夫模型,再基于数据集<img file="FDA00002485692000012.GIF" wi="33" he="33" />学习和校准k阶混合马尔可夫模型的参数集;流程是:k阶混合马尔可夫模型由k个状态转移矩阵{Λ<sub>1</sub>,Λ<sub>2</sub>,...Λ<sub>k</sub>}和一个权值向量A={α<sub>1</sub>,α<sub>2</sub>,...,α<sub>k</sub>}组成,令Web服务器中页面总数为n,则转移矩阵Λ<sub>j</sub>是一个n×n矩阵,其元素λ<sub>j</sub>(x,y)表示页面x被访问后,页面y在同一会话中间隔j个页面后被访问的概率,即条件概率p(x<sub>k+1</sub>|x<sub>k-j+1</sub>),其中页面x<sub>k-j+1</sub>和x<sub>k+1</sub>分别等同于页面x和y;k阶混合马尔可夫模型中k个状态转移矩阵中所有n<sup>2</sup>k个元素,以及权值向量A中的k个权值,构成模型需要训练的参数集;首先给定数据集<img file="FDA00002485692000013.GIF" wi="49" he="35" />计算各参数的初值,权值向量A中元素的初值为:<maths num="0001"><![CDATA[<math><mrow><msub><mi>α</mi><mi>j</mi></msub><mo>=</mo><mfrac><mn>1</mn><mi>k</mi></mfrac><mo>,</mo><mrow><mo>(</mo><mn>1</mn><mo>≤</mo><mi>j</mi><mo>≤</mo><mi>k</mi><mo>)</mo></mrow></mrow></math>]]></maths>对于状态转移矩阵Λ<sub>j</sub>,令数据集<img file="FDA00002485692000015.GIF" wi="33" he="33" />中的(k+1)元组数量为m,元组X<sub>i</sub>=<x<sub>i,1</sub>,x<sub>i,2</sub>,...,x<sub>i,k</sub>,x<sub>i,k+1</sub>>,元素λ<sub>j</sub>(x,y)的初值为:<img file="FDA00002485692000016.GIF" wi="1003" he="120" />其中δ()函数的定义为:<maths num="0002"><![CDATA[<math><mrow><mi>δ</mi><mrow><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>b is true</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>b is false</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>然后根据当前参数值计算下一次迭代需要的新参数值,分别标记为α′<sub>j</sub>和λ′<sub>j</sub>(x,y),为计算新参数值,引入隐变量集Θ={θ<sub>1</sub>,θ<sub>2</sub>,...,θ<sub>m</sub>},其中隐变量θ<sub>i</sub>代表元组X<sub>i</sub>自身的随机特征;令j为间隔访问的页面数,θ<sub>i</sub>(j)计算公式如下:<maths num="0003"><![CDATA[<math><mrow><msub><mi>θ</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>α</mi><mi>j</mi></msub><mo>·</mo><msub><mi>λ</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>-</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow><mrow><msubsup><mi>Σ</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></msubsup><msub><mi>α</mi><mi>l</mi></msub><mo>·</mo><msub><mi>λ</mi><mi>l</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>-</mo><mi>l</mi><mo>+</mo><mn>1</mn><mo>,</mo></mrow></msub><msub><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>根据θ<sub>i</sub>(j),可估计各参数的新值如下:<maths num="0004"><![CDATA[<math><mrow><msubsup><mi>α</mi><mi>j</mi><mo>′</mo></msubsup><mo>=</mo><mfrac><mn>1</mn><mi>m</mi></mfrac><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>θ</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></math>]]></maths><img file="FDA00002485692000023.GIF" wi="1136" he="120" />最后分别代入前一轮参数值和新参数值,计算训练集的似然函数,通过判定似然函数是否收敛,确定k阶混合马尔可夫模型是否训练完毕;5)基于目标用户对Web页面的访问操作,识别最近的用户会话,应用训练后的k阶混合马尔可夫模型预测用户下一步访问的Web页面。 |