<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>水滴石穿</title>
  <subtitle>探索，保持渴望，无所畏惧</subtitle>
  <link href="/atom.xml" rel="self"/>
  
  <link href="https://mlnote.com/"/>
  <updated>2017-04-09T15:43:37.763Z</updated>
  <id>https://mlnote.com/</id>
  
  <author>
    <name>shawn_xiao@baidu</name>
    <email>xqiugen@163.com</email>
  </author>
  
  <generator uri="http://hexo.io/">Hexo</generator>
  
  <entry>
    <title>一些纠错相关的论文笔记</title>
    <link href="https://mlnote.com/2017/04/09/Reading-Notes-of-Error-Correction/"/>
    <id>https://mlnote.com/2017/04/09/Reading-Notes-of-Error-Correction/</id>
    <published>2017-04-08T16:00:00.000Z</published>
    <updated>2017-04-09T15:43:37.763Z</updated>
    
    <content type="html"><![CDATA[<p><strong>&#x6458;&#x8981;&#xFF1A;</strong>&#x7EA0;&#x9519;&#x6A21;&#x5757;&#x5728;&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x4F5C;&#x4E3A;&#x5165;&#x53E3;&#x7EA7;&#x6A21;&#x5757;&#xFF0C;&#x7528;&#x6237;&#x611F;&#x77E5;&#x660E;&#x663E;&#xFF0C;&#x5BF9;&#x7528;&#x6237;&#x4F53;&#x9A8C;&#x7684;&#x63D0;&#x5347;&#x6709;&#x91CD;&#x8981;&#x7684;&#x5F71;&#x54CD;&#x3002;&#x6574;&#x4F53;&#x5E73;&#x53F0;&#x5316;&#x5EFA;&#x8BBE;&#x4E00;&#x671F;&#x5B8C;&#x7ED3;&#xFF0C;&#x697C;&#x4E3B;&#x6574;&#x7406;&#x4E86;&#x6700;&#x8FD1;&#x9605;&#x8BFB;&#x7684;&#x4E00;&#x4E9B;&#x7B14;&#x8BB0;&#xFF0C;&#x6709;&#x7C97;&#x6709;&#x7EC6;&#xFF0C;&#x76EE;&#x7684;&#x662F;&#x5E2E;&#x52A9;&#x6709;&#x4E1A;&#x52A1;&#x9700;&#x6C42;&#x7684;&#x540C;&#x5B66;&#x53EF;&#x4EE5;&#x6709;&#x7684;&#x653E;&#x77E2;&#x7684;&#x53BB;&#x770B;&#xFF0C;&#x5E94;&#x7528;&#x5230;&#x5DE5;&#x4F5C;&#x4E2D;&#xFF0C;&#x8282;&#x7EA6;&#x65F6;&#x95F4;&#x3002;</p>
<p><strong>&#x8BBA;&#x6587;1&#xFF1A;</strong>&#x300A;Chinese Spelling Error Detection and Correction Based on Language Model, Pronunciation, and Shape&#x300B;[1, Yu, 2013]<br>&#x8BBA;&#x6587;&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x79CD;&#x51C6;&#x786E;&#x8F83;&#x9AD8;&#x3001;&#x53EC;&#x56DE;&#x8F83;&#x4F4E;&#x7684;&#x7EA0;&#x9519;&#x65B9;&#x6CD5;&#x3002;</p>
<ol>
<li>Character&#x7EA7;&#x522B; n-gram language model&#x3002;</li>
<li>&#x62FC;&#x97F3;&#x548C;&#x5B57;&#x5F62;&#x53EC;&#x56DE;&#x5019;&#x9009;</li>
<li>&#x8BCD;&#x5178;&#x8FC7;&#x6EE4;&#x6389;&#x90E8;&#x5206;&#x65E0;&#x6548;&#x5019;&#x9009;</li>
<li>&#x53D6;&#x6700;&#x9AD8;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x6253;&#x5206;</li>
<li>&#x9AD8;&#x4E8E;&#x65E2;&#x5B9A;&#x9608;&#x503C;&#x5219;&#x8BA4;&#x4E3A;&#x662F;&#x66FF;&#x6362;&#x5019;&#x9009;</li>
</ol>
<p>&#x7CFB;&#x7EDF;&#x6D41;&#x7A0B;&#x56FE;&#xFF1A;<br><img src="/2017/04/09/Reading-Notes-of-Error-Correction/./1491210395611.png" alt="&#x7CFB;&#x7EDF;&#x6D41;&#x7A0B;&#x56FE; | center | 450*250"><br>&#x5404;&#x6B65;&#x9AA4;&#x5C55;&#x5F00;&#xFF0C;&#x5177;&#x4F53;&#x7B80;&#x8FF0;&#x5982;&#x4E0B;&#xFF1A;</p>
<ol>
<li>&#x5224;&#x65AD;&#x4F55;&#x5904;&#x6709;&#x8F93;&#x5165;&#x9519;&#x8BEF;&#xFF0C;&#x4E24;&#x79CD;&#x65B9;&#x5F0F;&#xFF1A;<br> a. &#x4F7F;&#x7528;&#x6B63;&#x5411;&#x53CD;&#x5411;&#x7684;character&#x7EA7;&#x522B;&#x7684;ngram&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x5BF9;&#x6BCF;&#x4E2A;&#x4F4D;&#x7F6E;&#x8FDB;&#x884C;&#x6253;&#x5206;&#xFF0C;&#x5F97;&#x5206;&#x4F4E;&#x7684;&#x5730;&#x65B9;&#x6807;&#x8BB0;&#x4E3A;&#x5F85;&#x7EA0;&#x9519;&#x7247;&#x6BB5;&#x3002;<br> b. &#x5207;&#x8BCD;&#x5207;&#x51FA;&#x72EC;&#x7ACB;&#x7684;&#x5B57;&#x7B26;&#x3002;<br> &#x8FD9;&#x91CC;&#x7684;ngram&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x4E3A;5-gram&#xFF0C;&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x8FC7;&#x591A;&#x53EC;&#x56DE;&#xFF0C;&#x9608;&#x503C;&#x8BBE;&#x5B9A;&#x8F83;&#x4E3A;&#x4E25;&#x82DB;&#x3002;&#x901A;&#x8FC7;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x5224;&#x65AD;&#x51FA;&#x7684;&#x53EF;&#x7591;&#x4F4D;&#x7F6E;&#x5C06;&#x4E0E;&#x4E0A;&#x4E0B;&#x6587;&#x7EC4;&#x5408;&#x8FDB;&#x884C;&#x8BCD;&#x5178;&#x67E5;&#x8BCD;&#x3002;</li>
<li>&#x53EC;&#x56DE;&#xFF1A;&#x4E0A;&#x4E00;&#x6B65;&#x8BCD;&#x5178;&#x8FC7;&#x6EE4;&#x51FA;&#x7684;&#x6700;&#x7EC8;&#x53EF;&#x7591;&#x8BCD;&#x8FDB;&#x884C;&#x540C;&#x97F3;&#x5B57;&#x548C;&#x5F62;&#x8FD1;&#x5B57;&#x7684;&#x53EC;&#x56DE;&#x3002;&#x53EC;&#x56DE;&#x5019;&#x9009;&#x4E0E;&#x524D;&#x540E;&#x8FD1;&#x90BB;&#x7EC4;&#x5408;&#x4E3A;&#x8BCD;&#x8FDB;&#x884C;&#x8BCD;&#x5178;&#x67E5;&#x8BCD;&#x8FC7;&#x6EE4;&#x51FA;&#x6709;&#x6548;&#x5019;&#x9009;&#x3002;</li>
<li>&#x6253;&#x5206;&#xFF1A;&#x5019;&#x9009;&#x4E2D;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x6700;&#x9AD8;&#x5206;&#xFF0C;&#x4E14;&#x5F97;&#x5206;&#x5927;&#x4E8E;&#x9608;&#x503C;&#xFF0C;&#x5219;&#x80DC;&#x51FA;&#x3002;</li>
</ol>
<p><strong>&#x8BBA;&#x6587;2&#xFF1A;</strong>&#x300A;Guest Editorial: Special Issue on Chinese as a Foreign Language&#x300B;[2, Lee, 2015]<br>&#x8BBA;&#x6587;&#x4E3A;&#x7EA0;&#x9519;&#x7EFC;&#x8FF0;&#x6587;&#x7AE0;&#xFF0C;&#x63D0;&#x4E86;6&#x7BC7;&#x6587;&#x7AE0;&#xFF0C;&#x9010;&#x4E00;&#x62C6;&#x89E3;&#x5982;&#x4E0B;&#xFF1A;</p>
<ol>
<li>&#x300A;A Unified Framework for Chinese Spelling Correction&#x300B;[3]&#x63D0;&#x51FA;&#x57FA;&#x4E8E;&#x9690;&#x9A6C;&#x5C14;&#x79D1;&#x592B;&#x548C;&#x6392;&#x5E8F;&#x6A21;&#x578B;&#x7684;&#x7EA0;&#x9519;&#x6846;&#x67B6;&#xFF0C;&#x914D;&#x5408;&#x57FA;&#x4E8E;&#x89C4;&#x5219;&#x7684;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x6C49;&#x5B57;&#x7EA0;&#x9519;&#xFF0C;&#x5176;&#x6570;&#x636E;&#x96C6;&#x4E3A;CLP-2014-CSC</li>
<li>&#x300A;A Study on Chinese Spelling Check Using Confusion Sets and N-gram Statistics&#x300B;[4]&#x901A;&#x8FC7;&#x8BF4;&#x6587;&#x89E3;&#x5B57;&#x548C;&#x56DB;&#x89D2;&#x7801;&#x6269;&#x5927;&#x5019;&#x9009;&#x96C6;&#x5408;(Confusion Sets)&#xFF0C;&#x7ED3;&#x5408;N-gram&#x7EDF;&#x8BA1;&#x8FDB;&#x884C;&#x62FC;&#x5199;&#x7EA0;&#x9519;&#x3002;</li>
<li>&#x300A;Automatically Detecting Syntactic Errors in Sentences Written by Learners of Chinese as a Foreign Language&#x300B;[5]&#x4ECB;&#x7ECD;&#x4E86;&#x4E00;&#x79CD;&#x901A;&#x8FC7;&#x81EA;&#x52A8;&#x751F;&#x6210;&#x548C;&#x624B;&#x5DE5;&#x89C4;&#x5219;&#x6765;&#x53D1;&#x73B0;&#x4E2D;&#x6587;&#x8BED;&#x6CD5;&#x95EE;&#x9898;&#xFF0C;&#x63D0;&#x51FA;&#x4E86;KNGED&#x7B97;&#x6CD5;&#x6765;&#x53D1;&#x73B0;&#x8BED;&#x6CD5;&#x9519;&#x8BEF;&#x3002;&#x5176;&#x6570;&#x636E;&#x96C6;&#x4E3A;NLP-TEA CFL(Chinese as Foreign Language)&#x3002;</li>
<li>&#x300A;Automatic Classification of the &#x201C;De&#x201D; Word Usage for Chinese as a Foreign Language&#x300B;[6]&#x805A;&#x7126;&#x5728;&#x201D;De&#x201D;&#x97F3;&#x7684;&#x4E09;&#x4E2A;&#x5E38;&#x7528;&#x5B57;{&#x7684;&#xFF0C;&#x5730;&#xFF0C;&#x5F97;}&#x7684;&#x5F62;&#x6001;&#x53E5;&#x6CD5;&#xFF0C;&#x63D0;&#x51FA;LEM 2&#x7B97;&#x6CD5;&#x7528;&#x4E8E;&#x89C4;&#x5219;&#x751F;&#x6210;&#xFF0C;&#x57FA;&#x4E8E;&#x89C4;&#x5219;&#x8FDB;&#x884C;{&#x7684;&#xFF0C;&#x5730;&#xFF0C;&#x5F97;}&#x7684;&#x9519;&#x522B;&#x5B57;&#x5206;&#x7C7B;&#x8BC6;&#x522B;&#x3002;</li>
<li>&#x300A;The Error Analysis of &#x201C;Le&#x201D;Based on &#x201C;Chinese Learner Written Corpus&#x201D;&#x300B;&#x4EE5;&#x201C;&#x534E;&#x8BED;&#x5B66;&#x4E60;&#x8005;&#x8BED;&#x6599;&#x5E93;&#x201D;&#x4E3A;&#x672C;&#x7684;&#x201D;&#x4E86;&#x201D;&#x5B57;&#x53E5;&#x9519;&#x8BEF;&#x5206;&#x6790;&#x3002;&#x201C;&#x4E86;&#x201D;&#x4E3A;&#x4E2D;&#x6587;&#x5E38;&#x89C1;&#x7684;&#x65F6;&#x8C8C;&#x6807;&#x8BB0;&#x548C;&#x53E5;&#x5C3E;&#x865A;&#x8BCD;&#xFF0C;&#x4F46;&#x5176;&#x8868;&#x52A8;&#x4F5C;&#x5B8C;&#x6210;&#x7684;&#x8BED;&#x4E49;&#xFF0C;&#x53EF;&#x80FD;&#x4F7F;&#x534E;&#x8BED;&#x5B66;&#x4E60;&#x8005;&#x5C06;&#x5176;&#x6CDB;&#x5316;&#x4E3A;&#x8FC7;&#x53BB;&#x65F6;&#x6807;&#x8BB0;&#xFF0C;&#x800C;&#x6210;&#x4E3A;&#x5B66;&#x4E60;&#x96BE;&#x70B9;&#x3002;&#x6587;&#x7AE0;&#x4EE5;&#x201D;&#x53F0;&#x5E08;&#x5927;&#x534E;&#x8BED;&#x5B66;&#x4E60;&#x8005;&#x8BED;&#x6599;&#x5E93;&#x201D;&#x4E3A;&#x672C;&#xFF0C;&#x5206;&#x6790;&#x521D;&#x7EA7;A2&#x548C;&#x4E2D;&#x7EA7;B1&#x82F1;&#x8BED;&#x6BCD;&#x8BED;&#x8005;&#x5B66;&#x4E60;&#x201D;&#x4E86;&#x201D;&#x5B57;&#x53E5;&#x65F6;&#x7684;&#x4F7F;&#x7528;&#x60C5;&#x5F62;&#x548C;&#x504F;&#x8BEF;&#x7C7B;&#x578B;&#xFF0C;&#x6709;&#x4EE5;&#x4E0B;&#x53D1;&#x73B0;&#xFF1A;<ol>
<li>&#x521D;&#x7EA7;A2&#x548C;&#x4E2D;&#x7EA7;B1&#x5B66;&#x4E60;&#x8005;&#x90FD;&#x8F83;&#x96BE;&#x638C;&#x63E1;&#x4F5C;&#x4E3A;&#x65F6;&#x8C8C;&#x6807;&#x8BB0;&#x7684;&#x201D;&#x4E86;&#x201D;&#xFF0C;&#x8FD9;&#x7C7B;&#x95EE;&#x9898;&#x6700;&#x5E38;&#x89C1;&#xFF0C;&#x800C;&#x8F83;&#x5BB9;&#x6613;&#x638C;&#x63E1;&#x4F5C;&#x4E3A;&#x53E5;&#x5C3E;&#x865A;&#x8BCD;&#x7684;&#x201D;&#x4E86;2&#x201D;&#x3002;</li>
<li>&#x4E0D;&#x8BBA;&#x521D;&#x7EA7;A2&#x6216;&#x4E2D;&#x7EA7;B1&#x90FD;&#x6709;&#x201D;&#x4E86;&#x201D;&#x8FC7;&#x5EA6;&#x6CDB;&#x5316;&#x7684;&#x60C5;&#x51B5;&#x3002;</li>
<li>&#x6B64;&#x4E8C;&#x7EA7;&#x5B66;&#x4E60;&#x8005;&#x5728;&#x201C;&#x4E86;2&#x201D;&#x53CA;&#x201C;&#x4E86;1+2&#x201D;&#x7684;&#x4F7F;&#x7528;&#x4E0A;&#xFF0C;&#x7686;&#x591A;&#x4E3A;&#x5197;&#x4F59;&#x504F;&#x8BEF;&#x3002;&#x5BF9;&#x4E8E;&#x5916;&#x56FD;&#x4EBA;&#x5B66;&#x4E60;&#x6559;&#x5B66;&#x5E94;&#x5148;&#x7531;&#x7B80;&#x5230;&#x7E41;&#xFF0C;&#x4ECB;&#x7ECD;&#x201C;&#x4E86;2&#x201D;&#x548C;&#x76F8;&#x5173;&#x53E5;&#x578B;&#xFF0C;&#x518D;&#x4ECB;&#x7ECD;&#x201D;&#x4E86;&#x201D;&#x548C;&#x76F8;&#x5173;&#x53E5;&#x578B;&#x3002;</li>
</ol>
</li>
<li>&#x300A;Cross-Linguistic Error Types of Misused Chinese Based on Learners&#x300B;&#x57FA;&#x4E8E;&#x4E1C;&#x4EAC;&#x5927;&#x5B66;&#x8BED;&#x8A00;&#x5B66;&#x4E60;&#x8005;&#x7684;&#x8BED;&#x6599;&#x5E93;&#x201D;Full Moon&#x201D;&#xFF0C;&#x8BE6;&#x7EC6;&#x5730;&#x7814;&#x7A76;&#x4E86;&#x5E38;&#x89C1;&#x6C49;&#x8BED;&#x5B66;&#x4E60;&#x8005;&#x5728;&#x4E66;&#x5199;&#x65F6;&#x5BB9;&#x6613;&#x72AF;&#x7684;&#x9519;&#x8BEF;&#xFF0C;&#x5BF9;&#x9519;&#x8BEF;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x4E86;&#x8BED;&#x8A00;&#x5B66;&#x89D2;&#x5EA6;&#x7684;&#x5206;&#x7C7B;&#x548C;&#x5B9A;&#x4E49;&#x3002;&#x6587;&#x7AE0;&#x5BF9;&#x65E5;&#x7F8E;&#x4E24;&#x56FD;&#x5B66;&#x4E60;&#x8005;&#x5728;&#x5B66;&#x4E60;&#x65F6;&#x4E0D;&#x540C;&#x7684;&#x91CF;&#x8BCD;&#x4F7F;&#x7528;&#x9519;&#x8BEF;&#x8FDB;&#x884C;&#x4E86;&#x5206;&#x6790;&#x3002;</li>
</ol>
<p><strong>&#x8BBA;&#x6587;3&#xFF1A;</strong>&#x300A;Chinese Spelling Checker Based on Statistical Machine Translation&#x300B;[8, Chiu, 2013]<br>&#x6587;&#x7AE0;&#x7EFC;&#x5408;&#x4F7F;&#x7528;&#x4E86;&#x57FA;&#x4E8E;&#x7EDF;&#x8BA1;&#x548C;&#x57FA;&#x4E8E;&#x89C4;&#x5219;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x89C4;&#x5219;&#x53EC;&#x56DE;&#x7684;&#x53EF;&#x80FD;&#x51FA;&#x9519;&#x7684;&#x4F4D;&#x7F6E;&#x901A;&#x8FC7;&#x7EDF;&#x8BA1;&#x7FFB;&#x8BD1;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x4E8C;&#x6B21;&#x786E;&#x8BA4;&#x3002;&#x4F5C;&#x8005;&#x5C06;&#x7EA0;&#x9519;&#x89C6;&#x4E3A;&#x4E00;&#x9879;&#x7FFB;&#x8BD1;&#x4EFB;&#x52A1;&#xFF0C;&#x5373;&#x7ED3;&#x5408;&#x66FF;&#x6362;&#x6982;&#x7387;&#x4EE5;&#x53CA;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x5C06;&#x9519;&#x8BEF;&#x7684;&#x53E5;&#x5B50;&#x7FFB;&#x8BD1;&#x6210;&#x6B63;&#x786E;&#x7684;&#x53E5;&#x5B50;&#x3002;<br>&#x4F5C;&#x8005;&#x5C06;&#x7EA0;&#x9519;&#x5206;&#x4E09;&#x4E2A;&#x9636;&#x6BB5;&#xFF1A;</p>
<ol>
<li>&#x5207;&#x8BCD;&#xFF1A;&#x964D;&#x4F4E;&#x5019;&#x9009;&#x7684;&#x641C;&#x7D22;&#x7A7A;&#x95F4;</li>
<li>&#x9519;&#x8BEF;&#x8BC6;&#x522B;&#xFF0C;&#x627E;&#x5230;&#x53EF;&#x80FD;&#x9519;&#x8BEF;&#x7684;&#x4F4D;&#x7F6E;.(&#x4F8B;&#x5982;&#xFF0C;&#x4E24;&#x4E2A;&#x4EE5;&#x4E0A;&#x7684;&#x5355;&#x5B57;&#x542B;&#x66F4;&#x591A;&#x9519;&#x8BEF;&#x3002;&#x4E0D;&#x8FC7;&#xFF0C;&#x8FD9;&#x65B9;&#x6CD5;&#x4F1A;&#x53D7;&#x5230;&#x5207;&#x8BCD;&#x7C92;&#x5EA6;&#x7684;&#x5F71;&#x54CD;&#xFF0C;&#x4F5C;&#x8005;&#x5F15;&#x5165;&#x6B63;&#x786E;&#x7684;web&#x5355;&#x5B57;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x7504;&#x522B;&#x771F;&#x5B9E;&#x8F93;&#x5165;&#x9519;&#x8BEF;&#xFF0C;&#x5373;&#x5207;&#x8BCD;+&#x4F7F;&#x7528;&#x8BCD;&#x5178;+&#x8BED;&#x6599;&#x5E93;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x65B9;&#x5F0F;&#x8FDB;&#x884C;&#x9519;&#x8BEF;&#x5224;&#x65AD;&#x3002;)</li>
<li>&#x53EC;&#x56DE;&#x5019;&#x9009;&#xFF0C;&#x9519;&#x8BEF;&#x7EA0;&#x6B63;&#x3002;&#x53EC;&#x56DE;&#x5019;&#x9009;&#x4F7F;&#x7528;&#x5F15;&#x6587;[9, liu, 2011]&#x7684;&#x6DF7;&#x6DC6;&#x96C6;&#x5408;(confusion set)&#x3002;&#x9519;&#x8BEF;&#x7EA0;&#x6B63;&#x5957;&#x7528;SMT&#x6846;&#x67B6;&#xFF0C;&#x5B9A;&#x4E49;&#x7FFB;&#x8BD1;&#x6982;&#x7387;&#x4E3A;&#xFF1A; $$p(error|candi) = lo{g_{10}}\left( {{{freq\left( {error \to candi} \right)} \over {freq\left( {error \to candi} \right) - freq\left( {candi} \right)}}*\gamma } \right)$$ &#x516C;&#x5F0F;&#x6309;&#x6211;&#x7684;&#x7406;&#x89E3;&#x6362;&#x4E86;&#x8868;&#x8FF0;&#x65B9;&#x5F0F;&#xFF0C;&#x5176;&#x4E2D;${freq\left( {error \to candi} \right)}$&#x8868;&#x793A;&#x66FF;&#x6362;&#x4E3A;&#x5019;&#x9009;&#x7684;&#x6B21;&#x6570;&#xFF0C;${freq\left( {candi} \right)}$&#x8868;&#x793A;&#x4E3A;&#x5019;&#x9009;&#x7684;&#x6B21;&#x6570;&#x3002;$\gamma $ &#x8868;&#x793A;&#x97F3;&#x9891;&#x53EC;&#x56DE;&#x548C;&#x5B57;&#x5F62;&#x53EC;&#x56DE;&#x7684;&#x6743;&#x91CD;&#x7B97;&#x5B50;&#x3002;&#x89E3;&#x7801;&#x7684;&#x65F6;&#x5019;&#x7EFC;&#x5408;&#x8003;&#x8651;&#x7FFB;&#x8BD1;&#x6982;&#x7387;&#x548C;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x7EA0;&#x9519;&#x6BD4;&#x7FFB;&#x8BD1;&#x4EFB;&#x52A1;&#x5C11;&#x4E86;&#x6392;&#x5E8F;&#x4E00;&#x9879;&#x3002;</li>
</ol>
<p>&#x6587;&#x7AE0;&#x672A;&#x8003;&#x8651;&#x5220;&#x8BCD;&#x548C;&#x591A;&#x8BCD;&#x60C5;&#x51B5;&#xFF0C;&#x4F5C;&#x8005;&#x5EFA;&#x8BAE;&#x7684;&#x5176;&#x4ED6;&#x989D;&#x5916;&#x7279;&#x5F81;&#x6709;&#xFF1A;&#x65B0;&#x8BCD;&#x53D1;&#x73B0;&#x3001;POS&#x3001;&#x4E13;&#x540D;&#x3001;ngram&#x4F5C;&#x4E3A;&#x786E;&#x8BA4;&#x8FB9;&#x754C;&#x7684;&#x8BCD;&#x5178;&#x3002;</p>
<p><strong>&#x8BBA;&#x6587;4&#xFF1A;</strong>&#x300A;Chinese Word Spelling Correction Based on Rule Induction&#x300B;[10, yeh, 2014]<br>&#x524D;&#x7F6E;&#x4ECB;&#x7ECD;E-Hownet&#x4E3A;&#x8BCD;&#x5E93;&#x5C0F;&#x7EC4;&#x4E8E;2003&#x5E74;&#x8D77;&#x5F00;&#x59CB;&#x5EFA;&#x6784;&#x7E41;&#x4F53;&#x77E5;&#x8BC6;&#x56FE;&#x8C31;&#x3002;&#x6309;&#x4E0B;&#x8FF0;&#x7CFB;&#x7EDF;&#x6D41;&#x7A0B;&#x56FE;&#xFF0C;&#x5206;&#x8BAD;&#x7EC3;&#x90E8;&#x5206;&#x548C;&#x6D4B;&#x8BD5;&#x90E8;&#x5206;&#x3002;&#x8BAD;&#x7EC3;&#x90E8;&#x5206;&#x4E3A;&#x4E86;&#x5F97;&#x5230;&#x6D4B;&#x8BD5;&#x90E8;&#x5206;&#x6240;&#x9700;&#x8BCD;&#x5178;&#xFF0C;&#x52A0;&#x4E0A;&#x540C;&#x97F3;&#x8BCD;&#x5178;&#x548C;&#x5F62;&#x8FD1;&#x8BCD;&#x5178;&#x4E00;&#x5171;&#x6709;&#x4E09;&#x4E2A;&#x8BCD;&#x5178;&#x3002;&#x8BAD;&#x7EC3;&#x7684;&#x6D41;&#x7A0B;&#x5206;&#x56DB;&#x4E2A;&#x90E8;&#x5206;&#xFF1A;</p>
<ol>
<li>&#x8F93;&#x5165;&#x9884;&#x5904;&#x7406;&#xFF0C;&#x53BB;&#x9664;&#x7A7A;&#x683C;&#x548C;&#x5706;&#x62EC;&#x53F7;&#x7B49;&#x65E0;&#x5173;&#x7B26;&#x53F7;&#x3002;</li>
<li>&#x5207;&#x8BCD;&#xFF0C;&#x6807;&#x8BB0;POS&#x3002;</li>
<li>&#x89C4;&#x5219;&#x884D;&#x751F;&#x51FA;&#x5019;&#x9009;&#x8BCD;&#x5178;&#xFF0C;&#x6839;&#x636E;&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#x4E0A;&#x4E0B;&#x6587;&#x53CA;&#x5F62;&#x4F3C;&#x8BCD;&#x5178;&#x7EC4;&#x5408;&#xFF0C;&#x5728;E-Hownet&#x627E;&#x5230;&#x6700;&#x4F73;&#x8BCD;&#xFF0C;&#x5F62;&#x6210;&#x5019;&#x9009;&#x8BCD;&#x5178;&#x3002;<br>&#x6D4B;&#x8BD5;&#x9636;&#x6BB5;&#x5206;&#x4E3A;&#xFF1A;</li>
<li>&#x8F93;&#x5165;&#x9884;&#x5904;&#x7406;&#xFF0C;&#x53BB;&#x9664;&#x7A7A;&#x683C;&#x548C;&#x5706;&#x62EC;&#x53F7;&#x7B49;&#x65E0;&#x5173;&#x7B26;&#x53F7;&#x3002;</li>
<li>&#x5207;&#x8BCD;&#xFF0C;&#x6807;&#x8BB0;POS&#x3002;</li>
<li>&#x5224;&#x65AD;&#x662F;&#x5426;&#x9519;&#x8BEF;&#xFF08;&#x82E5;&#x5E72;&#x89C4;&#x5219;&#xFF09;<br> a.  &#x7EC4;&#x5408;&#x4E24;&#x4E2A;&#x5B57;&#x4EE5;&#x4E0A;&#x7684;&#x8BCD;&#xFF08;token&#xFF09;&#xFF0C;&#x5982;&#x679C;&#x4E0D;&#x5728;E-Hownet&#x548C;&#x8BAD;&#x7EC3;&#x96C6;&#x8BCD;&#x5178;&#x4E2D;(?)&#x3002;<br> b. &#x56DB;&#x4E2A;&#x5B57;&#x7684;&#x8BCD;(token)&#x8FC7;&#x4E00;&#x6B21;&#x5F62;&#x8FD1;&#x8BCD;&#x5178;&#x548C;&#x97F3;&#x8FD1;&#x8BCD;&#x5178;&#x3001;E-Hownet&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x627E;&#x5230;&#xFF0C;&#x5219;&#x8BA4;&#x4E3A;&#x8BE5;&#x4F4D;&#x7F6E;&#x7684;&#x8BCD;&#x4E0D;&#x6B63;&#x786E;&#x3002;<br> c. &#x901A;&#x8FC7;pos&#x89C4;&#x5219;&#x627E;&#x5230;&#x201C;&#x7684;&#x3001;&#x5730;&#x3001;&#x5F97;&#x201D;&#x95EE;&#x9898;<br> d. &#x7EC4;&#x5408;&#x8FDE;&#x7EED;&#x4E24;&#x4E2A;&#x5355;&#x5B57;&#x8BCD;(token)&#xFF0C;&#x8FDE;&#x63A5;&#x8D77;&#x6765;&#x4F5C;&#x4E3A;&#x4E00;&#x4E2A;&#x9519;&#x8BCD;&#x3002;<br>&#x5F97;&#x5230;&#x9519;&#x8BEF;&#x4F4D;&#x7F6E;&#x540E;&#xFF0C;&#x5C06;&#x5176;&#x66FF;&#x6362;&#x4E3A;&#x97F3;&#x8FD1;&#x6216;&#x8005;&#x5F62;&#x8FD1;&#x5B57;&#xFF0C;&#x4FDD;&#x7559;&#x5B58;&#x5728;&#x4E8E;E-Hownet&#x548C;&#x8BAD;&#x7EC3;&#x96C6;&#x8BCD;&#x5178;&#x4E2D;&#x7684;&#x8BCD;&#x3002;</li>
<li>&#x591A;&#x4E2A;&#x5019;&#x9009;&#x4EE5;E-Hownet&#x4E2D;&#x4E0B;&#x6807;&#x5C0F;&#x7684;&#x4E3A;&#x6700;&#x4F73;&#x3002;</li>
</ol>
<p><img src="/2017/04/09/Reading-Notes-of-Error-Correction/./1491317137097.png" alt="&#x7CFB;&#x7EDF;&#x6D41;&#x7A0B;&#x56FE; | center | 500*250"></p>
<p><strong>&#x8BBA;&#x6587;5&#xFF1A;</strong>&#x300A;Understanding Error Correction and its Role as Part of the Communication Channel in Environments composed of Self-Integrating Systems&#x300B;[12, lodwich, 2016]<br>&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x4ECB;&#x7ECD;&#x4E86;&#x7EA0;&#x9519;&#x5728;&#x901A;&#x8BAF;&#x7CFB;&#x7EDF;&#x91CC;&#x7684;&#x91CD;&#x8981;&#x6027;&#xFF0C;&#x7BC7;&#x5E45;&#x8F83;&#x957F;60+&#x3002;&#x8DDF;&#x6587;&#x672C;&#x7EA0;&#x9519;&#x6709;&#x5173;&#x7684;&#x7AE0;&#x8282;&#x5728;2.4&#x8282;&#x201D;Error Correction in high-level languages&#x201D;&#xFF0C; &#x91CC;&#x9762;&#x6709;&#x53E5;&#x8BDD;&#x9887;&#x6709;&#x5171;&#x9E23;&#xFF1A;&#x201C;Error correction for high-level languages can demand a large amount of a priori knowledge which is usually too large to be provided as additional information by the sender and hence is provided directly to the receiver&#x2019;s knowledge pool&#x201D;&#x3002;&#x7EA0;&#x9519;&#x662F;&#x91CD;&#x8D44;&#x6E90;&#x4F9D;&#x8D56;&#x578B;&#xFF0C;&#x8D44;&#x6E90;&#x53EF;&#x4EE5;&#x5F15;&#x7533;&#x4E3A;&#x4E0E;&#x5E94;&#x7528;&#x573A;&#x666F;&#x76F8;&#x5173;&#x7684;&#x5148;&#x9A8C;&#x4FE1;&#x606F;&#x3002;&#x7EA0;&#x9519;&#x5982;&#x679C;&#x9700;&#x8981;&#x7EE7;&#x7EED;&#x6DF1;&#x5165;&#xFF0C;&#x7A81;&#x7834;&#x53E3;&#x5E94;&#x8BE5;&#x5728;&#x7075;&#x6D3B;&#x591A;&#x53D8;&#x7684;&#x67B6;&#x6784;&#x4E0A;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x4E07;&#x80FD;&#x7EA0;&#x9519;&#x3002;</p>
<p><strong>&#x8BBA;&#x6587;6&#xFF1A;</strong>&#x300A;Using Higher-level Linguistic Knowledge for Speech Recognition Error Correction in a Spoken Q/A Dialog&#x300B;[13, jeong, 2004]<br>&#x5728;&#x5BF9;&#x8BDD;&#x7CFB;&#x7EDF;&#x4E2D;&#x7684;&#x4E2D;&#x6587;&#x7EA0;&#x9519;&#x6587;&#x7AE0;&#x8F83;&#x5C11;&#xFF0C;&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x662F;&#x97E9;&#x56FD;&#x5B66;&#x8005;&#x5199;&#x7684;&#xFF0C;&#x5BF9;&#x4E2D;&#x6587;&#x4E5F;&#x6709;&#x4E00;&#x5B9A;&#x53C2;&#x8003;&#x4EF7;&#x503C;&#x3002;&#x8026;&#x5408;&#x8BED;&#x97F3;&#x8F93;&#x5165;&#x573A;&#x666F;&#xFF0C;&#x4F5C;&#x8005;&#x5728;&#x672C;&#x6587;&#x63D0;&#x51FA;&#x4E86;&#x57FA;&#x4E8E;&#x97F3;&#x8282;&#x7684;&#x7EA0;&#x9519;&#x6A21;&#x578B;&#x3002;&#x4F20;&#x7EDF;&#x7EA0;&#x9519;&#x5E38;&#x7528;&#x7684;noisy channel&#x6A21;&#x578B;&#xFF0C;&#x7ED9;&#x5B9A;&#x89C2;&#x6D4B;&#x5E8F;&#x5217;$O = {o_1},{o_2},...,{o_n}$&#xFF0C;&#x627E;&#x5230;&#x6700;&#x4F73;&#x7684;&#x6B63;&#x786E;&#x7ED3;&#x679C;&#x5E8F;&#x5217;$W = {w_1},{w_2},...,{w_3}$&#x3002;&#x5728;&#x8BED;&#x97F3;&#x8BC6;&#x522B;&#x7EA0;&#x9519;&#x5E94;&#x7528;&#x4E2D;&#xFF0C;&#x89C2;&#x6D4B;&#x5E8F;&#x5217;&#x4E3A;&#x8BED;&#x97F3;&#x8BC6;&#x522B;&#x6A21;&#x578B;&#x8F93;&#x51FA;&#x7684;&#x6587;&#x672C;&#x5E8F;&#x5217;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x627E;&#x5230;&#x7528;&#x6237;&#x5728;&#x5BF9;&#x5E94;&#x573A;&#x666F;&#x4E0B;&#x60F3;&#x8868;&#x8FBE;&#x7684;&#x6B63;&#x786E;&#x7ED3;&#x679C;&#x3002;&#x6839;&#x636E;&#x8D1D;&#x53F6;&#x65AF;&#x516C;&#x5F0F;&#x63A8;&#x5BFC;&#x5F97;&#xFF1A;<br>$$\hat W = \arg \mathop {\max }\limits_W P\left( {W|O} \right) = \arg \mathop {\max }\limits_W P\left( W \right)P\left( {O|W} \right)$$<br>&#x5176;&#x4E2D;&#x4E24;&#x9879;&#x5206;&#x522B;&#x4E3A;&#x8BED;&#x8A00;&#x6A21;&#x578B;$P\left( W \right)$&#x548C;channel model$P\left( {O|W} \right)$&#x3002;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x7684;&#x4E00;&#x9636;&#x9A6C;&#x5C14;&#x53EF;&#x592B;&#x6A21;&#x578B;&#x53EF;&#x4EE5;&#x8868;&#x8FBE;&#x6210;&#xFF1A;<br>$$P\left( W \right) = \mathop \prod \limits_i P\left( {{w_i}|{w_{1,i - 1}}} \right)$$<br>&#x5982;&#x679C;&#x7B80;&#x5355;&#x5047;&#x8BBE;&#x7ED9;&#x5B9A;&#xFF0C;&#x7ED3;&#x679C;&#x5E8F;&#x5217;&#x7684;channel model&#x7684;&#x6761;&#x4EF6;&#x6982;&#x7387;&#x53EF;&#x4EE5;&#x8868;&#x8FBE;&#x6210;&#xFF1A;<br>$$P\left( {O|W} \right) = \prod\limits_i {P\left( {{o_i}|{w_i}} \right)} $$<br>&#x8FD9;&#x4E2A;&#x5047;&#x8BBE;&#x592A;&#x5F3A;&#xFF0C;&#x4EE5;&#x81F3;&#x4E8E;&#x65E0;&#x6CD5;&#x5904;&#x7406;&#x5982;&#x4E0B;&#x201D;1&#x5BF9;&#x591A;&#x201D;&#x548C;&#x201D;&#x591A;&#x5BF9;1&#x201D;&#x7684;&#x4E24;&#x79CD;&#x60C5;&#x5F62;&#x3002;<br><img src="/2017/04/09/Reading-Notes-of-Error-Correction/./1491656870682.png" alt="Example of Word-based Channel Model">&#x3002;<br>&#x4F5C;&#x8005;&#x901A;&#x8FC7;&#x7B80;&#x5316;&#x7EDF;&#x8BA1;&#x7FFB;&#x8BD1;&#x6A21;&#x578B;IBM-Model-4&#x5229;&#x7528;&#x4E86;&#x524D;&#x4E00;&#x4E2A;&#x4F4D;&#x7F6E;&#x7684;&#x89C2;&#x5BDF;${{o_{i-1}}}$&#x548C;&#x8F93;&#x51FA;&#x7ED3;&#x679C;${{w_{i-1}}}$&#xFF0C;&#x8FD9;&#x90E8;&#x5206;&#x6700;&#x521D;&#x5DE5;&#x4F5C;&#x6765;&#x81EA;(15, Brown, 1990)&#x3002;<br>&#x524D;&#x9762;&#x4ECB;&#x7ECD;&#x4E86;&#x57FA;&#x4E8E;&#x5B57;&#x7684;noisy channel model&#xFF0C;&#x97E9;&#x8BED;&#x662F;&#x8868;&#x97F3;&#x6587;&#x5B57;&#xFF0C;&#x6BCF;&#x4E2A;&#x5B57;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x5176;&#x6784;&#x6210;&#x62FC;&#x8BFB;&#x51FA;&#x6765;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x53E6;&#x5916;&#x5355;&#x72EC;&#x7684;&#x62FC;&#x97F3;&#x7CFB;&#x7EDF;&#xFF0C;&#x5982;&#x679C;&#x5C06;&#x5B57;&#x7EA7;&#x522B;&#x7C92;&#x5EA6;&#x8FDB;&#x4E00;&#x6B65;&#x7EC6;&#x5316;&#x6210;&#x97F3;&#x8282;&#x7EA7;&#x522B;&#xFF0C;&#x53EF;&#x4EE5;&#x964D;&#x4F4E;&#x6570;&#x636E;&#x7A00;&#x758F;&#x7684;&#x95EE;&#x9898;&#x3002;&#x8BED;&#x97F3;&#x8BC6;&#x522B;&#x7684;&#x8F93;&#x51FA;&#x5E8F;&#x5217;&#x7531;$W = {w_1},{w_2},...,{w_3}$&#x66FF;&#x6362;&#x4E3A;$S = {s_1},{s_2},...,{s_n}$&#xFF0C;&#x516C;&#x5F0F;&#x6539;&#x9020;&#x5982;&#x4E0B;&#xFF1A;<br>$$\hat W = \arg \mathop {\max }\limits_W P\left( {W|S} \right)$$<br>&#x7C7B;&#x4F3C;&#x5730;&#xFF0C;&#x5E94;&#x7528;&#x8D1D;&#x53F6;&#x65AF;&#x6CD5;&#x5219;&#xFF0C;&#x5728;&#x6761;&#x4EF6;&#x6982;&#x7387;&#x516C;&#x5F0F;&#x4E2D;&#x5F15;&#x5165;&#x97F3;&#x8282;&#x7684;&#x4E2D;&#x95F4;&#x53D8;&#x91CF;&#xFF0C;&#x8FDB;&#x4E00;&#x6B65;&#x5206;&#x89E3;&#xFF1A;<br>$$P\left( {w|s} \right) = {{P\left( {s|w} \right)P\left( w \right)} \over {P\left( s \right)}} \propto {P\left( {s|w} \right)P\left( w \right)} = \left( {\sum\limits_x {P\left( {s|x} \right)P\left( {x|w} \right)} } \right)P\left( w \right)$$<br>&#x516C;&#x5F0F;&#x548C;&#x539F;&#x6587;&#x7565;&#x6709;&#x4E0D;&#x540C;&#x539F;&#x6587;&#x516C;&#x5F0F;&#x6700;&#x540E;&#x4E3A;&#x7EA6;&#x7B49;&#x53F7;$\approx P\left( {s|x} \right)P\left( {x|w} \right)P\left( w \right)$&#xFF0C;&#x611F;&#x89C9;&#x6709;&#x70B9;&#x95EE;&#x9898;&#x3002;&#x6700;&#x7EC8;&#x516C;&#x5F0F;&#x5F62;&#x6001;&#x4E3A;&#xFF1A;<br>$$\hat W = \arg \mathop {\max }\limits_W P\left( W \right)P\left( {X|W} \right)P\left( {S|X} \right)$$<br>&#x8FD9;&#x4E2A;&#x5F0F;&#x5B50;&#x7C7B;&#x4F3C;&#x4E8E;&#x8BED;&#x97F3;&#x8BC6;&#x522B;&#x91CC;&#x7684;&#x9690;&#x9A6C;&#x5C14;&#x53EF;&#x592B;&#x6A21;&#x578B;&#x3002;$P\left( {S|X} \right)$&#x4E3A;&#x58F0;&#x5B66;&#x6A21;&#x578B;&#xFF0C;&#x800C;$P\left( {X|W} \right)$&#x4E3A;&#x53D1;&#x97F3;&#x8BCD;&#x5178;&#x3002;&#x5728;&#x5B9E;&#x9A8C;&#x4E2D;&#x4F5C;&#x8005;&#x7528;&#x4E86;2&#x4E2A;&#x5B57;&#x8282;&#x7684;&#x4E8C;&#x9636;&#x9A6C;&#x5C14;&#x79D1;&#x592B;&#x6A21;&#x578B;&#x3002;<br>&#x7B80;&#x4ECB;&#x6587;&#x7AE0;&#x4E2D;&#x6574;&#x4F53;&#x7EA0;&#x9519;&#x6D41;&#x7A0B;&#xFF1A;</p>
<ol>
<li>&#x8BED;&#x4E49;&#x7EA7;&#x522B;&#x7EA0;&#x9519;&#xFF1A;&#x4F7F;&#x7528;Lexico-Semantic Pattern(LSP)[16, Jung, 2003] (LSP&#x5C06;query&#x62BD;&#x8C61;&#x4E3A;&#x8BCD;&#x6CD5;&#x6A21;&#x677F;&#xFF0C;&#x7C7B;&#x4F3C;POSTAG&#x5DE5;&#x4F5C;&#xFF0C;&#x4E3E;&#x4F8B; &#x201C;Recretion coach&#x201D;-&gt;&#x201D;%hobby @position&#x201D;)&#x3002;&#x901A;&#x8FC7;&#x9884;&#x5148;&#x6536;&#x96C6;&#x7684;(&#x8BDD;&#x672F;)&#x6A21;&#x677F;&#x6570;&#x636E;&#x5E93;&#x8FDB;&#x884C;&#x8BED;&#x4E49;&#x7EA7;&#x522B;&#x7EA0;&#x9519;&#xFF0C;&#x5728;&#x76F8;&#x540C;&#x7684;LSP&#x6807;&#x7B7E;&#x4E0B;&#x627E;&#x5230;&#x6570;&#x636E;&#x5E93;&#x91CC;&#x9762;&#x7F16;&#x8F91;&#x8DDD;&#x79BB;&#x6700;&#x76F8;&#x4F3C;&#x7684;&#x5019;&#x9009;&#xFF0C;&#x5C06;&#x8BED;&#x4E49;&#x7EA7;&#x522B;LSP&#x6807;&#x7B7E;&#x9519;&#x8BEF;&#x8FDB;&#x884C;&#x66FF;&#x6362;&#x3002;</li>
<li>&#x8BCD;&#x6C47;&#x7EA7;&#x522B;&#x7EA0;&#x9519;&#xFF1A;&#x5BF9;&#x4E8E;LSP&#x6807;&#x7B7E;&#x9519;&#x8BEF;&#x548C;&#x8BCD;&#x6C47;&#x9519;&#x8BEF;&#x60C5;&#x51B5;&#xFF0C;&#x901A;&#x8FC7;&#x524D;&#x6587;&#x4ECB;&#x7ECD;&#x7684;&#x57FA;&#x4E8E;&#x97F3;&#x8282;&#x7684;noisy channel model&#x8FDB;&#x884C;&#x53EC;&#x56DE;&#xFF0C;&#x5E76;&#x4EE5;&#x52A8;&#x6001;&#x89C4;&#x5212;&#x65B9;&#x6CD5;&#x8FDB;&#x884C;&#x52A8;&#x6001;&#x6C42;&#x89E3;&#x3002;</li>
</ol>
<p><strong>&#x8BBA;&#x6587;7</strong> &#x300A;A hybrid approach to automatic Chinese text checking and error correction&#x300B;[19, Ren, 2001]<br>&#x4F5C;&#x8005;&#x5728;&#x8FD9;&#x7BC7;&#x8BBA;&#x6587;&#x91CC;&#x9762;&#x63D0;&#x51FA;&#x4F7F;&#x7528;&#x89C4;&#x5219;+&#x7EDF;&#x8BA1;&#x8FDB;&#x884C;&#x9519;&#x8BEF;&#x8BC6;&#x522B;</p>
<ol>
<li>&#x89C4;&#x5219;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;&#x4E2D;&#x6587;&#x8BED;&#x6CD5;&#x4E2D;&#x201C;&#x6570;&#x8BCD;+&#x91CF;&#x8BCD;+&#x540D;&#x8BCD;&#x201D;&#x3002;&#x901A;&#x8FC7;&#x8BED;&#x6CD5;&#x89C4;&#x5219;&#x8FDB;&#x884C;&#x9519;&#x8BEF;&#x8BC6;&#x522B;&#x3002;</li>
<li>&#x7EDF;&#x8BA1;<br> a. &#x8BCD;&#x9891;<br> b. &#x76F8;&#x90BB;&#x8BCD;&#x4E4B;&#x95F4;&#x7684;&#x5171;&#x73B0;&#x77E9;&#x9635;&#xFF0C;&#x4F8B;&#x5982;&#x201C;&#x767E;&#x5EA6;&#x641C;&#x7D22;&#x201D;&#xFF0C; &#x201C;&#x767E;&#x5EA6;&#x201D;&#x548C;&#x201C;&#x641C;&#x7D22;&#x201D;&#x5171;&#x73B0;<br> c. &#x76F8;&#x90BB;&#x5B57;&#x4E4B;&#x95F4;&#x7684;&#x5171;&#x73B0;&#x77E9;&#x9635;&#xFF0C;&#x4F8B;&#x5982;&#x201C;&#x7F51;&#x76D8;&#x201D;&#xFF0C; &#x201C;&#x7F51;&#x201D;&#x548C;&#x201C;&#x76D8;&#x201D;&#x5171;&#x73B0;<br> d. &#x76F8;&#x90BB;&#x8BCD;&#x5185;&#x90E8;&#x7684;&#x76F8;&#x90BB;&#x5B57;&#xFF0C;&#x4F8B;&#x5982;&#x201C;&#x767E;&#x5EA6;&#x641C;&#x7D22;&#x201D;&#xFF0C; &#x201C;&#x5EA6;&#x201D;&#x548C;&#x201C;&#x641C;&#x201D;<br> e. &#x5B57;&#x8BCD;&#x4F4D;&#x7F6E;&#x5173;&#x7CFB;&#x3002;&#x4F8B;&#x5982;&#x5B57;&#x4F4D;&#x4E8E;&#x8BCD;&#x7684;&#x7B2C;N&#x4E2A;&#x4F4D;&#x7F6E;&#xFF0C;&#x4E5F;&#x80FD;&#x63D0;&#x4F9B;&#x5F88;&#x5F3A;&#x7684;&#x7EDF;&#x8BA1;&#x4FE1;&#x606F;&#xFF0C;&#x7EA6;&#x6709;1200&#x4E2A;&#x6C49;&#x5B57;&#x53EA;&#x51FA;&#x73B0;&#x5728;&#x8BCD;&#x7B2C;&#x4E00;&#x4F4D;&#xFF0C;3008&#x4E2A;&#x6C49;&#x5B57;&#x53EA;&#x4F1A;&#x51FA;&#x73B0;&#x5728;&#x7B2C;&#x4E8C;&#x4E2A;&#x3002;</li>
</ol>
<p><strong>&#x8BBA;&#x6587;8</strong> &#x300A;Neural Language Correction with Character-Based Attention&#x300B;[20, zhang, 2016]<br>&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x4ECB;&#x7ECD;NN&#x5728;&#x82F1;&#x6587;&#x7EA0;&#x9519;&#x91CC;&#x9762;&#x7684;&#x5E94;&#x7528;&#xFF0C;&#x7B80;&#x4ECB;&#x5982;&#x4E0B;&#xFF1A;</p>
<ol>
<li>&#x4F5C;&#x8005;&#x4F7F;&#x7528;&#x4E86;&#x91D1;&#x5B57;&#x5854;&#x7ED3;&#x6784;&#x7684;GRU-RNN&#x8BAD;&#x7EC3;&#x4E86;&#x4E00;&#x4E2A;&#x7EA0;&#x9519;&#x573A;&#x666F;&#x4E0B;&#x7684;encoder decoder&#x7F51;&#x7EDC;&#xFF0C;&#x89E3;&#x7801;&#x8FC7;&#x7A0B;&#x4F7F;&#x7528;&#x4E86;attention&#x673A;&#x5236;&#x3002;</li>
<li>&#x63A5;&#x7740;&#x91C7;&#x7528;beam search&#x7B97;&#x6CD5;&#xFF0C;&#x7ED3;&#x5408;&#x4F20;&#x7EDF;Ngram&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x6A21;&#x578B;&#xFF0C;&#x8FDB;&#x884C;&#x6700;&#x4F73;&#x7ED3;&#x679C;&#x5E8F;&#x5217;&#x9009;&#x62E9;&#x3002;</li>
<li>&#x5F97;&#x5230;&#x7ED3;&#x679C;&#x5E8F;&#x5217;&#x4EE5;&#x540E;&#xFF0C;&#x518D;&#x91C7;&#x7528;&#x4E00;&#x4E2A;&#x591A;&#x5C42;&#x611F;&#x77E5;&#x673A;&#x5206;&#x7C7B;&#x5668;&#x5BF9;&#x7EA0;&#x9519;&#x4F4D;&#x7F6E;&#x8FDB;&#x884C;&#x662F;&#x5426;&#x4E3A;&#x6B63;&#x786E;&#x7EA0;&#x9519;&#x7684;&#x5224;&#x65AD;&#x3002;&#x591A;&#x5C42;&#x611F;&#x77E5;&#x673A;&#x4F7F;&#x7528;&#x7F16;&#x8F91;&#x8DDD;&#x79BB;&#x76F8;&#x5173;&#x7279;&#x5F81;&#x548C;&#x8BCD;&#x5411;&#x91CF;&#x7279;&#x5F81;&#xFF0C;&#x5176;&#x4E2D;&#x8BCD;&#x5411;&#x91CF;&#x7279;&#x5F81;&#x4E3A;GloVe&#x8BAD;&#x7EC3;&#x51FA;&#x7684;100&#x7EF4;&#x5411;&#x91CF;&#x3002;</li>
</ol>
<p>[1] Yu J, Li Z. Chinese Spelling Error Detection and Correction Based on Language Model, Pronunciation, and Shape[C]// Cips-Sighan Joint Conference on Chinese Language Processing. 2014:220-223. &#xFF08;&#x6CE8;&#xFF1A;&#x8D44;&#x6E90;&#xFF1A;&#x5F62;&#x8FD1;&#x8BCD;&#x5178;&#xFF0C;&#x97F3;&#x8FD1;&#x8BCD;&#x5178;&#x6765;&#x81EA;Yeh et al. 2013&#xFF09;<br>[2] Lee L H, Yu L C, Chang L P. Guest Editorial: Special Issue on Chinese as a Foreign Language[J]. &#x4E2D;&#x6587;&#x8A08;&#x7B97;&#x8A9E;&#x8A00;&#x5B78;&#x671F;&#x520A;, 2015, 20:i-vi.<br>[3] Zhang S, Xiong J, Hou J, et al. HANSpeller++: A Unified Framework for Chinese Spelling Correction[C]// Eighth Sighan Workshop on Chinese Language Processing. 2015.<br>[4] Chuan-Jie Lin and Wei-Cheng Chu (2015). &#x201C;A Study on Chinese Spelling Check Using Confusion Sets and N-gram Statistics,&#x201D; International Journal of Computational Linguistics and Chinese Language Processing, to be appeared.<br>[5] Chang T H, Sung Y T, Hong J F. Automatically Detecting Syntactic Errors in Sentences Written by Learners of Chinese as a Foreign Language[J]. &#x4E2D;&#x6587;&#x8A08;&#x7B97;&#x8A9E;&#x8A00;&#x5B78;&#x671F;&#x520A;, 2015, 20.<br>[6] Yeh J F, Yeh C K. Automatic Classification of the &#x201C;De&#x201D; Word Usage for Chinese as a Foreign Language[J]. &#x4E2D;&#x6587;&#x8A08;&#x7B97;&#x8A9E;&#x8A00;&#x5B78;&#x671F;&#x520A;, 2015, 20.<br>[7] Mochizuki K, Sano H, Shen Y M, et al. Cross-Linguistic Error Types of Misused Chinese Based on Learners[J]. &#x4E2D;&#x6587;&#x8A08;&#x7B97;&#x8A9E;&#x8A00;&#x5B78;&#x671F;&#x520A;, 2015, 20.<br>[8] Hsun-wen Chiu, Jian-cheng Wu, Jason S. Chang, Chinese Spelling Checker Based on Statistical Machine Translation, colling 2013, 2013<br>[9] Chao-Lin Liu, Min-Hua Lai, Kan-Wen Tien, Yi-Hsuan Chuang, Shih-Hung Wu, &#xFF06; Chia-Ying Lee (2011). Visually and phonologically similar characters in incorrect Chinese words: Analyses, identification, and applications. ACM Trans. Asian Lang, Inform. Process. 10, 2, Article 10, pages 39, June 2011.<br>[10] Yeh J F, Lu Y Y, Lee C H, et al. Chinese Word Spelling Correction Based on Rule Induction[C] // Cips-Sighan Joint Conference on Chinese Language Processing. 2014:139-145.<br>[11] JF Yeh&#xFF0C;SF Li&#xFF0C;MR Wu&#xFF0C;WY Chen&#xFF0C;MC Su Chinese Word Spelling Correction Based on N-gram Ranked Inverted Index List, In Six International Joint Conference on Natural Language Processing, 2013<br>[12] Lodwich A. Understanding Error Correction and its Role as Part of the Communication Channel in Environments composed of Self-Integrating Systems[J]. 2016.<br>[13] Jeong M, Kim B, Lee G G. Using higher-level linguistic knowledge for speech recognition error correction in a spoken Q/A dialog[C]// Hlt-Naacl Special Workshop on Higher-Level Linguistic Information for Speech Processing. 2004:48&#x2013;55.<br>[14] Wang X, Li L. An N-gram based Chinese syllable evaluation approach for speech recognition error detection[C]// International Conference on Natural Language Processing and Knowledge Engineering, 2009. Nlp-Ke. IEEE, 2009:1-6.<br>[15] Voll K, Atkins S, Forster B. Improving the utility of speech recognition through error detection.[J]. Journal of Digital Imaging, 2008, 21(4):371.<br>[16] P. F. Brown, J. Cocke, S. A. Della Pietra, V. J. Della Pietra, F. Jelinek, J. D. Lafferty, R. L. Mercer, and P. S. Roossin. 1990. A Statistical Approach to Machine Translation. Computational Linguistics, 16(2):79-85<br>[17] Hanmin Jung, Gary Geunbae Lee, Wonseug Choi, KyungKoo Min, and Jungyun Seo. 2003. Multilingual question answering with high portability on relational databases. IEICE transactions on information and systems, E-86D(2):306-315.<br>[18] Lin C J, Chen S H. NTOU Chinese Grammar Checker for CGED Shared Task[C]// The Workshop on Natural Language Processing Techniques for Educational Applications. 2015:15-19. &#x4F5C;&#x8005;&#x6839;&#x636E;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x5B9A;&#x4E49;&#x4E86;&#x9519;&#x8BEF;&#x8BC6;&#x522B;&#x51FD;&#x6570;&#xFF0C;&#x4F7F;&#x7528;svm&#x5224;&#x65AD;&#x51FA;&#x9519;&#x4F4D;&#x7F6E;&#x3002;<br>[19] Ren F, Shi H, Zhou Q. A hybrid approach to automatic Chinese text checking and error correction[C]// IEEE International Conference on Systems, Man, and Cybernetics. IEEE, 2001:1693-1698 vol.3.<br>[20] Xie Z, Avati A, Arivazhagan N, et al. Neural Language Correction with Character-Based Attention[J]. 2016.</p>
<p>&#x8BBA;&#x6587;TODO List&#xFF1A;<br>Correcting Chinese Spelling Errors with Word Lattice Decoding<br>Spelling checking using conditional random fields with feature induction for secondary language learners<br>Improving the Utility of Speech Recognition Through Error Detection<br><a href="http://www.org.buffalo.edu/RTU/papers/assisted/citations/KimberlyVollPhD.pdf" target="_blank" rel="external">A METHODOLOGY OF ERROR DETECTION: IMPROVING SPEECH RECOGNITION IN RADIOLOGY</a><br><a href="https://sigport.org/documents/directed-automatic-speech-transcription-error-correction-using-bidirectional-lstm" target="_blank" rel="external">DIRECTED AUTOMATIC SPEECH TRANSCRIPTION ERROR CORRECTION USING BIDIRECTIONAL LSTM</a><br>A rule based Chinese spelling and grammar detection system utility. 2012. </p>
<p>&#xFF08;&#x6CE8;&#xFF1A;//&#x5386;&#x5E74;&#x4E3E;&#x529E;&#x7EA0;&#x9519;&#x5927;&#x4F1A;SIGHAN workshop&#x81EA;IJCNLP 2013&#x5E74;&#x5F00;&#x59CB;&#x3002;&#xFF09;<br>&#x540E;&#x7EED;&#x4F1A;&#x6574;&#x7406;&#x51FA;&#x4E00;&#x4E9B;ctr&#x548C;online learning &#x76F8;&#x5173;&#x7684;&#x7B14;&#x8BB0;</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&lt;strong&gt;&amp;#x6458;&amp;#x8981;&amp;#xFF1A;&lt;/strong&gt;&amp;#x7EA0;&amp;#x9519;&amp;#x6A21;&amp;#x5757;&amp;#x5728;&amp;#x641C;&amp;#x7D22;&amp;#x5F15;&amp;#x64CE;&amp;#x4F5C;&amp;#x4E3A;&amp;#x5165;
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="error correction" scheme="https://mlnote.com/tags/error-correction/"/>
    
      <category term="spelling correction" scheme="https://mlnote.com/tags/spelling-correction/"/>
    
  </entry>
  
  <entry>
    <title>浅谈Batch Normalization及其Caffe实现</title>
    <link href="https://mlnote.com/2016/12/20/Neural-Network-Batch-Normalization-and-Caffe-Code/"/>
    <id>https://mlnote.com/2016/12/20/Neural-Network-Batch-Normalization-and-Caffe-Code/</id>
    <published>2016-12-19T16:00:00.000Z</published>
    <updated>2016-12-20T14:54:48.884Z</updated>
    
    <content type="html"><![CDATA[<p><strong>&#x6458;&#x8981;:</strong>2015&#x5E74;2&#x6708;&#x4EFD;&#xFF0C;Google&#x548C;MSRA&#x7684;paper&#x76F8;&#x7EE7;&#x5728;<a href="https://arxiv.org/" target="_blank" rel="external">arxiv.org</a>&#x4E0A;&#x6A2A;&#x7A7A;&#x51FA;&#x4E16;&#xFF0C;&#x5BA3;&#x5E03;&#x5728;ImagenNet&#x56FE;&#x50CF;&#x6570;&#x636E;&#x96C6;&#x4E0A;&#x53D6;&#x5F97;&#x4E86;&#x6BD4;&#x4EBA;&#x7C7B;&#x66F4;&#x9AD8;&#x7684;&#x8BC6;&#x522B;&#x80FD;&#x529B;. &#x6B64;&#x7A81;&#x7834;&#x610F;&#x4E49;&#x91CD;&#x5927;&#xFF0C;&#x6587;&#x7AE0;&#x53D1;&#x5E03;&#x540E;&#x5F15;&#x8D77;&#x4E00;&#x7247;&#x70ED;&#x6F6E;&#xFF0C;&#x5728;&#x56FE;&#x50CF;&#x9886;&#x57DF;&#x5177;&#x6709;&#x666E;&#x9002;&#x7684;&#x5E94;&#x7528;.<br>&#x672C;&#x6587;&#x4E2D;&#x7B14;&#x8005;&#x4EC5;&#x5C31;Google&#x7684;Batch Normalization&#x8C08;&#x8C08;&#x7C97;&#x6D45;&#x7684;&#x7406;&#x89E3;.     </p>
<h4 id="Motivation"><a href="#Motivation" class="headerlink" title="Motivation"></a>Motivation</h4><p>1.1 internal convariate shit<br>&#x4F20;&#x7EDF;&#x7684;&#x6D45;&#x5C42;&#x5B66;&#x4E60;&#x6A21;&#x578B;&#xFF0C;&#x5982;&#x5355;&#x5C42;&#x7684;logistic regression, SVMs&#x4EE5;&#x53CA;2&#x5C42;&#x7ED3;&#x6784;&#x7684;FMs&#x7B49;&#x6A21;&#x578B;&#xFF0C;&#x6BCF;&#x6B21;&#x66F4;&#x65B0;&#x53C2;&#x6570;&#x5747;&#x4ECE;&#x7A33;&#x5B9A;&#x7684;&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#x4E0A;&#x62DF;&#x5408;. &#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x56E0;&#x5176;&#x591A;&#x5C42;&#x7ED3;&#x6784;&#xFF0C;&#x6D45;&#x5C42;&#x8F93;&#x51FA;&#x4F5C;&#x4E3A;&#x4E0B;&#x4E00;&#x5C42;&#x8F93;&#x5165;.&#x9664;&#x4E86;&#x68AF;&#x5EA6;&#x6D88;&#x5931;&#x95EE;&#x9898;&#x5916;&#xFF0C;&#x5728;&#x5B66;&#x4E60;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x6BCF;&#x5C42;&#x7F51;&#x7EDC;&#x7684;&#x53C2;&#x6570;&#x4E0D;&#x65AD;&#x66F4;&#x65B0;&#xFF0C;&#x5BFC;&#x81F4;&#x4E0B;&#x4E00;&#x5C42;&#x8F93;&#x5165;&#x7684;&#x5206;&#x5E03;&#x4E0D;&#x65AD;&#x53D8;&#x5316;. &#x56E0;&#x800C;&#x65E0;&#x6CD5;&#x8DDF;&#x6D45;&#x5C42;&#x6A21;&#x578B;&#x4E00;&#x6837;&#xFF0C;&#x6BCF;&#x6B21;&#x90FD;&#x5728;&#x7A33;&#x5B9A;&#x7684;&#x6570;&#x636E;&#x4E0A;&#x5B66;&#x4E60;&#x53C2;&#x6570;. &#x9664;&#x4E86;&#x964D;&#x4F4E;&#x5B66;&#x4E60;&#x7387;&#x5916;&#xFF0C;&#x8FD8;&#x8981;&#x521D;&#x59CB;&#x5316;&#x4E00;&#x7EC4;&#x826F;&#x597D;&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x8C03;&#x5F97;&#x4E00;&#x624B;&#x597D;&#x53C2;.<br>1.2 &#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x521D;&#x59CB;&#x5316;&#x4E00;&#x7EC4;&#x826F;&#x597D;&#x7684;&#x53C2;&#x6570;<br>&#x5B66;&#x4E60;&#x8FC7;<a href="http://deeplearning.stanford.edu/tutorial/" target="_blank" rel="external">UFLDL</a>&#x6216;&#x8005;&#x505A;&#x8FC7;&#x56FE;&#x50CF;&#x5B9E;&#x9A8C;&#x7684;&#x540C;&#x5B66;&#x4F1A;&#x53D1;&#x73B0;&#x5BF9;&#x6570;&#x636E;&#x8FDB;&#x884C;&#x9884;&#x5904;&#x7406;&#xFF0C;&#x4F8B;&#x5982;PCA Whitening&#x6216;&#x8005;&#x7B80;&#x5355;&#x7684;z-score&#x90FD;&#x662F;&#x53EF;&#x4EE5;&#x52A0;&#x901F;&#x6536;&#x655B;&#x7684;.<br>&#x9996;&#x5148;&#x56FE;&#x50CF;&#x6570;&#x636E;&#x662F;&#x5C40;&#x90E8;&#x9AD8;&#x5EA6;&#x76F8;&#x5173;&#x7684;&#xFF0C;&#x5E76;&#x4E14;&#x4E2A;&#x7EF4;&#x5EA6;&#x4E0A;&#x7684;&#x6570;&#x636E;&#x53D6;&#x503C;&#x5728;[0,255]&#x4E4B;&#x95F4;. &#x7B80;&#x5316;&#x5230;2&#x7EF4;&#xFF0C;&#x56FE;&#x50CF;&#x6570;&#x636E;&#x4EC5;&#x4F1A;&#x843D;&#x5230;&#x7B2C;&#x4E00;&#x8C61;&#x9650;&#xFF0C;&#x5982;&#x4E0B;&#x56FE;:<br><img src="/2016/12/20/Neural-Network-Batch-Normalization-and-Caffe-Code/./1482241848230.png" alt=""><br>&#x56FE;&#x7247;&#x6765;&#x81EA;happynear&#x7684;&#x535A;&#x5BA2;<sup><a href="http://blog.csdn.net/happynear/article/details/44238541" target="_blank" rel="external">2</a></sup><br>&#x5047;&#x8BBE;&#x6FC0;&#x6D3B;&#x51FD;&#x6570;&#x4E3A;ReLu$f(x) = \text{max}(Wx + b)$, &#x5982;&#x679C;&#x4E0D;&#x901A;&#x8FC7;&#x7CBE;&#x5FC3;&#x8BBE;&#x8BA1;&#x6216;&#x8005;fine-tune&#xFF0C;&#x800C;&#x968F;&#x673A;&#x521D;&#x59CB;&#x5316;$W$, &#x5B66;&#x4E60;&#x7684;&#x524D;&#x671F;&#x9636;&#x6BB5;&#x5F88;&#x53EF;&#x80FD;&#x662F;&#x56FE;&#x4E2D;&#x7684;&#x7EFF;&#x8272;&#x865A;&#x7EBF;&#xFF0C;&#x9700;&#x8981;&#x7ECF;&#x8FC7;&#x957F;&#x65F6;&#x95F4;&#x7684;&#x8FED;&#x4EE3;&#x624D;&#x80FD;&#x6536;&#x655B;&#x5230;&#x7D2B;&#x8272;&#x865A;&#x7EBF;&#xFF0C;&#x5F97;&#x5230;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x62DF;&#x5408;&#x7ED3;&#x679C;&#x3002;<br>&#x5982;&#x679C;&#x5BF9;&#x6570;&#x636E;&#x505A;&#x9884;&#x5904;&#x7406;&#xFF0C;&#x4F8B;&#x5982;z-score/PCA whitening&#x7B49;&#x7EBF;&#x6027;&#x53D8;&#x5316;&#xFF0C;&#x6620;&#x5C04;&#x5230;0&#x5747;&#x503C;&#x5355;&#x4F4D;&#x65B9;&#x5DEE;&#x7684;&#x5E73;&#x79FB;&#x540E;&#x7A7A;&#x95F4;&#x91CC;&#xFF0C;&#x90A3;&#x4E48;&#x6536;&#x655B;&#x6548;&#x679C;&#x4F1A;&#x6709;&#x663E;&#x8457;&#x63D0;&#x5347;&#x3002;&#x56E0;&#x4E3A;&#x51CF;&#x53BB;&#x5747;&#x503C;&#x540E;&#xFF0C;&#x6570;&#x636E;&#x80FD;&#x5206;&#x6563;&#x5230;&#x5404;&#x4E2A;&#x8C61;&#x9650;&#xFF1B;&#x66F4;&#x8FDB;&#x4E00;&#x6B65;&#x7684;&#xFF0C;&#x5BF9;&#x6570;&#x636E;&#x505A;&#x53BB;&#x76F8;&#x5173;&#x64CD;&#x4F5C;&#xFF0C;&#x63D0;&#x9AD8;&#x6536;&#x655B;&#x6548;&#x7387;.<br>1.3 &#x4E3A;&#x4EC0;&#x4E48;&#x505A;&#x7684;&#x662F;&#x7EBF;&#x6027;&#x53D8;&#x6362;&#x800C;&#x4E0D;&#x80FD;&#x505A;&#x975E;&#x7EBF;&#x6027;&#x53D8;&#x6362;&#x5462;&#xFF1F;<br>Batch Normalization&#x662F;&#x6570;&#x636E;&#x5C42;&#x9762;&#x7684;&#x6539;&#x8FDB;&#xFF0C;&#x8981;&#x4FDD;&#x7559;&#x6570;&#x636E;&#x7684;&#x539F;&#x8C8C;&#xFF0C;&#x5373;&#x4FDD;&#x7559;&#x7279;&#x5F81;&#x7684;&#x975E;&#x7EBF;&#x6027;&#x5173;&#x7CFB;.</p>
<h4 id="Normalization-via-Mini-Batch-Statistics"><a href="#Normalization-via-Mini-Batch-Statistics" class="headerlink" title="Normalization via Mini-Batch Statistics"></a>Normalization via Mini-Batch Statistics</h4><p><img src="/2016/12/20/Neural-Network-Batch-Normalization-and-Caffe-Code/./1482241891953.png" alt="&#x7B97;&#x6CD5;&#x793A;&#x610F;&#x56FE;"><br>&#x524D;&#x5411;&#x53CD;&#x9988;&#x65F6;&#xFF0C;&#x5728;&#x6BCF;&#x4E2A;Batch&#x4E2D;&#xFF0C;&#x4ECE;&#x7279;&#x5F81;&#x7EF4;&#x5EA6;&#x4E0A;&#x8BA1;&#x7B97;&#x51FA;mini-batch&#x548C;mini-batch variance&#x4E4B;&#x540E;&#x5B8C;&#x6210;normalization.<br>&#x7406;&#x60F3;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x5747;&#x503C;&#x548C;&#x65B9;&#x5DEE;&#x5E94;&#x8BE5;&#x662F;&#x5728;&#x6574;&#x4E2A;&#x6570;&#x636E;&#x96C6;&#x4E0A;&#x8BA1;&#x7B97;&#x7684;&#xFF0C;&#x7136;&#x800C;&#x4E0D;&#x80FD;&#x7A7F;&#x8D8A;&#x5F97;&#x5230;unseen  data&#xFF0C;&#x56E0;&#x6B64;&#xFF0C;&#x9000;&#x800C;&#x6C42;&#x5176;&#x6B21;&#xFF0C;&#x7528;Batch&#x4E2D;&#x7EDF;&#x8BA1;&#x7684;&#x5747;&#x503C;&#x548C;&#x65B9;&#x5DEE;&#x4F5C;&#x4E3A;&#x6574;&#x4E2A;&#x6570;&#x636E;&#x96C6;&#x7684;&#x4F30;&#x8BA1;.<br>&#x5B8C;&#x6210;normalization&#x4E4B;&#x540E;&#x7B97;&#x6CD5;&#x4F3C;&#x4E4E;&#x8BE5;&#x7ED3;&#x675F;&#x4E86;&#xFF0C;&#x4F46;&#x662F;&#x5982;&#x679C;&#x628A;&#x7279;&#x5F81;&#x90FD;normalize&#x5230;$\cal{N}(0,1)$&#xFF0C;&#x90A3;&#x4E48;&#x56E0;&#x4E3A;&#x7279;&#x5F81;&#x53EA;&#x5728;&#x6FC0;&#x6D3B;&#x51FD;&#x6570;&#x4E0A;&#x7EBF;&#x6027;&#x533A;&#x57DF;&#x4E0A;&#x6FC0;&#x6D3B;&#xFF0C;&#x4F1A;&#x964D;&#x4F4E;&#x7279;&#x5F81;&#x7684;&#x8868;&#x8FBE;&#x80FD;&#x529B;. &#x5982;&#x4E0B;&#x56FE;&#x865A;&#x7EBF;&#x548C;Sigmoid&#x66F2;&#x7EBF;&#x7684;&#x91CD;&#x53E0;&#x7684;&#x90E8;&#x5206;.<br><img src="/2016/12/20/Neural-Network-Batch-Normalization-and-Caffe-Code/./1482241957671.png" alt=""></p>
<p>&#x5BB9;&#x6613;&#x6DF7;&#x6DC6;&#x7684;&#x662F;&#xFF0C;Hinton&#x8001;&#x7237;&#x5B50;&#x66FE;&#x5728;&#x516C;&#x5F00;&#x8BFE;Neural Networks for Machine Learning<sup><a href="https://www.coursera.org/learn/neural-networks" target="_blank" rel="external">3</a></sup>&#x91CC;&#x63D0;&#x5230;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x7684;weight&#x5E94;&#x8BE5;&#x521D;&#x59CB;&#x5316;&#x5728;$\cal{N}(0,1)$&#x9644;&#x8FD1;&#xFF0C;&#x9632;&#x6B62;&#x68AF;&#x5EA6;&#x6D88;&#x5931;.<br><img src="/2016/12/20/Neural-Network-Batch-Normalization-and-Caffe-Code/./1482241985728.png" alt=""></p>
<p>&#x4F46;&#x662F;&#xFF0C;&#x5982;&#x679C;&#x4F7F;&#x7528;PReLU&#x6216;&#x8005;ELU&#x7B49;&#x6FC0;&#x6D3B;&#x51FD;&#x6570;&#xFF0C;&#x662F;&#x4E0D;&#x4F1A;&#x6709;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x7684;!</p>
<p>&#x9488;&#x5BF9;&#x4E0A;&#x8FF0;&#x95EE;&#x9898;&#xFF0C;&#x5728;&#x7B97;&#x6CD5;&#x7ED3;&#x675F;&#x4E4B;&#x524D;&#xFF0C;&#x4F5C;&#x8005;&#x5BF9;normalization&#x4E4B;&#x540E;&#x7684;&#x6570;&#x636E;$\hat{x_i}$&#x8BBE;&#x7F6E;&#x4E86;&#x4E24;&#x4E2A;&#x53C2;&#x6570;$\gamma$&#x548C;$\beta$. &#x5F88;&#x663E;&#x7136;&#x5982;&#x679C;$\gamma=\sqrt{\sigma^2_{\beta}}$,$\beta=\mu_{\beta}$&#xFF0C;&#x90A3;&#x4E48;&#x5BF9;$x_i$ scale<br> and shift&#x4E4B;&#x540E;&#x7684;$y_i$&#x5C31;&#x8FD8;&#x539F;&#x6210;$x_i$&#x4E86;. &#x81F3;&#x4E8E;&#x662F;&#x5426;&#x9700;&#x8981;&#x5BF9;$y_i$&#x8FDB;&#x884C;&#x8FD8;&#x539F;&#xFF0C;&#x7531;&#x6784;&#x5EFA;&#x597D;&#x7684;&#x6A21;&#x578B;&#x81EA;&#x52A8;&#x4ECE;&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#x4E2D;&#x5B66;&#x4E60;&#x51B3;&#x5B9A;&#xFF0C; learning from data.     </p>
<p>&#x53CD;&#x5411;&#x4F20;&#x64AD;&#x65F6;&#xFF0C;SGD&#x4E5F;&#x5728;Batch&#x4E2D;&#x8BA1;&#x7B97;&#xFF0C;&#x68AF;&#x5EA6;&#x516C;&#x5F0F;&#x5F88;&#x7B80;&#x5355;&#xFF0C;&#x8BF7;&#x5927;&#x5BB6;&#x505C;&#x4E0B;10&#x5206;&#x949F;&#xFF0C;&#x5728;&#x767D;&#x7EB8;&#x4E0A;&#x63A8;&#x5BFC;&#x4E00;&#x904D;&#xFF0C;&#x4FDD;&#x8BC1;&#x6E05;&#x695A;&#x7406;&#x89E3;&#x94FE;&#x5F0F;&#x6CD5;&#x5219;&#x8BA1;&#x7B97;&#x68AF;&#x5EA6;&#x7684;&#x601D;&#x8DEF;. &#x8FD9;&#x5F88;&#x91CD;&#x8981;&#xFF0C;&#x56E0;&#x4E3A;&#x76EE;&#x524D;&#x6240;&#x6709;&#x7684;&#x5B66;&#x4E60;&#x7B97;&#x6CD5;&#x90FD;&#x662F;&#x57FA;&#x4E8E;&#x94FE;&#x5F0F;&#x6CD5;&#x5219;&#x7684;&#x53CD;&#x5411;&#x4F20;&#x64AD;.<br><img src="/2016/12/20/Neural-Network-Batch-Normalization-and-Caffe-Code/./1482242033059.png" alt="&#x68AF;&#x5EA6;&#x7684;&#x53CD;&#x5411;&#x4F20;&#x64AD;&#x516C;&#x5F0F;"></p>
<h4 id="Implementation-in-Caffe"><a href="#Implementation-in-Caffe" class="headerlink" title="Implementation in Caffe"></a>Implementation in Caffe</h4><p>&#x7B14;&#x8005;&#x63A5;&#x4E0B;&#x6765;&#x4ECB;&#x7ECD;Batch Normalization&#x5728;Caffe&#x4E2D;&#x7684;&#x5B9E;&#x73B0;.   </p>
<p>&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x4E2D;&#xFF0C;$\mu_{\beta}$&#x548C;$\sigma^2_{\beta}$&#x901A;&#x5E38;&#x662F;&#x5728;&#x8BAD;&#x7EC3;&#x96C6;&#x4E0A;&#x8BA1;&#x7B97;&#xFF0C;&#x6D4B;&#x8BD5;&#x7684;&#x65F6;&#x5019;&#x76F4;&#x63A5;&#x4F7F;&#x7528;&#x8BAD;&#x7EC3;&#x65F6;&#x8BA1;&#x7B97;&#x5F97;&#x5230;&#x7684;&#x503C;. &#x6B64;&#x5916;&#xFF0C;Batch Normalization Layer&#x7684;backward pass&#x5B9E;&#x9645;&#x5E76;&#x6CA1;&#x6709;&#x88AB;&#x8C03;&#x7528;&#xFF0C;&#x56E0;&#x6B64;&#x7B14;&#x8005;&#x4EC5;&#x5206;&#x6790;forward pass&#x90E8;&#x5206;&#x7684;&#x4EE3;&#x7801;.    </p>
<p>&#x9996;&#x5148;Batch Normalization&#x5728;proto&#x4E2D;&#x9ED8;&#x8BA4;&#x53C2;&#x6570;&#x914D;&#x7F6E;&#x5982;&#x4E0B;:<br><figure class="highlight lsl"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div></pre></td><td class="code"><pre><div class="line">message BatchNormParameter {</div><div class="line">    <span class="comment">// If false, accumulate global mean/variance values via a moving average. If</span></div><div class="line">    <span class="comment">// true, use those accumulated values instead of computing mean/variance</span></div><div class="line">    <span class="comment">// across the batch.</span></div><div class="line">    optional bool use_global_stats = <span class="number">1</span>;</div><div class="line">    <span class="comment">// How much does the moving average decay each iteration?</span></div><div class="line">    optional <span class="type">float</span> moving_average_fraction = <span class="number">2</span> [<span class="section">default</span> = <span class="number">.999</span>];</div><div class="line">    <span class="comment">// Small value to add to the variance estimate so that we don&apos;t divide by</span></div><div class="line">    <span class="comment">// zero.</span></div><div class="line">    optional <span class="type">float</span> eps = <span class="number">3</span> [<span class="section">default</span> = <span class="number">1e-5</span>];</div><div class="line">}</div></pre></td></tr></table></figure></p>
<p>&#x56E0;&#x4E3A;&#x4E00;&#x4E9B;&#x5386;&#x53F2;&#x539F;&#x56E0;(&#x53EF;&#x80FD;&#x662F;scale and shift&#x53EA;&#x5BF9;&#x4F7F;&#x7528;sigmoid&#x4F5C;&#x4E3A;&#x6FC0;&#x6D3B;&#x51FD;&#x6570;&#x6709;&#x6548;), Caffe&#x7684;normalize step &#x548C;scale and shift step&#x81F3;&#x4ECA;&#x4E0D;&#x5728;&#x540C;&#x4E00;&#x4E2A;layer&#x4E2D;&#x5B9E;&#x73B0;, &#x5BFC;&#x81F4;&#x5F88;&#x591A;&#x4EBA;&#x5728;&#x4F7F;&#x7528;&#x7684;&#x65F6;&#x5019;&#x7ECF;&#x5E38;&#x51FA;&#x73B0;&#x4E0D;&#x77E5;&#x9053;&#x8BE5;&#x600E;&#x4E48;&#x7528;&#x6216;&#x8005;&#x8FD9;&#x4E48;&#x7528;&#x5BF9;&#x4E0D;&#x5BF9;&#x7684;&#x95EE;&#x9898;. &#x7B14;&#x8005;&#x5EFA;&#x8BAE;&#x53C2;&#x8003;ResNet<sup><a href="https://github.com/KaimingHe/deep-residual-networks/blob/master/prototxt/ResNet-152-deploy.prototxt" target="_blank" rel="external">4</a></sup>&#xFF0C;&#x5E76;&#x5EFA;&#x8BAE;&#x5728;BatchNorm&#x4E2D;&#x4E0D;&#x663E;&#x793A;&#x914D;&#x7F6E;batch_norm_param&#xFF0C;&#x800C;&#x662F;&#x6709;&#x4EE3;&#x7801;&#x8FD0;&#x884C;&#x65F6;&#x81EA;&#x52A8;&#x5224;&#x65AD;&#x662F;&#x5426;use_global_stats&#xFF0C;&#x6B64;&#x5916;&#x4E0D;&#x5EFA;&#x8BAE;&#x505A;scale and shift step&#xFF0C;&#x56E0;&#x4E3A;sigmoid function&#x6548;&#x679C;&#x901A;&#x5E38;&#x662F;&#x5F88;&#x5DEE;&#x7684;&#xFF0C;&#x5BFC;&#x81F4;&#x66F4;&#x591A;&#x7684;&#x662F;&#x4E00;&#x5F00;&#x59CB;&#x5C31;&#x9009;&#x62E9;PReLu&#x7B49;&#x6FC0;&#x6D3B;&#x51FD;&#x6570;:<br><figure class="highlight dts"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div></pre></td><td class="code"><pre><div class="line"><span class="class">layer </span>{</div><div class="line"><span class="symbol">	bottom:</span> <span class="string">&quot;conv1&quot;</span></div><div class="line"><span class="symbol">	top:</span> <span class="string">&quot;conv1&quot;</span></div><div class="line"><span class="symbol">	name:</span> <span class="string">&quot;bn_conv1&quot;</span></div><div class="line"><span class="symbol">	type:</span> <span class="string">&quot;BatchNorm&quot;</span></div><div class="line">	<span class="comment">// &#x4E0D;&#x5EFA;&#x8BAE;&#x914D;&#x7F6E;batch_norm_param. </span></div><div class="line">	<span class="class">batch_norm_param </span>{</div><div class="line"><span class="symbol">		use_global_stats:</span> true</div><div class="line">	}</div><div class="line">} </div><div class="line"></div><div class="line"><span class="class">layer </span>{</div><div class="line"><span class="symbol">	bottom:</span> <span class="string">&quot;conv1&quot;</span></div><div class="line"><span class="symbol">	top:</span> <span class="string">&quot;conv1&quot;</span></div><div class="line"><span class="symbol">	name:</span> <span class="string">&quot;scale_conv1&quot;</span></div><div class="line"><span class="symbol">	type:</span> <span class="string">&quot;Scale&quot;</span></div><div class="line">	<span class="class">scale_param </span>{</div><div class="line"><span class="symbol">		bias_term:</span> true</div><div class="line">	}</div><div class="line">}</div></pre></td></tr></table></figure></p>
<p>&#x8BE6;&#x7EC6;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#x53C2;&#x89C1;&#x7B14;&#x8005;&#x7684;<a href="https://github.com/irwenqiang/caffe/blob/master/src/caffe/layers/batch_norm_layer.cpp" target="_blank" rel="external">github</a>.   </p>
<h4 id="&#x603B;&#x7ED3;"><a href="#&#x603B;&#x7ED3;" class="headerlink" title="&#x603B;&#x7ED3;"></a>&#x603B;&#x7ED3;</h4><p>&#x672C;&#x6587;&#x9996;&#x5148;&#x89E3;&#x91CA;&#x4E86;Batch Normalization&#x7684;motivation&#x4EE5;&#x53CA;&#x8BE5;&#x65B9;&#x6CD5;&#x4E3A;&#x4EC0;&#x4E48;work. &#x63A5;&#x7740;&#x5BF9;&#x7B97;&#x6CD5;&#x5185;&#x5BB9;&#x8FDB;&#x884C;&#x8BE6;&#x89E3;&#xFF0C;&#x7ED9;&#x51FA;&#x5E76;&#x5EFA;&#x8BAE;&#x8BFB;&#x8005;&#x670B;&#x53CB;&#x4EEC;&#x52A8;&#x624B;&#x5728;&#x767D;&#x7EB8;&#x4E0A;&#x63A8;&#x5BFC;&#x53CD;&#x5411;&#x4F20;&#x64AD;&#x8BA1;&#x7B97;$\mu_{\beta}$&#x548C;$\sigma^2_{\beta}$&#x7684;&#x68AF;&#x5EA6;&#x516C;&#x5F0F;. &#x6700;&#x540E;&#x5728;github&#x4E0A;&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x4EFD;Caffe&#x7684;bn&#x4EE3;&#x7801;&#x8D70;&#x8BFB;.       </p>
<p>&#x6B22;&#x8FCE;&#x5E76;&#x9F13;&#x52B1;&#x5BF9;&#x672C;&#x6587;&#x548C;github&#x4E0A;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#x6709;&#x4E0D;&#x540C;&#x89C1;&#x89E3;&#x7684;&#x670B;&#x53CB;&#x4EEC;&#x7559;&#x8A00;&#x6216;&#x8005;&#x8054;&#x7CFB;&#x672C;&#x7AD9;&#x7AD9;&#x957F;! </p>
<h4 id="&#x53C2;&#x8003;&#x6587;&#x732E;"><a href="#&#x53C2;&#x8003;&#x6587;&#x732E;" class="headerlink" title="&#x53C2;&#x8003;&#x6587;&#x732E;"></a>&#x53C2;&#x8003;&#x6587;&#x732E;</h4><ol>
<li><a href="https://arxiv.org/abs/1502.03167" target="_blank" rel="external">Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift</a>     </li>
<li><a href="http://blog.csdn.net/happynear/article/details/44238541" target="_blank" rel="external">&#x300A;Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift&#x300B;&#x9605;&#x8BFB;&#x7B14;&#x8BB0;&#x4E0E;&#x5B9E;&#x73B0;</a>   </li>
<li><a href="https://www.coursera.org/learn/neural-networks" target="_blank" rel="external">Neural Networks for Machine Learning</a>  </li>
<li><a href="https://github.com/KaimingHe/deep-residual-networks/blob/master/prototxt/ResNet-152-deploy.prototxt" target="_blank" rel="external">ResNet-152-deploy</a>   </li>
</ol>
<p>&#x4F5C;&#x8005;&#x5FAE;&#x535A;&#xFF1A;<a href="http://weibo.com/605506205?is_all=1" target="_blank" rel="external">@ryyen</a></p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&lt;strong&gt;&amp;#x6458;&amp;#x8981;:&lt;/strong&gt;2015&amp;#x5E74;2&amp;#x6708;&amp;#x4EFD;&amp;#xFF0C;Google&amp;#x548C;MSRA&amp;#x7684;paper&amp;#x76F8;&amp;#x7EE7;&amp;#x5728;&lt;a href=&quot;ht
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="Batch Normalization" scheme="https://mlnote.com/tags/Batch-Normalization/"/>
    
      <category term="Caffe" scheme="https://mlnote.com/tags/Caffe/"/>
    
      <category term="neural-networks" scheme="https://mlnote.com/tags/neural-networks/"/>
    
  </entry>
  
  <entry>
    <title>Word Embedding札记</title>
    <link href="https://mlnote.com/2016/12/18/Reading-Notes-of-Word-Embedding/"/>
    <id>https://mlnote.com/2016/12/18/Reading-Notes-of-Word-Embedding/</id>
    <published>2016-12-17T16:00:00.000Z</published>
    <updated>2017-04-09T15:43:19.785Z</updated>
    
    <content type="html"><![CDATA[<p>&#x5982;&#x4F55;&#x5229;&#x7528;&#x6587;&#x672C;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x4FE1;&#x606F;&#xFF0C;&#x5F97;&#x5230;&#x66F4;&#x6709;&#x610F;&#x4E49;&#x7684;&#x5411;&#x91CF;&#x8868;&#x8FBE;(word embedding)&#xFF0C;&#x662F;NLP&#x9886;&#x57DF;&#x7814;&#x7A76;&#x7684;&#x91CD;&#x70B9;&#x3002;&#x672C;&#x7BC7;&#x7B14;&#x8BB0;&#x76EE;&#x7684;&#x5728;&#x4E8E;&#x6574;&#x7406;&#x8BCD;&#x5411;&#x91CF;&#x7684;&#x53D1;&#x5C55;&#x5386;&#x7A0B;&#xFF0C;&#x65B9;&#x4FBF;&#x7406;&#x89E3;&#x4EC0;&#x4E48;&#x662F;&#x8BCD;&#x5411;&#x91CF;&#xFF0C;&#x600E;&#x4E48;&#x5F97;&#x5230;&#x8BCD;&#x5411;&#x91CF;&#x3002;&#x8BCD;&#x5411;&#x91CF;&#x4E5F;&#x53EB;&#x8BCD;&#x7684;&#x5206;&#x5E03;&#x5F0F;&#x8868;&#x8FBE;&#xFF0C;&#x4E3B;&#x8981;&#x6709;&#x4E09;&#x7C7B;&#x65B9;&#x6CD5;&#xFF1A;&#x805A;&#x7C7B;&#xFF0C;&#x77E9;&#x9635;&#x5206;&#x89E3;&#xFF0C;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x3002;</p>
<h4 id="&#x57FA;&#x4E8E;&#x805A;&#x7C7B;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;-clusteringbased-word-representation"><a href="#&#x57FA;&#x4E8E;&#x805A;&#x7C7B;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;-clusteringbased-word-representation" class="headerlink" title="&#x57FA;&#x4E8E;&#x805A;&#x7C7B;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;(clusteringbased word representation)"></a>&#x57FA;&#x4E8E;&#x805A;&#x7C7B;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;(clusteringbased word representation)</h4><p>&#x8FD9;&#x7C7B;&#x65B9;&#x6CD5;&#x901A;&#x8FC7;&#x805A;&#x7C7B;&#x5C06;&#x8BCD;&#x548C;&#x7C7B;&#x7684;&#x6807;&#x7B7E;&#x5EFA;&#x7ACB;&#x5173;&#x8054;&#xFF0C;&#x5173;&#x8054;&#x5173;&#x7CFB;&#x53EF;&#x4EE5;&#x662F;&#x786E;&#x5B9A;&#x6027;&#x4E5F;&#x53EF;&#x4EE5;&#x662F;&#x6982;&#x7387;&#x8868;&#x793A;&#xFF0C;&#x7528;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x6784;&#x5EFA;&#x8BCD;&#x4E0E;&#x5176;&#x4E0A;&#x4E0B;&#x6587;&#x4E4B;&#x95F4;&#x7684;&#x5173;&#x7CFB;&#x3002;&#x76F8;&#x5173;&#x5DE5;&#x4F5C;&#x6709;(Brown, 1992)[10], (Ney, 1993)[35], (Niesler, 1998)[36]&#x3002;&#x5E03;&#x6717;&#x805A;&#x7C7B;(Brown, 1992)[10]&#x662F;&#x4E00;&#x79CD;&#x5C42;&#x7EA7;&#x805A;&#x7C7B;&#x65B9;&#x6CD5;&#xFF0C;&#x805A;&#x7C7B;&#x7ED3;&#x679C;&#x4E3A;&#x6BCF;&#x4E2A;&#x8BCD;&#x7684;&#x591A;&#x5C42;&#x7C7B;&#x522B;&#x4F53;&#x7CFB;&#x3002;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x4E24;&#x4E2A;&#x8BCD;&#x7684;&#x516C;&#x5171;&#x7C7B;&#x522B;&#x5224;&#x65AD;&#x8FD9;&#x4E24;&#x4E2A;&#x8BCD;&#x7684;&#x8BED;&#x4E49;&#x76F8;&#x4F3C;&#x5EA6;&#x3002;</p>
<h4 id="&#x57FA;&#x4E8E;&#x77E9;&#x9635;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;-distributional-representation"><a href="#&#x57FA;&#x4E8E;&#x77E9;&#x9635;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;-distributional-representation" class="headerlink" title="&#x57FA;&#x4E8E;&#x77E9;&#x9635;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;(distributional representation)"></a>&#x57FA;&#x4E8E;&#x77E9;&#x9635;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;(distributional representation)</h4><p>&#x6784;&#x5EFA;&#x4E00;&#x4E2A;&#x201C;&#x8BCD;-&#x4E0A;&#x4E0B;&#x6587;&#x201D;&#x77E9;&#x9635;&#xFF0C;&#x4ECE;&#x77E9;&#x9635;&#x4E2D;&#x83B7;&#x53D6;&#x8BCD;&#x7684;&#x8868;&#x793A;&#x3002;&#x5728;&#x201C;&#x8BCD;-&#x4E0A;&#x4E0B;&#x6587;&#x201D;&#x77E9;&#x9635;&#x4E2D;&#xFF0C;&#x6BCF;&#x884C;&#x5BF9;&#x5E94;&#x4E00;&#x4E2A;&#x8BCD;&#xFF0C;&#x6BCF;&#x5217;&#x8868;&#x793A;&#x4E00;&#x79CD;&#x4E0D;&#x540C;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x77E9;&#x9635;&#x4E2D;&#x7684;&#x6BCF;&#x4E2A;&#x5143;&#x7D20;&#x5BF9;&#x5E94;&#x76F8;&#x5173;&#x8BCD;&#x548C;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x5171;&#x73B0;&#x6B21;&#x6570;&#x3002;<br> a. &#x77E9;&#x9635;&#x6784;&#x9020;<br> b. &#x77E9;&#x9635;&#x5143;&#x7D20;&#x503C;&#x7684;&#x786E;&#x5B9A;<br> c. &#x964D;&#x7EF4;&#x6280;&#x672F;&#x5C06;&#x9AD8;&#x7EF4;&#x7A00;&#x758F;&#x7684;&#x5411;&#x91CF;&#x538B;&#x7F29;&#x6210;&#x4F4E;&#x7EF4;&#x7A20;&#x5BC6;<br>&#x5178;&#x578B;&#x5982;Latent Semantic Analysis (LSA) &#x7684;&#x505A;&#x6CD5;&#xFF0C;&#x6784;&#x9020;word-doc&#x77E9;&#x9635;&#xFF0C;TF-IDF&#x4E3A;&#x6BCF;&#x4E2A;&#x5143;&#x7D20;&#x7684;&#x503C;&#x3002;&#x4F7F;&#x7528;SVD&#x5206;&#x89E3;&#xFF0C;&#x5F97;&#x5230;&#x8BCD;&#x7684;&#x4F4E;&#x7EF4;&#x8868;&#x8FBE;(Deerwester, 1990)[37] (Bellegarda, 1997)[34]&#x3002;&#x4ECB;&#x7ECD;&#x4E24;&#x4EFD;&#x6BD4;&#x8F83;&#x8FD1;&#x7684;&#x5DE5;&#x4F5C;&#xFF1A;</p>
<ul>
<li>GloVe(Pennington, 2014)[27]&#xFF0C;GloVe &#x6A21;&#x578B;&#x662F;&#x4E00;&#x79CD;&#x5BF9;&#x201C;&#x8BCD;-&#x8BCD;&#x201D;&#x77E9;&#x9635;&#x8FDB;&#x884C;&#x5206;&#x89E3;&#x4ECE;&#x800C;&#x5F97;&#x5230;&#x8BCD;&#x8868;&#x793A;&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x77E9;&#x9635;&#x7B2C;$i$&#x884C;&#x7B2C;$j$&#x5217;&#x7684;&#x503C;&#x4E3A;&#x8BCD;$v_i$&#x4E0E;&#x8BCD;$v_j$ &#x5728;&#x8BED;&#x6599;&#x4E2D;&#x7684;&#x5171;&#x73B0;&#x6B21;&#x6570;$x_{ij}$ &#x7684;&#x5BF9;&#x6570;&#x3002;&#x5728;&#x77E9;&#x9635;&#x5206;&#x89E3;&#x6B65;&#x9AA4;&#xFF0C;GloVe &#x6A21;&#x578B;&#x501F;&#x9274;&#x4E86;LSA (Deerwester,1990)[31]&#xFF0C;&#x5728;&#x8BA1;&#x7B97;&#x91CD;&#x6784;&#x8BEF;&#x5DEE;&#x65F6;&#xFF0C;&#x53EA;&#x8003;&#x8651;&#x5171;&#x73B0;&#x6B21;&#x6570;&#x975E;&#x96F6;&#x7684;&#x77E9;&#x9635;&#x5143;&#x7D20;&#xFF0C;&#x540C;&#x65F6;&#x5BF9;&#x77E9;&#x9635;&#x4E2D;&#x7684;&#x884C;&#x548C;&#x5217;&#x52A0;&#x5165;&#x4E86;&#x504F;&#x79FB;&#x9879;&#xFF0C;&#x6839;&#x636E;&#x5171;&#x73B0;&#x8BCD;&#x9891;&#x5BF9;&#x91CD;&#x6784;&#x8BEF;&#x5DEE;&#x8FDB;&#x884C;&#x8C03;&#x6743;&#x3002;&#x6587;&#x7AE0;&#x8BBA;&#x8FF0;&#x4E86;&#x57FA;&#x4E8E;&#x77E9;&#x9635;&#x5206;&#x89E3;&#x65B9;&#x6CD5;&#x548C;skip-gram/ivLBL&#x578B;&#x4F18;&#x5316;&#x76EE;&#x6807;&#x76F8;&#x4F3C;&#xFF0C;&#x4EE3;&#x7801;&#x5F00;&#x6E90;&#x5728;&#xFF1A;<a href="http://nlp.%20stanford.edu/projects/glove/" target="_blank" rel="external">github</a>&#xFF0C;&#x4E3B;&#x9875;&#x94FE;&#x63A5;&#xFF1A;<a href="http://nlp.stanford.edu/projects/glove/" target="_blank" rel="external">paper</a>&#x3002;&#x5173;&#x4E8E;&#x77E9;&#x9635;&#x5206;&#x89E3;&#x548C;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x65B9;&#x6CD5;&#x4E4B;&#x95F4;&#x5173;&#x7CFB;&#x7684;&#x66F4;&#x591A;&#x8BA8;&#x8BBA;&#x53EF;&#x4EE5;&#x53C2;&#x770B;(Omer Levy, 2014)[25], (Li Y, 2015)[26]</li>
<li>FOREST(Yogatama, 2014)[32]&#xFF0C; FOREST&#x6A21;&#x578B;&#x548C;GloVe&#x4E0D;&#x540C;&#xFF0C;&#x201D;&#x8BCD;-&#x8BCD;&#x201D;&#x77E9;&#x9635;&#x7B2C;$i$&#x884C;&#x7B2C;$j$&#x5217;&#x7684;&#x5143;&#x7D20;&#x4E3A;&#x8BCD;$v_i$&#x4E0E;&#x8BCD;$v_j$&#x7684;&#x4E92;&#x4FE1;&#x606F;&#xFF0C;&#x5C06;&#x4E92;&#x4FE1;&#x606F;&#x77E9;&#x9635;&#x5206;&#x89E3;&#x4E3A;&#x57FA;&#x77E9;&#x9635;&#x548C;&#x8BCD;&#x7684;&#x8868;&#x793A;&#x77E9;&#x9635;&#x7684;&#x4E58;&#x79EF;&#xFF0C;&#x5728;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x4E2D;&#xFF0C;&#x5BF9;&#x8868;&#x793A;&#x77E9;&#x9635;&#x7684;&#x6BCF;&#x4E00;&#x4E2A;&#x7EF4;&#x5EA6;&#xFF0C;&#x5F15;&#x5165;&#x7ED3;&#x6784;&#x5316;&#x6B63;&#x5219;&#x5316;&#x9879;&#x3002;&#x4F7F;&#x7528;&#x5728;&#x7EBF;&#x8BCD;&#x5178;&#x5B66;&#x4E60;&#x65B9;&#x6CD5;&#x8FDB;&#x884C;&#x6C42;&#x89E3;&#x3002;</li>
</ul>
<h4 id="&#x57FA;&#x4E8E;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;-distributed-representation"><a href="#&#x57FA;&#x4E8E;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;-distributed-representation" class="headerlink" title="&#x57FA;&#x4E8E;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;(distributed representation)"></a>&#x57FA;&#x4E8E;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x7684;&#x5206;&#x5E03;&#x8868;&#x793A;(distributed representation)</h4><p>&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x8BCD;&#x5411;&#x91CF;&#x8868;&#x793A;&#x6280;&#x672F;&#x901A;&#x8FC7;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x6280;&#x672F;&#x5BF9;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x4EE5;&#x53CA;&#x4E0A;&#x4E0B;&#x6587;&#x4E0E;&#x76EE;&#x6807;&#x8BCD;&#x4E4B;&#x95F4;&#x7684;&#x5173;&#x7CFB;&#x8FDB;&#x884C;&#x5EFA;&#x6A21;&#xFF0C;&#x8FD9;&#x7C7B;&#x65B9;&#x6CD5;&#x7684;&#x6700;&#x5927;&#x4F18;&#x52BF;&#x5728;&#x4E8E;&#x53EF;&#x4EE5;&#x8868;&#x793A;&#x590D;&#x6742;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x3002;<br>&#x53D1;&#x5C55;&#x8F68;&#x8FF9;&#xFF1A; </p>
<ul>
<li>&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x6C42;&#x89E3;&#x4E8C;&#x5143;&#x8BED;&#x8A00;&#x6A21;&#x578B; (&#x5F90;&#x4F1F;,2000)[13]</li>
<li>Neural Network Language Model (Yoshua Bengio,  2001, 2003)[14,15] <ul>
<li>Hierarchical NNLM(Bengio, 2005)[39] </li>
</ul>
</li>
<li>Log-Bilinear Language Model (Mnih &amp; Hinton, 2007)[16]<ul>
<li>Hierarchical LBL(Mnih, 2008)[17]    {&#x6CE8;&#xFF1A;Hierarchical Softmax}</li>
<li>vector LBL / inverse vector LBL(Mnih, 2013)[18]   {&#x6CE8;&#xFF1A;Skip-gram, &#x566A;&#x58F0;&#x6BD4;&#x4F30;&#x7B97;NCE}</li>
</ul>
</li>
<li>C &amp; W model(Collobert &amp; Weston, 2008)[21]   {&#x6CE8;&#xFF1A;pair-wise negative sampling}</li>
<li>CBOW &amp; Skip-gram model(Mikolov,2013)[22]&#xFF0C; (Mikolov, 2013)[23]</li>
</ul>
<p>&#x63A5;&#x4E0B;&#x6765;&#x6309;&#x65F6;&#x5E8F;&#x4ECB;&#x7ECD;&#x4E0B;&#x4E0A;&#x9762;&#x51E0;&#x7BC7;&#x6587;&#x7AE0;&#xFF1A;</p>
<ol>
<li>(&#x5F90;&#x4F1F;, 2000)[13]&#x63D0;&#x51FA;&#x4F7F;&#x7528;&#x5355;&#x5C42;&#x5168;&#x8054;&#x901A;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x5904;&#x7406;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x5BF9;&#x8BCD;&#x7684;bigram&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x5EFA;&#x6A21;&#xFF0C;&#x6700;&#x5C0F;&#x5316;&#x6DF7;&#x6DC6;&#x5EA6;&#x7684;log&#x4F3C;&#x7136;&#x4E3A;&#x76EE;&#x6807;&#xFF0C;&#x8F93;&#x5165;&#x4E3A;&#x6BCF;&#x4E2A;&#x8BCD;&#x7684;one-hot&#x8868;&#x793A;&#xFF0C;&#x8F93;&#x51FA;&#x4E3A;&#x7ED9;&#x5B9A;&#x5F53;&#x524D;&#x8BCD;&#x5176;&#x4ED6;&#x8BCD;&#x7684;&#x6982;&#x7387;&#xFF0C;&#x901A;&#x8FC7;softmax&#x8FDB;&#x884C;&#x5F52;&#x4E00;&#x5316;&#x8F93;&#x51FA;&#x503C;&#x3002;</li>
<li>(Bengio, 2001, 2003][14,15]&#x63D0;&#x51FA;&#x540C;&#x65F6;&#x8BAD;&#x7EC3;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x548C;&#x8BCD;&#x5411;&#x91CF;&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x7B80;&#x4ECB;&#x4E0B;[15, Bengio, 2003]&#x7684;&#x5DE5;&#x4F5C;&#xFF0C;&#x5C06;&#x8BCD;&#x8868;&#x793A;&#x4E3A;m&#x7EF4;&#x7684;&#x7279;&#x5F81;&#x5411;&#x91CF;&#xFF0C;&#x5C06;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x8868;&#x793A;&#x4E3A;&#x8BCD;&#x5411;&#x91CF;&#x7684;&#x6982;&#x7387;&#x51FD;&#x6570;&#xFF0C;&#x540C;&#x65F6;&#x5B66;&#x4E60;&#x8BCD;&#x7684;&#x7279;&#x5F81;&#x5411;&#x91CF;&#x548C;&#x6982;&#x7387;&#x51FD;&#x6570;&#x7684;&#x53C2;&#x6570;&#x3002;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x5982;&#x4E0B;&#x56FE;&#xFF1A;<br><img src="/2016/12/18/Reading-Notes-of-Word-Embedding/./1481042151022.png" alt=""><br>&#x7EFF;&#x8272;&#x865A;&#x7EBF;&#x8868;&#x793A;&#x8F93;&#x5165;x&#x6709;&#x76F4;&#x8FDE;&#x5230;softmax&#x5C42;&#xFF0C;Bengio&#x6A21;&#x578B;&#x4E2D;&#x8FD9;&#x90E8;&#x5206;&#x662F;&#x53EF;&#x9009;&#x7684;&#xFF0C;&#x56E0;&#x6B64;&#x4E5F;&#x6709;&#x5176;&#x4ED6;&#x5730;&#x65B9;&#x7684;&#x56FE;&#x662F;&#x7565;&#x6389;&#x8FD9;&#x6761;&#x865A;&#x7EBF;&#x3002;&#x76F4;&#x8FDE;&#x8FB9;&#x80FD;&#x8BA9;&#x6A21;&#x578B;&#x5B66;&#x4E60;&#x5230;&#x8BCD;&#x7684;&#x6743;&#x91CD;&#x66F4;&#x591A;&#xFF0C;&#x52A0;&#x5FEB;&#x6536;&#x655B;&#x901F;&#x5EA6;&#x3002;&#x5982;&#x679C;&#x53BB;&#x9664;&#x76F4;&#x8FDE;&#x7684;&#x8BDD;&#xFF0C;&#x901A;&#x8FC7;&#x9690;&#x5C42;&#x80FD;&#x5B66;&#x4E60;&#x5230;&#x8F83;&#x591A;&#x7684;&#x6CDB;&#x5316;&#x3002;&#x7531;&#x4E8E;&#x6FC0;&#x6D3B;&#x51FD;&#x6570;&#x548C;&#x5F52;&#x4E00;&#x5316;&#x90E8;&#x5206;&#x8BA1;&#x7B97;&#x8017;&#x65F6;&#xFF0C;&#x8BBA;&#x6587;&#x91CC;&#x8BA8;&#x8BBA;&#x4E86;&#x4E24;&#x79CD;&#x5EFA;&#x7ACB;&#x5728;&#x5F02;&#x6B65;&#x66F4;&#x65B0;&#x6743;&#x91CD;&#x7684;&#x5E76;&#x884C;&#x65B9;&#x6CD5;&#xFF1A;&#x5171;&#x4EAB;&#x5185;&#x5B58;&#x7684;&#x591A;&#x5904;&#x7406;&#x5668;&#x5E76;&#x884C;&#x548C;&#x7F51;&#x7EDC;&#x5E76;&#x884C;&#x3002;</li>
<li>(Bengio, 2005)[39]&#x63D0;&#x51FA;&#x4E86;Hierarchical NNLM&#xFF0C;&#x901A;&#x8FC7;&#x8BCD;&#x4E49;&#x4E4B;&#x95F4;&#x7684;&#x5173;&#x7CFB;&#x542F;&#x53D1;&#x5F0F;&#x7684;&#x6784;&#x5EFA;&#x4E8C;&#x53C9;&#x6811;&#xFF0C;&#x4EE3;&#x66FF;&#x5F52;&#x4E00;&#x5316;&#x8BA1;&#x7B97;&#xFF0C;&#x5C06;&#x8BAD;&#x7EC3;&#x901F;&#x5EA6;&#x63D0;&#x5347;200&#x500D;&#x3002;&#x6784;&#x5EFA;&#x6811;&#x7684;&#x542F;&#x53D1;&#x6765;&#x81EA;(Goodman, 2001)[40]&#xFF0C;&#x5C06;&#x8BA1;&#x7B97;&#x6761;&#x4EF6;&#x6982;&#x7387;&#x8F6C;&#x4E3A;&#x4E3A;&#x4E00;&#x7CFB;&#x5217;&#x5B50;&#x5206;&#x7C7B;&#x6982;&#x7387;&#x7684;&#x4E58;&#x79EF;&#xFF0C;&#x5BF9;&#x4E8E;&#x5B50;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#xFF0C;&#x6BCF;&#x4E00;&#x4E2A;&#x5206;&#x652F;&#xFF0C;Bengio&#x4F7F;&#x7528;&#x540C;&#x4E00;&#x4E2A;&#x5206;&#x7C7B;&#x5668;&#x8FDB;&#x884C;&#x51B3;&#x7B56;&#xFF0C;&#x7531;&#x4E8E;&#x5206;&#x7C7B;&#x7684;&#x9700;&#x6C42;&#x4F7F;&#x5F97;&#x6BCF;&#x4E00;&#x4E2A;&#x53F6;&#x5B50;&#x8282;&#x70B9;&#x9700;&#x8981;&#x5177;&#x5907;&#x7C7B;&#x522B;&#x610F;&#x4E49;&#xFF0C;&#x5F88;&#x81EA;&#x7136;&#x5730;&#x5F15;&#x5165;&#x4E86;WordNet&#x8BCD;&#x4E4B;&#x95F4;&#x7684;&#x5173;&#x7CFB;&#x542F;&#x53D1;&#x5F0F;&#x5730;&#x6784;&#x5EFA;&#x53F6;&#x5B50;&#x8282;&#x70B9;&#x3002;</li>
<li>(Mnih &amp; Hinton, 2007)[16]&#x7528;RBM&#x5EFA;&#x6A21;LM&#xFF0C;&#x63D0;&#x51FA;&#x4E86;&#x4E09;&#x4E2A;&#x6A21;&#x578B;&#xFF0C;&#x5206;&#x522B;&#x662F;Factored RBM, Temporal Factored RBM&#x548C;Log-Bilinear Language Model&#x3002; &#x8BED;&#x8A00;&#x6A21;&#x578B;&#x7ED3;&#x6784;&#x5982;&#x4E0B;&#x56FE;&#xFF1A;<img src="/2016/12/18/Reading-Notes-of-Word-Embedding/./1481442747480.png" alt=""><br>&#x5176;&#x4E2D;$ v_i $&#x4E3A;&#x8BCD;&#x7684;index&#x5411;&#x91CF;&#xFF0C;$R$&#x4E3A;&#x7279;&#x5F81;&#x5411;&#x91CF;&#x8868;&#xFF0C;&#x4E8C;&#x8005;&#x76F8;&#x4E58;&#x53EF;&#x5F97;&#x5230;&#x7B2C;$i$&#x4E2A;&#x8BCD;&#x7684;&#x5411;&#x91CF;&#x8868;&#x8FBE;&#x3002;$h$&#x4E3A;&#x9690;&#x5C42;&#x3002;a). &#x5DE6;&#x8FB9;&#x6A21;&#x578B;&#x7ED3;&#x6784;&#x5B9E;&#x7EBF;&#x90E8;&#x5206;&#x4E3A;Factored RBM&#xFF0C;&#x7ED3;&#x5408;&#x865A;&#x7EBF;&#x6846;&#x90E8;&#x5206;&#x6784;&#x6210;Temporal Factored RBM&#xFF0C;&#x865A;&#x7EBF;&#x6846;&#x8868;&#x793A;$h_{t-1}$&#xFF0C;b). &#x53F3;&#x8FB9;&#x7ED3;&#x6784;&#x4E3A;Log-Bilinear Language Model&#x3002;&#x80FD;&#x91CF;&#x8868;&#x8FBE;&#x5F0F;&#x4E2D;&#x53BB;&#x9664;&#x4E86;&#x9690;&#x5C42;&#xFF0C;&#x7B80;&#x5316;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#xFF0C;&#x63D0;&#x5347;&#x8BAD;&#x7EC3;&#x901F;&#x5EA6;&#x3002;&#x4E09;&#x4E2A;&#x6A21;&#x578B;&#x90FD;&#x662F;&#x901A;&#x8FC7;Constrastiv Divergence&#x7B97;&#x6CD5;(Hinton, 2002)[38]&#x8FDB;&#x884C;&#x8BAD;&#x7EC3;&#x3002;</li>
<li>(Mnih &amp; Hinton, 2008)[17]&#x5728;(Bengio, 2005)[39]&#x7684;&#x7ED3;&#x6784;&#x5316;NNLM&#x542F;&#x53D1;&#x4E0B;&#x5BF9;LBL&#x8FDB;&#x884C;&#x6539;&#x8FDB;&#xFF0C;&#x63D0;&#x51FA;&#x4E86;Hierarchical LBL&#x3002;&#x4E3A;&#x4E86;&#x964D;&#x4F4E;&#x8BA1;&#x7B97;&#x590D;&#x6742;&#x6027;&#xFF0C;&#x9650;&#x5236;&#x5BF9;&#x4E0A;&#x4E0B;&#x6587;Context&#x7684;&#x5173;&#x7CFB;&#x77E9;&#x9635;&#x4E3A;&#x5BF9;&#x89D2;&#x77E9;&#x9635;&#xFF0C;&#x8FD9;&#x79CD;&#x7B80;&#x5316;&#x76F8;&#x5F53;&#x4E8E;&#x76F4;&#x63A5;&#x8FDB;&#x884C;&#x4E24;&#x4E2A;&#x5411;&#x91CF;&#x5185;&#x79EF;&#x3002;&#x6709;&#x522B;&#x4E8E;&#x5F15;&#x5165;WordNet&#x8D44;&#x6E90;&#xFF0C;Mnih&#x63D0;&#x51FA;&#x53E6;&#x4E00;&#x79CD;&#x601D;&#x8DEF;&#x5EFA;&#x7ACB;&#x8BCD;&#x7684;&#x4E8C;&#x53C9;&#x6811;&#x7ED3;&#x6784;&#xFF0C;&#x968F;&#x673A;&#x521D;&#x59CB;&#x5316;&#x4E8C;&#x53C9;&#x6811;&#xFF0C;&#x8BAD;&#x7EC3;&#x5F97;&#x5230;&#x521D;&#x59CB;&#x8BCD;&#x5411;&#x91CF;&#x3002;&#x4ECE;&#x6839;&#x8282;&#x70B9;&#x5F00;&#x59CB;&#x8FED;&#x4EE3;&#x4F7F;&#x7528;&#x9AD8;&#x65AF;&#x6DF7;&#x5408;&#x6A21;&#x578B;(K=2)&#x8FDB;&#x884C;&#x805A;&#x7C7B;&#xFF0C;&#x4E3A;&#x4E0D;&#x540C;&#x7684;&#x8BCD;&#x9009;&#x62E9;&#x4E0D;&#x540C;&#x7684;&#x5206;&#x652F;&#x3002;&#x5B9E;&#x9A8C;&#x6548;&#x679C;&#x4E0A;&#x770B;&#x8FD9;&#x79CD;&#x542F;&#x53D1;&#x5F0F;&#x5EFA;&#x6811;&#x7684;&#x65B9;&#x5F0F;&#x80FD;&#x660E;&#x663E;&#x63D0;&#x9AD8;LM&#x7684;&#x6548;&#x679C;&#x3002;</li>
<li>(Collobert &amp;Weston, 2008)[21]&#x5C1D;&#x8BD5;&#x4F7F;&#x7528;&#x4E00;&#x5957;&#x6846;&#x67B6;&#x5B8C;&#x6210;&#x591A;&#x9879;&#x4EFB;&#x52A1;&#xFF0C;&#x8BAD;&#x7EC3;LM&#x4EFB;&#x52A1;&#x901A;&#x8FC7;&#x968F;&#x673A;&#x66FF;&#x6362;&#x5F53;&#x524D;&#x8BCD;&#x7684;&#x65B9;&#x5F0F;&#x6784;&#x9020;&#x8D1F;&#x4F8B;&#xFF0C;&#x5F97;&#x5230;&#x5224;&#x522B;&#x5F0F;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x540C;&#x65F6;&#x4EA7;&#x51FA;&#x8BCD;&#x5411;&#x91CF;&#xFF0C;&#x5224;&#x522B;&#x5F0F;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x65E0;&#x9700;&#x8FDB;&#x884C;&#x8F93;&#x51FA;&#x6982;&#x7387;&#x5F52;&#x4E00;&#x5316;&#xFF0C;&#x52A0;&#x5FEB;&#x4E86;&#x8BA1;&#x7B97;&#x901F;&#x5EA6;&#xFF0C;&#x5E76;&#x5C1D;&#x8BD5;&#x4E86;&#x5C06;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x7ED3;&#x5408;&#x5176;&#x4ED6;&#x5E8F;&#x5217;&#x6807;&#x6CE8;&#x4EFB;&#x52A1;(NER, POS, Semantic Role Labeling)&#x540C;&#x65F6;&#x8BAD;&#x7EC3;&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x5404;&#x4E2A;&#x4EFB;&#x52A1;&#x5171;&#x4EAB;&#x8BCD;&#x7684;&#x5411;&#x91CF;&#x8868;&#x8FBE;&#x3002;&#x540E;&#x7EED;&#x5728;&#x8FD9;&#x4E2A;&#x57FA;&#x7840;&#x4E0A;&#x63D0;&#x51FA;&#x4E86;SENNA model(Collobert, 2011)[28]&#x3002;&#x4E0B;&#x56FE;&#x4E3A;&#x591A;&#x4EFB;&#x52A1;&#x8BAD;&#x7EC3;&#x793A;&#x610F;&#x56FE;&#x3002;<br><img src="/2016/12/18/Reading-Notes-of-Word-Embedding/./1481966848316.png" alt=""></li>
<li>(Mikolov, 2013)[22]&#x63D0;&#x51FA;&#x4E86;CBOW(Continuous Bag Of words)&#x548C;skipgram&#x6A21;&#x578B;&#xFF0C;CBOW&#x4F7F;&#x7528;&#x7A97;&#x53E3;&#x4E0A;&#x4E0B;&#x6587;&#x4F5C;&#x4E3A;&#x8F93;&#x5165;&#xFF0C;&#x9884;&#x6D4B;&#x5F53;&#x524D;&#x8BCD;&#x3002;skipgram&#x4F7F;&#x7528;&#x5F53;&#x524D;&#x8BCD;&#x4F5C;&#x4E3A;&#x8F93;&#x5165;&#xFF0C;&#x9884;&#x6D4B;&#x7A97;&#x53E3;&#x8303;&#x56F4;&#x5185;&#x7684;&#x5176;&#x4ED6;&#x8BCD;&#xFF0C;&#x7CBE;&#x7B80;&#x4E86;&#x9690;&#x5C42;&#xFF0C;&#x8BA1;&#x7B97;&#x6548;&#x7387;&#x5927;&#x4E3A;&#x63D0;&#x9AD8;&#x3002;&#x4E0B;&#x56FE;&#x4E3A;CBOW&#x548C;skipgram&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x56FE;&#xFF1A;<br><img src="/2016/12/18/Reading-Notes-of-Word-Embedding/./1482070797585.png" alt=""></li>
<li>(Mnih &amp; Kavukcuoglu, 2013)[18] &#x53D7;Mikolov&#x542F;&#x53D1;&#xFF0C;&#x5728;log-Bilinear Language Model&#x57FA;&#x7840;&#x4E0A;&#x5C06;&#x77E9;&#x9635;&#x8FD0;&#x7B97;&#x7B80;&#x5316;&#x4E3A;&#x5411;&#x91CF;&#x8FD0;&#x7B97;&#x5F97;&#x5230;vector log-Bilinear Model(vLBL)&#xFF0C;&#x8FDB;&#x4E00;&#x6B65;&#x7B80;&#x5316;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x8868;&#x8FBE;&#x4E3A;&#x7B80;&#x5355;&#x6C42;&#x548C;&#x7B49;&#x4EF7;&#x4E8E;CBOW&#xFF0C;&#x501F;&#x9274;skipgram&#x7684;&#x601D;&#x60F3;&#xFF1A;&#x4F7F;&#x7528;&#x5F53;&#x524D;&#x8BCD;&#x9884;&#x6D4B;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x5F97;&#x5230;inverse vector log-Bilinear Model(ivLBL)&#xFF0C;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x91C7;&#x7528;Noise-contrastive estimation(Gutmann, 2012)[42]&#xFF0C;&#x4EE3;&#x66FF;&#x539F;&#x9884;&#x6D4B;&#x76EE;&#x6807;&#x8BCD;&#x7684;&#x6982;&#x7387;&#xFF0C;&#x52A0;&#x5FEB;&#x4E86;&#x7B97;&#x6CD5;&#x7684;&#x6536;&#x655B;&#x3002;&#x5728;&#x901F;&#x5EA6;&#x4E0A;&#x6BD4;CBOW&#x548C;skipgram&#x6709;&#x4E86;&#x8FDB;&#x4E00;&#x6B65;&#x6539;&#x5584;&#x3002;</li>
<li>(Mikolov, 2013)[23] &#x5728;skipgram&#x57FA;&#x7840;&#x4E0A;&#x5C1D;&#x8BD5;&#x4E86;NCE&#xFF0C;&#x5E76;&#x8FDB;&#x4E00;&#x6B65;&#x7B80;&#x5316;NCE&#x81F3;Negative Sampling&#x3002;&#x8BAD;&#x7EC3;&#x8FC7;&#x7A0B;&#x4E2D;&#x5F15;&#x5165;&#x4E86;&#x91C7;&#x6837;(subsampling)&#x6765;&#x51CF;&#x8F7B;&#x65E0;&#x610F;&#x4E49;&#x7684;&#x9AD8;&#x9891;&#x8BCD;&#x5BF9;&#x8BCD;&#x5411;&#x91CF;&#x5B66;&#x4E60;&#x5E26;&#x6765;&#x7684;&#x5F71;&#x54CD;&#x3002;&#x5F15;&#x5165;&#x77ED;&#x8BED;&#x8BC6;&#x522B;&#xFF0C;&#x89E3;&#x51B3;&#x5148;&#x524D;&#x8BCD;&#x5411;&#x91CF;&#x8BAD;&#x7EC3;&#x5355;&#x4F4D;&#x4E3A;unigram&#x5BFC;&#x81F4;&#x4E13;&#x540D;&#x88AB;&#x6253;&#x6563;&#x7684;&#x95EE;&#x9898;&#x3002;&#x8FD9;&#x4E9B;&#x7279;&#x6027;&#x540C;&#x6837;&#x53EF;&#x4EE5;&#x7528;&#x5728;CBOW&#x6A21;&#x578B;&#x3002;</li>
</ol>
<p>&#x4E0A;&#x9762;&#x7F57;&#x5217;&#x4E86;&#x8FD1;&#x4E9B;&#x5E74;&#x8BCD;&#x5411;&#x91CF;&#x6280;&#x672F;&#x53D1;&#x5C55;&#x7684;&#x6BD4;&#x8F83;&#x91CD;&#x8981;&#x7684;&#x6587;&#x7AE0;&#xFF0C;&#x5E0C;&#x671B;&#x80FD;&#x5E2E;&#x52A9;&#x8BFB;&#x8005;&#x4E86;&#x89E3;&#x5BF9;&#x8BCD;&#x5411;&#x91CF;&#x7684;&#x53D1;&#x5C55;&#x8FC7;&#x7A0B;&#x3002;&#x8FD1;&#x4E24;&#x5E74;&#x4E5F;&#x6709;&#x4E00;&#x4E9B;&#x6BD4;&#x8F83;&#x597D;&#x7684;&#x5DE5;&#x4F5C;&#xFF0C;<br>a). &#x901A;&#x8FC7;&#x5728;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x4E2D;&#xFF0C;&#x5F15;&#x5165;&#x8BCD;&#x5178;&#x4E2D;&#x8BCD;&#x4E49;&#x5173;&#x7CFB;&#xFF08;&#x540C;&#x4E49;&#x8BCD;&#x3001;&#x8BCD;&#x7684;&#x4E0A;&#x4E0B;&#x4F4D;&#xFF09;&#x8FDB;&#x884C;&#x8054;&#x5408;&#x8BAD;&#x7EC3;(Yu M, 2014)[46]&#x3002;<br>b). &#x5F15;&#x5165;&#x53CC;&#x8BED;&#x8BED;&#x6599;&#xFF0C;&#x5728;&#x4E0D;&#x540C;&#x8BED;&#x79CD;&#x7684;&#x8BED;&#x6599;&#x65E0;&#x76D1;&#x7763;&#x5F97;&#x5230;&#x8BCD;&#x5411;&#x91CF;&#xFF0C;&#x5229;&#x7528;&#x4E0D;&#x540C;&#x8BED;&#x6599;&#x95F4;&#x8BCD;&#x5BF9;&#x7684;&#x5173;&#x7CFB;&#x8FDB;&#x884C;&#x5178;&#x578B;&#x76F8;&#x5173;&#x5206;&#x6790;(canonical correction analysis)&#xFF0C;&#x5C06;&#x8BCD;&#x5411;&#x91CF;&#x6620;&#x5C04;&#x5230;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x7A7A;&#x95F4;(Faruqui, 2014)[47]&#x3002;<br>c). &#x5728;&#x5404;&#x6A21;&#x578B;&#x5F97;&#x5230;&#x7684;&#x8BCD;&#x5411;&#x91CF;&#x57FA;&#x7840;&#x4E0A;&#xFF0C;&#x5F15;&#x5165;&#x8BCD;&#x5178;&#x8D44;&#x6E90;&#x8FDB;&#x884C;&#x589E;&#x5F3A;(Faruqui M, 2014)[43]&#x3002;<br>d). &#x5C06;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x8F6C;&#x4E3A;&#x5C40;&#x90E8;&#x7EBF;&#x6027;&#x7ED3;&#x6784;&#x5B66;&#x4E60;&#x8282;&#x70B9;&#x7684;embedding&#xFF0C;&#x6839;&#x636E;&#x8F6C;&#x5316;&#x65B9;&#x5F0F;&#x53EF;&#x4EE5;&#x5206;&#x4E3A;&#x6DF1;&#x5EA6;&#x4F18;&#x5148;&#x7248;&#x672C;DeepWalk(Perozzi, 2014)[44]&#xFF0C;&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#x7248;&#x672C;LINE(Tang, 2015)[45]&#x3002;<br>e). &#x8FDB;&#x4E00;&#x6B65;&#xFF0C;&#x5728;&#x5B66;&#x4E60;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;embedding&#x7684;&#x57FA;&#x7840;&#x4E0A;&#x5F15;&#x5165;&#x4E86;&#x534A;&#x76D1;&#x7763;&#x5B66;&#x4E60;&#xFF0C;&#x5E76;&#x7ED9;&#x51FA;&#x4E86;transductive&#x6846;&#x67B6;&#xFF08;DeepWalk&amp;LINE&#xFF09;&#x548C;inductive&#x6846;&#x67B6;&#x3002;(Yang Z, 2016)[46].</p>
<p>&#x5982;&#x4F55;&#x8861;&#x91CF;&#x8BCD;&#x5411;&#x91CF;&#x7684;&#x8BED;&#x8A00;&#x5B66;&#x7279;&#x6027;&#xFF0C;&#x6765;&#x535A;&#x58EB;&#x7684;&#x6BD5;&#x4E1A;&#x8BBA;&#x6587;(2016)[1]&#x603B;&#x7ED3;&#x4E86;8&#x4E2A;&#x8BC4;&#x4EF7;&#x6307;&#x6807;</p>
<ul>
<li>&#x8BCD;&#x4E49;&#x76F8;&#x5173;&#x6027;(ws): WordSim353&#x6570;&#x636E;&#x96C6;&#xFF0C;&#x8BCD;&#x5BF9;&#x8BED;&#x4E49;&#x6253;&#x5206;&#x3002;</li>
<li>&#x540C;&#x4E49;&#x8BCD;&#x68C0;&#x6D4B;(tfl): TOEFL&#x6570;&#x636E;&#x96C6;&#xFF0C;80&#x4E2A;&#x5355;&#x9009;&#x9898;&#x3002;&#x51C6;&#x786E;&#x7387;&#x8BC4;&#x4EF7;</li>
<li>&#x5355;&#x8BCD;&#x8BED;&#x4E49;&#x7C7B;&#x6BD4;(sem): 9000&#x4E2A;&#x95EE;&#x9898;&#x3002;queen-king+man=women&#x3002;&#x51C6;&#x786E;&#x7387;</li>
<li>&#x5355;&#x8BCD;&#x53E5;&#x6CD5;&#x7C7B;&#x6BD4;(syn): 1W&#x4E2A;&#x95EE;&#x9898;&#x3002;dancing-dance+predict=predicting&#x3002;&#x51C6;&#x786E;&#x7387;<br>&#x8BCD;&#x5411;&#x91CF;&#x7528;&#x4F5C;&#x7279;&#x5F81;</li>
<li>&#x57FA;&#x4E8E;&#x5E73;&#x5747;&#x8BCD;&#x5411;&#x91CF;&#x7684;&#x6587;&#x672C;&#x5206;&#x7C7B;(avg): IMDB&#x6570;&#x636E;&#x96C6;&#xFF0C;Logistic&#x5206;&#x7C7B;&#x3002;&#x51C6;&#x786E;&#x7387;&#x8BC4;&#x4EF7;</li>
<li>&#x547D;&#x540D;&#x5B9E;&#x4F53;&#x8BC6;&#x522B;(ner): CoNLL03&#x6570;&#x636E;&#x96C6;&#xFF0C;&#x4F5C;&#x4E3A;&#x73B0;&#x6709;&#x7CFB;&#x7EDF;&#x7684;&#x989D;&#x5916;&#x7279;&#x5F81;&#x3002;F1&#x503C;<br>&#x8BCD;&#x5411;&#x91CF;&#x7528;&#x4F5C;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x6A21;&#x578B;&#x7684;&#x521D;&#x59CB;&#x503C;</li>
<li>&#x57FA;&#x4E8E;&#x5377;&#x79EF;&#x7684;&#x6587;&#x672C;&#x5206;&#x7C7B;(cnn): &#x65AF;&#x5766;&#x798F;&#x60C5;&#x611F;&#x6811;&#x5E93;&#x6570;&#x636E;&#x96C6;&#xFF0C;&#x8BCD;&#x5411;&#x91CF;&#x4E0D;&#x56FA;&#x5B9A;&#x3002;&#x51C6;&#x786E;&#x7387;</li>
<li>&#x8BCD;&#x6027;&#x6807;&#x6CE8;(pos): &#x534E;&#x5C14;&#x8857;&#x65E5;&#x62A5;&#x6570;&#x636E;&#x96C6;&#xFF0C;Collobert&#x7B49;&#x4EBA;&#x63D0;&#x51FA;&#x7684;NN&#x3002;&#x51C6;&#x786E;&#x7387;</li>
</ul>
<p>&#x8BBA;&#x6587;&#x4E2D;&#x5BF9;&#x5404;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x4E86;&#x6A2A;&#x5411;&#x5B9E;&#x9A8C;&#x6BD4;&#x8F83;&#xFF0C;&#x63A8;&#x8350;&#x9605;&#x8BFB;&#x3002;</p>
<h4 id="word2vec&#x6E90;&#x7801;&#x53CA;&#x6269;&#x5C55;"><a href="#word2vec&#x6E90;&#x7801;&#x53CA;&#x6269;&#x5C55;" class="headerlink" title="word2vec&#x6E90;&#x7801;&#x53CA;&#x6269;&#x5C55;"></a>word2vec&#x6E90;&#x7801;&#x53CA;&#x6269;&#x5C55;</h4><p>&#x4F5C;&#x8005; Tomas Mikolov (<a href="https://www.linkedin.com/in/tomas-mikolov-59831188" target="_blank" rel="external">Linked In</a>) &#x76EE;&#x524D;&#x5728;facebook<br>word2vec: <a href="https://code.google.com/archive/p/word2vec/" target="_blank" rel="external">&#x4E0B;&#x8F7D;&#x5730;&#x5740;</a>, <a href="https://code.google.com/archive/p/word2vec/source/default/commits" target="_blank" rel="external">&#x66F4;&#x65B0;&#x65E5;&#x5FD7;</a><br>&#x7B14;&#x8005;&#x5BF9;&#x6838;&#x5FC3;&#x4EE3;&#x7801;word2vec.c&#x8FDB;&#x884C;&#x4E86;&#x6CE8;&#x91CA;&#xFF08;&#x6309;&#xFF1A;&#x53EF;&#x80FD;&#x662F;&#x5E02;&#x9762;&#x4E0A;&#x6700;&#x8BE6;lao&#x7EC6;dao&#x7684;&#x6CE8;&#x91CA;&#xFF09;&#xFF0C;&#x589E;&#x52A0;&#x4E86;&#x4E24;&#x4E2A;&#x5C0F;&#x5DE5;&#x5177;&#xFF0C;&#x89C1;<a href="https://github.com/qiugen/word2vec_comments" target="_blank" rel="external">&#x3010;github&#x4ED3;&#x5E93;&#x3011;</a>&#xFF0C;txt2bin(&#x660E;&#x6587;&#x8F6C;&#x4E8C;&#x8FDB;&#x5236;)&#x548C;distance_search&#xFF08;&#x9012;&#x5F52;&#x67E5;&#x627E;&#x8FD1;&#x90BB;&#x5411;&#x91CF;&#xFF09;&#x3002;</p>
<p>[&#x66F4;&#x591A;&#x6269;&#x5C55;]&#x5BF9;word2vec&#x7684;&#x5177;&#x4F53;&#x5B9E;&#x73B0;&#x8FDB;&#x884C;&#x4F18;&#x5316;&#x53EF;&#x4EE5;&#x53C2;&#x8003;<a href="https://github.com/BIDData/BIDMach" target="_blank" rel="external">&#x201C;BIDMatch&#x201D;</a>(canny J, 2015)[48]&#x9AD8;&#x6027;&#x80FD;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x5E93;&#x7684;GPU&#x7248;&#x672C;&#xFF0C;&#x89C1; <a href="https://github.com/BIDData/BIDMach/blob/master/src/main/scala/BIDMach/networks/Word2Vec.scala" target="_blank" rel="external">&#x3010;github&#x4ED3;&#x5E93;&#x3011;</a>&#x3002; (Ji S, 2016)[49]&#x5C06;&#x8BA1;&#x7B97;&#x5411;&#x91CF;&#x5185;&#x79EF;&#x8F6C;&#x4E3A;&#x77E9;&#x9635;&#x8FD0;&#x7B97;&#xFF0C;&#x4F7F;&#x5F97;&#x8BA1;&#x7B97;&#x4ECE;L1 level BLAS&#x8F6C;&#x4E3A;L3 level BLAS&#xFF0C;&#x5E76;&#x5B9E;&#x73B0;&#x4E86;&#x5206;&#x5E03;&#x5F0F;&#x7248;&#x672C;&#xFF0C;&#x652F;&#x6301;&#x589E;&#x52A0;&#x8BA1;&#x7B97;&#x8282;&#x70B9;&#x52A0;&#x901F;&#x8BCD;&#x5411;&#x91CF;&#x8BAD;&#x7EC3;&#xFF0C;&#x89C1;<a href="https://github.com/IntelLabs/pWord2Vec" target="_blank" rel="external">&#x3010;github&#x4ED3;&#x5E93;&#x3011;</a>&#x3002;</p>
<p>&#x7B14;&#x8005;&#x6309;&#xFF1A;&#x672C;&#x6587;&#x5B9A;&#x4F4D;&#x4E3A;&#x8BBA;&#x6587;&#x9605;&#x8BFB;&#x6574;&#x7406;&#x7B14;&#x8BB0;&#xFF0C;&#x524D;&#x524D;&#x540E;&#x540E;&#x5386;&#x65F6;&#x6570;&#x6708;&#x3002;&#x5982;&#x679C;&#x9519;&#x6F0F;&#x4E86;&#x77E5;&#x8BC6;&#xFF0C;&#x8BF7;&#x5728;&#x8BC4;&#x8BBA;&#x91CC;&#x6307;&#x51FA;&#xFF0C;&#x8C22;&#x8C22;&#x3002;&#x5168;&#x6587;&#x6CA1;&#x6709;&#x516C;&#x5F0F;&#xFF0C;&#x8BFB;&#x8005;&#x5982;&#x679C;&#x80FD;&#x8010;&#x5FC3;&#x770B;&#x5230;&#x8FD9;&#x91CC;&#xFF0C;&#x6211;&#x4F1A;&#x5F88;&#x5F00;&#x5FC3;&#x3002;&#x63A5;&#x4E0B;&#x6765;&#x4F1A;&#x5728;&#x4E1A;&#x4F59;&#x65F6;&#x95F4;&#x5BF9;word2vec&#x8FDB;&#x884C;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#xFF0C;&#x7136;&#x540E;&#x5728;&#x8FD9;&#x4E2A;&#x57FA;&#x7840;&#x4E0A;&#x505A;&#x4E9B;&#x8BCD;&#x4E49;&#x76F8;&#x5173;&#x7684;&#x5C0F;&#x5B9E;&#x9A8C;&#xFF0C;&#x5E0C;&#x671B;&#x5F97;&#x5230;&#x6709;&#x610F;&#x601D;&#x7684;&#x7ED3;&#x679C;&#x3002;</p>
<p>[1]&#x57FA;&#x4E8E;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x7684;&#x8BCD;&#x548C;&#x6587;&#x6863;&#x8BED;&#x4E49;&#x5411;&#x91CF;&#x8868;&#x793A;&#x65B9;&#x6CD5;&#x7814;&#x7A76;&#xFF0C;&#x6765;&#x65AF;&#x60DF;&#xFF0C;&#x4E2D;&#x79D1;&#x9662;&#x81EA;&#x52A8;&#x5316;&#x7814;&#x7A76;&#x6240;, 2016&#xFF0C;&#x6587;&#x7AE0;&#x5730;&#x5740;&#xFF1A;<a href="http://pan.baidu.com/s/1qYbEByk" target="_blank" rel="external">&#x767E;&#x5EA6;&#x7F51;&#x76D8;</a><br>[2] Daniel D Lee and H Sebastian Seung. Algorithms for non-negative matrix  actorization. In Advances in neural information processing systems, pages 556&#x2013;562, 2001.<br>[3] Chih-Jen Lin. Projected gradient methods for nonnegative matrix factorization. Neural computation, 19(10):2756&#x2013;2779, 2007.<br>[4] Paramveer S. Dhillon, Dean P. Foster, and Lyle H. Ungar. Multi-view learning of word embeddings via cca. In Advances in Neural Information Processing Systems, pages 199&#x2013;207, 2011.<br>[5] Paramveer S. Dhillon, Dean P. Foster, and Lyle H. Ungar. Eigenwords: Spectral word embeddings. The Journal of Machine Learning Research, 16, 2015.<br>[6] R&#xE9;mi Lebret and Ronan Collobert. Word embeddings through hellinger pca. EACL 2014, page 482, 2014.<br>[7] Thomas K Landauer, Peter W Foltz, and Darrell Laham. An introduction to latent semantic analysis. Discourse processes, 25(2-3):259&#x2013;284, 1998.<br>[8] Jeffrey Pennington, Richard Socher, and Christopher D Manning. GloVe : Global Vectors for Word Representation. In Proceedings of the Empiricial Methods in Natural Language Processing, 2014.<br>[9] Fernando Pereira, Naftali Tishby, and Lillian Lee. Distributional clustering of english words. In Proceedings of the 31st annual meeting on Association for Computational Linguistics, pages 183&#x2013;190, 1993.<br>[10] Peter F Brown, Peter V Desouza, Robert L Mercer, Vincent J Della Pietra, and Jenifer C Lai. Class-based n-gram models of natural language. Computational linguistics, 18(4):467&#x2013;479, 1992.<br>[11] Robert M. Bell and Yehuda Koren. Lessons from the netflix prize challenge. SIGKDD Explor. Newsl., 9:75&#x2013;79, 2007.<br>[12]Joseph Turian, Lev Ratinov, and Yoshua Bengio. Word representations: a simple and general method for semi-supervised learning.<br>[13] Wei Xu and Alex Rudnicky. Can artificial neural networks learn language models? In Sixth International Conference on Spoken Language Processing, 2000.<br>[14] Yoshua Bengio, R&#xE9;jean Ducharme, and Pascal Vincent. A neural probabilistic language model. In Advances in Neural Information Processing Systems, pages 932&#x2013;938, 2001.<br>[15] Yoshua Bengio, R&#xE9;jean Ducharme, Pascal Vincent, and Christian Jauvin. A Neural Probabilistic Language Model. The Journal of Machine Learning Research, 3:1137&#x2013;1155, 2003.<br>[16] Andriy Mnih and Geoffrey Hinton. Three new graphical models for statistical language modelling. In Proceedings of the 24th international conference on Machine learning, pages 641&#x2013;648, 2007.<br>[17] Andriy Mnih and Geoffrey E Hinton. A scalable hierarchical distributed language model. In Advances in neural information processing systems, pages 1081&#x2013;1088, 2008.<br>[18] Andriy Mnih and Koray Kavukcuoglu. Learning word embeddings efficiently with noise-contrastive estimation. In Advances in Neural Information Processing Systems, pages 2265&#x2013;2273, 2013.<br>[19] Tom&#xE1;&#x161; Mikolov. Statistical language models based on neural networks. PhD thesis, Brno University of Technology, 2012.<br>[20] Tomas Mikolov, Martin Karafi&#xE1;t, Lukas Burget, Jan Cernock&#x1EF3;, and Sanjeev Khudanpur. Recurrent neural network based language model. In INTERSPEECH 2010, 11th Annual Conference of the International Speech Communication Association, pages 1045&#x2013;1048, 2010.<br>[21]Ronan Collobert and Jason Weston. A unified architecture for natural language processing: Deep neural networks with multitask learning. International Conference on Machine Learning, 2008<br>[22]Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representations in vector space. International Conference on Learning Representations Workshop Track, 2013.<br>[23]Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems, pages 3111&#x2013;3119, 2013<br>[24] Turian J, Ratinov L, Bengio Y. Word representations: a simple and general method for semi-supervised learning[C]// ACL 2010, Proceedings of the, Meeting of the Association for Computational Linguistics, July 11-16, 2010, Uppsala, Sweden. 2010:780-1.<br>[25] Omer Levy and Yoav Goldberg. Neural word embedding as implicit matrix factorization. In Advances in Neural Information Processing Systems, pages 2177&#x2013;2185, 2014.<br>[26] Yitan Li, Linli Xu, Fei Tian, Liang Jiang, Xiaowei Zhong, and Enhong Chen. Word embedding revisited: A new representation learning and explicit matrix factorization perspective.<br>[27] Pennington J, Socher R, Manning C. Glove: Global Vectors for Word Representation[C]// Conference on Empirical Methods in Natural Language Processing. 2014.<br>[28]Ronan Collobert, Jason Weston, L&#xB4;eon Bottou,Michael Karlen, Koray Kavukcuoglu, and Pavel Kuksa. 2011. Natural Language Processing (Almost) from Scratch. JMLR, 12:2493&#x2013;2537<br>[29] Minh-Thang Luong, Richard Socher, and Christopher D Manning. 2013. Better word representations with recursive neural networks for morphology. CoNLL-2013<br>[30] Omer Levy, Yoav Goldberg, and Israel Ramat-Gan. 2014. Linguistic regularities in sparse and explicit word representations. CoNLL-2014.<br>[31] Scott Deerwester, Susan T. Dumais, George W. Furnas, Thomas K. Landauer, and Richard Harshman. 1990. Indexing by latent semantic analysis. Journal of the American Society for Information Science, 41.<br>[32] Yogatama D, Faruqui M, Dyer C, et al. Learning Word Representations with Hierarchical Sparse Coding[J]. Eprint Arxiv, 2014.<br>[33] Scott Deerwester, Susan T. Dumais, George W. Furnas, Thomas K. Landauer, and Richard Harshman. 1990. Indexing by latent semantic analysis. Journal of the American Society for Information Science, 41.<br>[34] Bellegarda J R. A latent semantic analysis framework for large-Span language modeling.[C]// European Conference on Speech Communication and Technology, Eurospeech 1997, Rhodes, Greece, September. 1997.<br>[35] R. Kneser and H. Ney. Improved backing-off for m-gram language modeling. In International Conference on Acoustics, Speech and Signal Processing, pages 181&#x2013;184, 1995.<br>[36] T.R. Niesler, E.W.D. Whittaker, and P.C. Woodland. Comparison of part-of-speech and automatically derived category-based language models for speech recognition. In International Conference on Acoustics, Speech and Signal Processing, pages 177&#x2013;180, 1998.<br>[37] Deerwester S, Dumais S T, Furnas G W, et al. Indexing by latent semantic analysis[J]. Journal of the Association for Information Science and Technology, 1990, 41(6):391-407.<br>[38] Hinton, G. E. (2002). Training products of experts by minimizing contrastive divergence. Neural Computation, 14, 1711&#x2013;1800.<br>[39] FredericMorin and Yoshua Bengio. Hierarchical probabilistic neural network language model. In Robert G. Cowell and Zoubin Ghahramani, editors, AISTATS&#x2019;05, pages 246&#x2013;252, 2005<br>[40] Goodman, J. (2001b). Classes for fast maximum entropy training. In International Conference on Acoustics, Speech, and Signal Processing, Utah.<br>[41] M.U. Gutmann and A. Hyv&#xA8;arinen. Noise-contrastive estimation of unnormalized statistical models, with applications to natural image statistics. Journal of Machine Learning Research, 13:307&#x2013;361, 2012.<br>[42] Gutmann M U, Hyv&amp;#, Rinen A. Noise-contrastive estimation of unnormalized statistical models, with applications to natural image statistics[J]. Journal of Machine Learning Research, 2012, 13(1):307-361.<br>[43] Faruqui M, Dodge J, Jauhar S K, et al. Retrofitting Word Vectors to Semantic Lexicons[J]. Eprint Arxiv, 2014.<br>[44] Perozzi B, Alrfou R, Skiena S. DeepWalk: online learning of social representations[J]. Eprint Arxiv, 2014:701-710.<br>[45] Tang J, Qu M, Wang M, et al. LINE: Large-scale Information Network Embedding[J]. 2015.<br>[46] Yu M, Dredze M. Improving Lexical Embeddings with Semantic Knowledge[C]// Meeting of the Association for Computational Linguistics. 2014:545-550.<br>[47] Manaal Faruqui and Chris Dyer. 2014. Improving vector space word representations using multilingual correlation. In Proceedings of EACL<br>[48] Canny J, Zhao H, Jaros B, et al. Machine learning at the limit[C]// IEEE International Conference on Big Data. IEEE Computer Society, 2015:233-242.<br>[49] Ji S, Satish N, Li S, et al. Parallelizing Word2Vec in Shared and Distributed Memory[J]. 2016.<br>[50]Yang Z, Cohen W W, Salakhutdinov R. Revisiting Semi-Supervised Learning with Graph Embeddings[J]. 2016.</p>
<p>Author: ShawnXiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x5982;&amp;#x4F55;&amp;#x5229;&amp;#x7528;&amp;#x6587;&amp;#x672C;&amp;#x7684;&amp;#x4E0A;&amp;#x4E0B;&amp;#x6587;&amp;#x4FE1;&amp;#x606F;&amp;#xFF0C;&amp;#x5F97;&amp;#x5230;&amp;#x66F4;&amp;#x6709;&amp;
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="neural networks" scheme="https://mlnote.com/tags/neural-networks/"/>
    
      <category term="word embedding" scheme="https://mlnote.com/tags/word-embedding/"/>
    
  </entry>
  
  <entry>
    <title>简介语法分析开源神经网络SyntaxNet</title>
    <link href="https://mlnote.com/2016/12/10/SyntaxNet%20Neural-Models-of-Syntax/"/>
    <id>https://mlnote.com/2016/12/10/SyntaxNet Neural-Models-of-Syntax/</id>
    <published>2016-12-09T16:00:00.000Z</published>
    <updated>2016-12-12T13:43:30.920Z</updated>
    
    <content type="html"><![CDATA[<p>SyntaxNet&#x5728;github&#x6587;&#x6863;&#x5F00;&#x6E90;&#x90E8;&#x5206;&#x4ECB;&#x7ECD;&#x4E86;&#x4E24;&#x4E2A;&#x6A21;&#x578B;&#xFF1A;&#x8BCD;&#x6027;&#x6807;&#x6CE8;&#x548C;&#x8BED;&#x6CD5;&#x4F9D;&#x5B58;&#x5206;&#x6790;&#xFF0C;&#x8BBA;&#x6587;&#x4E2D;&#x8FD8;&#x6709;&#x53E5;&#x5B50;&#x538B;&#x7F29;&#x90E8;&#x5206;&#x5185;&#x5BB9;&#x3002;[<a href="https://github.com/tensorflow/models/tree/master/syntaxnet#annotating-a-corpus" target="_blank" rel="external">github&#x5730;&#x5740;</a>]&#xFF0C;[<a href="https://github.com/tensorflow/models/tree/master/syntaxnet#annotating-a-corpus" target="_blank" rel="external">&#x76F8;&#x5173;&#x6587;&#x6863;</a>], [<a href="https://arxiv.org/abs/1603.06042" target="_blank" rel="external">&#x5BF9;&#x5E94;&#x8BBA;&#x6587;</a> ]&#x3002;<br>&#x5BF9;&#x5E94;&#x8BBA;&#x6587;&#x4E00;&#x4F5C;&#x4E3A;andor&#xFF0C;&#x9488;&#x5BF9;&#x4E09;&#x4E2A;&#x4EFB;&#x52A1;&#xFF0C;&#x6E10;&#x8FDB;&#x5F0F;&#x4ECB;&#x7ECD;&#x4E86;&#x8BCD;&#x6027;&#x6807;&#x6CE8;(part-of-speech)&#xFF0C;&#x4F9D;&#x5B58;&#x5206;&#x6790;&#xFF0C;&#x53E5;&#x5B50;&#x538B;&#x7F29;&#x4E09;&#x4E2A;&#x90E8;&#x5206;&#x5DE5;&#x4F5C;&#x3002;&#x4F9D;&#x5B58;&#x5206;&#x6790;&#x4F7F;&#x7528;&#x4E86;&#x8BCD;&#x6027;&#x6807;&#x6CE8;&#x7684;&#x8F93;&#x51FA;&#x4F5C;&#x4E3A;&#x8F93;&#x5165;&#x7279;&#x5F81;&#xFF0C;&#x800C;&#x53E5;&#x5B50;&#x538B;&#x7F29;&#x5219;&#x7528;&#x4E86;&#x524D;&#x4E24;&#x4E2A;&#x4EFB;&#x52A1;&#x7684;&#x7ED3;&#x679C;&#x4F5C;&#x4E3A;&#x8F93;&#x5165;&#x7279;&#x5F81;&#x3002; &#x63A5;&#x4E0B;&#x6765;&#x987A;&#x5E8F;&#x4ECB;&#x7ECD;&#x4E0B;&#x4E09;&#x4E2A;&#x5DE5;&#x4F5C;&#xFF1A;</p>
<h4 id="Part-of-Speech-Tagging"><a href="#Part-of-Speech-Tagging" class="headerlink" title="Part-of-Speech Tagging"></a>Part-of-Speech Tagging</h4><p>&#x8BAD;&#x7EC3;&#x65B9;&#x5F0F;&#xFF1A;<br>&#x4ECE;&#x5DE6;&#x5230;&#x53F3;&#x8BAD;&#x7EC3;&#xFF0C;&#x7ED9;&#x5B9A;&#x4E00;&#x4E2A;&#x8BCD;&#xFF0C;&#x62BD;&#x53D6;&#x8BE5;&#x8BCD;&#x548C;&#x7A97;&#x53E3;&#x5185;&#x7684;&#x7279;&#x5F81;&#x4F5C;&#x4E3A;&#x7F51;&#x7EDC;&#x7684;&#x8F93;&#x5165;&#xFF0C;&#x8F93;&#x51FA;&#x4E3A;&#x8BCD;&#x6027;&#x6807;&#x7B7E;&#xFF0C;&#x65E0;&#x5168;&#x5C40;&#x89E3;&#x7801;&#x90E8;&#x5206;&#x3002;<br>&#x5B9E;&#x9A8C;&#x4E2D;&#x7279;&#x5F81;&#x6BD4;&#x8F83;&#x7B80;&#x5355;&#xFF0C;&#x6CA1;&#x6709;&#x7528;&#x590D;&#x6742;&#x7684;&#x4EBA;&#x5DE5;&#x7279;&#x5F81;&#x8BBE;&#x8BA1;&#xFF0C;&#x7279;&#x5F81;&#x8BBE;&#x8BA1;&#x4E3A;&#x5F53;&#x524D;&#x8BCD;&#x7684;$ \pm 3$ &#x4E2A;token&#x7A97;&#x53E3;&#x7684;&#x8BCD;&#xFF0C;&#x7C7B;&#x522B;&#xFF0C;&#x5B57;&#x7B26;&#x7EA7;&#x522B;n-gram(up to length3)&#xFF0C;&#x524D;4&#x4E2A;token&#x7684;&#x9884;&#x6D4B;tag&#x3002;&#x5F97;&#x5230;&#x6240;&#x6709;&#x7279;&#x5F81;&#x62FC;&#x63A5;&#x8D77;&#x6765;&#x4F5C;&#x4E3A;&#x7F51;&#x7EDC;&#x7684;&#x8F93;&#x5165;&#x3002;&#x8F93;&#x51FA;&#x4E3A;&#x5F53;&#x524D;&#x4F4D;&#x7F6E;&#x5404;&#x4E2A;&#x6807;&#x7B7E;&#x7684;&#x5F52;&#x4E00;&#x5316;&#x6982;&#x7387;&#x3002;<br>&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x5982;&#x4E0B;&#xFF0C;&#x53C2;&#x8003;[7, cheng, 2014]&#xFF1A;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1480572771201.png" alt="&#x56FE;&#x793A;&#xFF1A;&#x524D;&#x9988;SytaxNet&#x7F51;&#x7EDC;&#x7ED3;&#x6784;"><br>Parsey McParseface[1, Daniel Andor, 2016]&#x5728;postag&#x4E0A;&#x7684;&#x8868;&#x73B0;&#xFF1A;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1480589639091.png" alt="postag&#x5B9E;&#x9A8C;&#x6548;&#x679C;"></p>
<h4 id="Dependency-Parsing-Transition-Based-Parsing"><a href="#Dependency-Parsing-Transition-Based-Parsing" class="headerlink" title="Dependency Parsing: Transition-Based Parsing"></a>Dependency Parsing: Transition-Based Parsing</h4><p>&#x7B80;&#x5355;&#x4ECB;&#x7ECD;&#x4F9D;&#x5B58;&#x5206;&#x6790;&#x4EFB;&#x52A1;&#xFF0C;&#x8BCD;&#x4E4B;&#x95F4;&#x7684;&#x4F9D;&#x5B58;&#x5173;&#x7CFB;&#x5982;&#x4E0B;&#x56FE;&#xFF1A;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1480577956630.png" alt="&#x4F9D;&#x5B58;&#x793A;&#x610F;&#x56FE;"><br>&#x77E5;&#x9053;&#x8BCD;&#x4E4B;&#x95F4;&#x7684;&#x4F9D;&#x5B58;&#x5173;&#x7CFB;&#x6709;&#x52A9;&#x4E8E;&#x6211;&#x4EEC;&#x56DE;&#x7B54;&#x95EE;&#x9898;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;<br>&#x201C;I saw the man with glasses&#x201D;&#xFF0C;&#x5F97;&#x5230;&#x5982;&#x4E0B;&#x4F9D;&#x5B58;&#x7ED3;&#x6784;&#x540E;&#xFF0C;&#x53EF;&#x4EE5;&#x6BD4;&#x8F83;&#x5BB9;&#x6613;&#x56DE;&#x7B54;&#x201D;whom did I see?, who saw the man with glasses?&#x201D;&#x8FD9;&#x7C7B;&#x95EE;&#x9898;&#x3002;<br>&#x6A21;&#x578B;&#x91C7;&#x7528;arc-standard transition system&#x65B9;&#x5F0F;&#xFF0C;&#x901A;&#x8FC7;&#x5B66;&#x4E60;&#x4E00;&#x7CFB;&#x5217;&#x64CD;&#x4F5C;&#x5F97;&#x5230;&#x53E5;&#x5B50;&#x7684;&#x8BED;&#x6CD5;&#x6811;&#x3002;&#x5B9A;&#x4E49;&#x4E24;&#x4E2A;&#x7ED3;&#x6784;stack&#x548C;buffer&#xFF0C;&#x6709;&#x5982;&#x4E0B;&#x4E09;&#x4E2A;&#x64CD;&#x4F5C;&#x3002;</p>
<ul>
<li><em>SHIFT</em>: &#x5C06;&#x5355;&#x8BCD;&#x653E;&#x5165;stack&#x4E2D;&#x3002;&#x6BD4;&#x4ECE;buffer&#x4E2D;&#x53D6;&#x51FA;&#x4E00;&#x4E2A;&#x8BCD;&#xFF0C;&#x653E;&#x5165;stack</li>
<li><em>LEFT_ARC</em>: &#x4ECE;stack&#x4E2D;&#x53D6;&#x51FA;&#x5934;&#x4E24;&#x4E2A;&#x8BCD;.&#x5C06;&#x7B2C;&#x4E8C;&#x4E2A;&#x8BCD;&#x7684;&#x4F9D;&#x5B58;&#x5173;&#x7CFB;&#x6307;&#x5411;&#x524D;&#x4E00;&#x4E2A;&#xFF0C;&#x7BAD;&#x5934;&#x5411;&#x5DE6;</li>
<li><em>RIGHT_ARC</em>: &#x4ECE;stack&#x4E2D;&#x53D6;&#x51FA;&#x5934;&#x4E24;&#x4E2A;&#x8BCD;&#xFF0C;&#x4E5F;&#x662F;&#x5C06;&#x7B2C;&#x4E8C;&#x4E2A;&#x8BCD;&#x6307;&#x5411;&#x540E;&#x4E00;&#x4E2A;&#x8BCD;&#xFF0C;&#x4F46;&#x7BAD;&#x5934;&#x5411;&#x53F3;</li>
</ul>
<p>&#x6B64;&#x4E3A;&#x4E0A;&#x8FF0;&#x4E09;&#x4E2A;&#x64CD;&#x4F5C;&#x7684;&#x52A8;&#x56FE;&#xFF0C;&#x60F3;&#x4E86;&#x89E3;&#x4F9D;&#x5B58;&#x5206;&#x6790;&#x66F4;&#x591A;&#x77E5;&#x8BC6;&#xFF0C;&#x53EF;&#x4EE5;&#x53C2;&#x770B;&#x8BBA;&#x6587;[<a href="http://www.mitpressjournals.org/doi/pdfplus/10.1162/coli.07-056-R1-07-027" target="_blank" rel="external">2, Nivre  2007</a>] &#xFF1A;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1480578966814.gif" alt="(SHIFT) (LEFT_ARC) (RIGHT_ARC) &#x64CD;&#x4F5C;&#x793A;&#x610F;&#x56FE;"><br>&#x5B9E;&#x9A8C;&#x4E2D;&#x4F7F;&#x7528;&#x7684;&#x8BED;&#x6599;&#x4E0E;POS&#x4EFB;&#x52A1;&#x4E00;&#x6837;&#xFF0C;&#x7279;&#x5F81;&#x4E3A;&#x7A97;&#x53E3;&#x5185;&#x7684;&#x8BCD;&#xFF0C;POS&#xFF0C;&#x9644;&#x8FD1;&#x8BCD;&#x7684;&#x4F9D;&#x5B58;&#x5173;&#x7CFB;(&#x9884;&#x6D4B;&#x5F97;&#x5230;&#x7684;k-best&#x7ED3;&#x679C;)</p>
<p>&#x8BAD;&#x597D;&#x7684;&#x6A21;&#x578B;Parsey McParseface&#xFF0C;&#x62A5;&#x544A;&#x6027;&#x80FD;&#x5982;&#x4E0B;&#xFF1A;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1480563001353.png" alt="McParseface &#x8BED;&#x6CD5;&#x4F9D;&#x5B58;&#x5206;&#x6790;&#x5B9E;&#x9A8C;&#x6548;&#x679C;"><br>&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x548C;&#x524D;&#x8FF0;POS&#x7565;&#x6709;&#x533A;&#x522B;&#xFF0C;&#x5728;softmax&#x5C42;&#x4E0A;&#x589E;&#x52A0;&#x4E86;CRF&#x5C42;&#xFF0C;&#x8BAD;&#x7EC3;&#x6A21;&#x578B;&#x5206;&#x4E24;&#x6B65;&#xFF1A; </p>
<ol>
<li>local: &#x4F7F;&#x7528;&#x5C40;&#x90E8;&#x7684;&#x6570;&#x636E;&#x7A97;&#x53E3;&#x5BF9;&#x6A21;&#x578B;&#x8FDB;&#x884C;pre-train&#xFF0C;&#x8BAD;&#x7EC3;&#x96C6;&#x8BAD;&#x9876;&#x5C42;&#x4E3A;softmax&#x7684;nn&#x7F51;&#x7EDC;&#xFF0C;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x4E3A;&#x5C40;&#x90E8;&#x5F52;&#x4E00;&#x5316;&#x635F;&#x5931;&#x51FD;&#x6570;&#xFF0C;&#x6B64;&#x5904;&#x5F97;&#x5230;&#x5C40;&#x90E8;&#x6A21;&#x578B;&#x3002;&#x8FD9;&#x91CC;&#x548C;&#x524D;&#x9762;&#x8BAD;&#x7EC3;POStag&#x6A21;&#x578B;&#x5F88;&#x50CF;&#xFF0C;&#x4E5F;&#x6709;&#x7528;&#x5230;POStag&#x6A21;&#x578B;&#x7684;&#x8F93;&#x51FA;&#x7ED3;&#x679C;&#x3002;</li>
<li>global: &#x4FDD;&#x7559;&#x9664;&#x4E86;&#x9876;&#x5C42;softmax&#x5C42;&#x5916;&#x5176;&#x4ED6;&#x5C42;&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x7528;&#x5168;&#x5C40;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x8FDB;&#x884C;&#x4E8C;&#x6B21;&#x8BAD;&#x7EC3;&#xFF0C;&#x5F97;&#x5230;&#x5168;&#x5C40;&#x6A21;&#x578B;&#x3002;&#x5728;&#x8BAD;&#x7EC3;&#x8FC7;&#x7A0B;&#x4E2D;&#x6709;&#x4E2A;&#x7EC6;&#x8282;&#xFF0C;&#x5982;&#x679C;&#x5728;&#x67D0;&#x4E2A;&#x4F4D;&#x7F6E;&#x7684;&#x4EBA;&#x5DE5;&#x6807;&#x6CE8;tag&#x843D;&#x5728;beam(beam search&#x7684;&#x7EA6;&#x675F;[3, Bottou, 1997])&#x5916;&#xFF0C;&#x5219;&#x6362;&#x7528;&#x53E6;&#x4E00;&#x4E2A;&#x5305;&#x542B;&#x76EE;&#x6807;&#x6807;&#x7B7E;&#x7684;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x8FDB;&#x884C;&#x68AF;&#x5EA6;&#x8BA1;&#x7B97;&#x3002;</li>
</ol>
<p>&#x5177;&#x4F53;&#x5168;&#x5C40;&#x6A21;&#x578B;&#x548C;&#x5C40;&#x90E8;&#x6A21;&#x578B;&#x7684;&#x7EC6;&#x8282;&#xFF0C;&#x53C2;&#x89C1;[1, Daniel Andor, 2016]&#xFF0C;&#x8FD9;&#x79CD;&#x8BAD;&#x7EC3;&#x65B9;&#x5F0F;&#x548C;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x66F4;&#x65E9;&#x5728;[8, Weiss, 2015]&#x4E2D;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x3002;&#x6587;&#x4E2D;&#x5BF9;&#x4E8E;&#x4E8C;&#x8005;&#x6027;&#x80FD;&#x5DEE;&#x5F02;&#x8FDB;&#x884C;&#x4E86;&#x7406;&#x8BBA;&#x8BBA;&#x8BC1;&#x3002;&#x8BAD;&#x7EC3;&#x4E2D;&#x91C7;&#x7528;&#x4E0A;&#x8FF0;&#x7ED3;&#x5408;&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x80FD;&#x52A0;&#x5FEB;&#x6A21;&#x578B;&#x7684;&#x6536;&#x655B;&#x3002;<br>&#x6CE8;&#xFF1A;&#x7B2C;&#x4E00;&#x5C0F;&#x8282;&#x4ECB;&#x7ECD;POS&#x65F6;&#xFF0C;&#x8BBA;&#x6587;POS&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;&#x6700;&#x597D;&#x7ED3;&#x679C;&#x4E3A;global Normalization&#xFF0C;&#x5F00;&#x6E90;&#x7684;McParseface&#x6587;&#x6863;&#x91CC;&#x5BF9;POS&#x4EFB;&#x52A1;&#x91C7;&#x7528;&#x7684;&#x662F;local Normalization&#xFF0C;&#x8FD9;&#x91CC;&#x9700;&#x8981;&#x505A;&#x533A;&#x5206;&#xFF0C;&#x4E4B;&#x524D;&#x548C;&#x6CE2;&#x5927;&#x795E;&#x804A;&#x7684;&#x65F6;&#x5019;&#x81EA;&#x5DF1;&#x6CA1;&#x770B;&#x6E05;&#x3002;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1480592941779.png" alt="&#x56FE;&#x793A;&#xFF1A;&#x5168;&#x5C40;&#x5F52;&#x4E00;&#x5316;SytaxNet&#x7684;&#x793A;&#x610F;&#xFF0C;Beam Search&#x53EF;&#x4EE5;&#x5BF9;&#x5168;&#x5C40;&#x6700;&#x4F18;&#x8FDB;&#x884C;&#x8FD1;&#x4F3C;"></p>
<h4 id="Sentence-Compression"><a href="#Sentence-Compression" class="headerlink" title="Sentence Compression"></a>Sentence Compression</h4><p>&#x53E5;&#x5B50;&#x538B;&#x7F29;&#x5E0C;&#x671B;&#x5728;&#x4E0D;&#x53D1;&#x751F;&#x8F6C;&#x4E49;&#x524D;&#x63D0;&#x4E0B;&#xFF0C;&#x5BF9;&#x53E5;&#x5B50;&#x7684;&#x975E;&#x4E3B;&#x5E72;&#x90E8;&#x5206;&#x8FDB;&#x884C;&#x5220;&#x51CF;&#x3002;<br>&#x57FA;&#x7EBF;&#x4E3A;&#x4E09;&#x5C42;LSTM&#x53E0;&#x52A0;&#x6A21;&#x578B;[4, Filippova, 2015]&#xFF0C;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x5982;&#x4E0B;&#x56FE;&#x3002;decode&#x9636;&#x6BB5;&#x6709;&#x90E8;&#x5206;&#x7EC6;&#x8282;&#x4E0D;&#x540C;&#xFF1A;&#x5148;&#x9006;&#x5E8F;&#x8F93;&#x5165;&#x53E5;&#x5B50;&#x4E2D;&#x6BCF;&#x4E00;&#x4E2A;&#x8BCD;&#xFF0C;&#x518D;&#x6B63;&#x5E8F;&#x8F93;&#x5165;&#x53E5;&#x5B50;&#x4E2D;&#x6BCF;&#x4E00;&#x4E2A;&#x8BCD;&#x5F00;&#x59CB;&#x6253;&#x5206;&#x3002;&#x7528;&#x5230;&#x7684;&#x7279;&#x5F81;&#x4E3A;&#xFF1A;&#x5F53;&#x524D;&#x8BCD;&#x7684;&#x8BCD;&#x5411;&#x91CF;(256&#x7EF4;)[5, Mikolov, 2013]&#xFF0C;&#x524D;&#x8BCD;&#x7684;label(3&#x7EF4;: 1/0/EOF)&#x3002;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1480750909667.png" alt="&#x57FA;&#x7EBF;&#x6A21;&#x578B;&#x7ED3;&#x6784;&#x56FE;"><br>&#x57FA;&#x7EBF;&#x5355;&#x5C42;LSTM&#x7ED3;&#x6784;&#xFF0C;&#x8F93;&#x5165;&#x6570;&#x636E;&#x4EE5;&#x56DE;&#x6587;&#x65B9;&#x5F0F;&#x8FDB;&#x884C;&#xFF0C;&#x5E94;&#x8BE5;&#x6709;Bi-directional LSTM&#x7ED3;&#x6784;&#x4E0A;&#x7C7B;&#x4F3C;&#x7684;&#x6548;&#x679C;&#x3002;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1481072439671.png" alt="&#x5355;&#x5C42;LSTM&#x7ED3;&#x6784;"></p>
<p>NN&#x7684;&#x8BAD;&#x7EC3;&#x5F80;&#x5F80;&#x9700;&#x8981;&#x5927;&#x91CF;&#x7684;&#x8BED;&#x6599;&#x624D;&#x80FD;&#x4FDD;&#x8BC1;&#x6536;&#x655B;&#xFF0C;&#x57FA;&#x7EBF;&#x7684;&#x4F5C;&#x8005;[6, Filippova, 2013]&#x63D0;&#x51FA;&#x4E86;&#x4E00;&#x79CD;&#x542F;&#x53D1;&#x5F0F;&#x6784;&#x9020;&#x8BED;&#x6599;&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x65B0;&#x95FB;&#x7684;&#x6807;&#x9898;&#x662F;&#x9AD8;&#x6D53;&#x7F29;&#x7684;&#x53E5;&#x5B50;&#xFF0C;&#x4ECE;&#x65B0;&#x95FB;&#x7684;&#x6807;&#x9898;&#x548C;&#x6B63;&#x6587;&#x4E2D;&#x7684;&#x53E5;&#x5B50;&#x91CC;&#xFF0C;&#x62BD;&#x53D6;&#x51FA;&#x6807;&#x9898;&#x5BF9;&#x5E94;&#x7684;&#x539F;&#x53E5;&#xFF0C;&#x7EC4;&#x6210;&#x538B;&#x7F29;&#x53E5;&#x5BF9;(&#x539F;&#x53E5;=&gt;&#x6807;&#x9898;)&#x3002;&#x672C;&#x6587;&#x5B9E;&#x9A8C;&#x4E2D;&#x4F5C;&#x8005;&#x62BD;&#x53D6;&#x4E86;2.3M&#x538B;&#x7F29;&#x53E5;&#x5BF9;&#xFF0C;2M&#x4F5C;&#x4E3A;&#x8BAD;&#x7EC3;&#x96C6;&#xFF0C;130K&#x4F5C;&#x4E3A;&#x5F00;&#x53D1;&#x96C6;&#xFF0C;160K&#x4F5C;&#x4E3A;&#x6D4B;&#x8BD5;&#x96C6;&#x3002;<br>&#x5B9E;&#x9A8C;&#x4E2D;&#x53E5;&#x5B50;&#x538B;&#x7F29;&#x4EFB;&#x52A1;&#x7684;&#x6A21;&#x578B;&#x7ED3;&#x6784;&#x548C;&#x524D;&#x8FF0;&#x4EFB;&#x52A1;&#x4E00;&#x81F4;&#xFF0C;&#x9690;&#x5C42;&#x4E3A;400&#x4E2A;&#x8282;&#x70B9;(&#x4EE3;&#x7801;&#x4E2D;&#x8BBE;&#x5B9A;&#x4E3A;200*200)&#x3002;<br>&#x7279;&#x5F81;&#x8BBE;&#x7F6E;&#xFF1A;&#x7A97;&#x53E3;&#x5185;&#x8BCD;&#x7684;&#x7279;&#x5F81;&#xFF0C;POS&#xFF0C;&#x4F9D;&#x5B58;&#x5173;&#x7CFB;&#xFF0C;&#x524D;&#x8BCD;&#x7684;&#x9884;&#x6D4B;&#x7ED3;&#x679C;&#x3002;&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;&#x5982;&#x4E0B;&#x56FE;&#xFF1A;<br><img src="/2016/12/10/SyntaxNet Neural-Models-of-Syntax/./1480756346351.png" alt="&#x53E5;&#x5B50;&#x538B;&#x7F29;&#x5B9E;&#x9A8C;&#x6548;&#x679C;"></p>
<p>&#x6CE8;&#xFF1A;andor&#x7684;&#x8BBA;&#x6587;pos&#x548C;&#x8BED;&#x6CD5;&#x4F9D;&#x5B58;&#x6548;&#x679C;&#x4E0D;&#x9519;&#xFF0C;&#x53E5;&#x5B50;&#x538B;&#x7F29;&#x8FD9;&#x90E8;&#x5206;&#x5DE5;&#x4F5C;&#x5219;&#x672A;&#x80FD;&#x80DC;&#x8FC7;Filippova&#xFF0C;&#x5982;&#x679C;&#x9700;&#x8981;&#x8C03;&#x7814;&#x5EFA;&#x8BAE;&#x91C7;&#x7528;Filippova&#x8BBA;&#x6587;&#x91CC;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;andor&#x62A5;&#x544A;&#x91CC;&#x901F;&#x5EA6;100&#x500D;&#x4E8E;Filippova&#xFF0C;&#x5E94;&#x8BE5;&#x662F;&#x6CA1;&#x8003;&#x8651;&#x4E86;POS&#x548C;&#x4F9D;&#x5B58;&#x5206;&#x6790;&#x4E24;&#x4E2A;&#x524D;&#x7F6E;&#x4EFB;&#x52A1;&#x7684;&#x8017;&#x65F6;&#xFF0C;&#x5DE5;&#x7A0B;&#x5B9E;&#x73B0;&#x4E0A;&#x901F;&#x5EA6;&#x53EF;&#x80FD;&#x672A;&#x5FC5;&#x6709;&#x4F18;&#x52BF;&#x3002;</p>
<p>[1] Andor D, Alberti C, Weiss D, et al. Globally Normalized Transition-Based Neural Networks[J]. 2016.<br>[2] Nivre2006] Joakim Nivre. 2006. Inductive Dependency Parsing. Springer-Verlag New York, Inc.<br>[3] L&#xB4;eon Bottou, Yann Le Cun, and Yoshua Bengio. 1997. Global training of document processing systems using graph transformer networks. In Proceedings of Computer Vision and Pattern Recognition (CVPR), pages 489&#x2013;493.<br>[4]Filippova K, Alfonseca E, Colmenares C A, et al. Sentence Compression by Deletion with LSTMs[C] Conference on Empirical Methods in Natural Language Processing. 2015.<br>[5] Mikolov, T., I. Sutskever, K. Chen, G. S. Corrado &amp; J. Dean (2013). Distributed representations of words and phrases and their compositionality. In Advances in Neural Information Processing Systems, pp. 3111&#x2013;3119.<br>[6] Filippova K, Altun Y. Overcoming the lack of parallel data in sentence compression[C] 2013.<br>[7] Chen D, Manning C. A Fast and Accurate Dependency Parser using Neural Networks[C]// Conference on Empirical Methods in Natural Language Processing. 2014.<br>[8] Weiss D, Alberti C, Collins M, et al. Structured Training for Neural Network Transition-Based Parsing[J]. Computer Science, 2015.<br>Author&#xFF1A; shawnxiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;SyntaxNet&amp;#x5728;github&amp;#x6587;&amp;#x6863;&amp;#x5F00;&amp;#x6E90;&amp;#x90E8;&amp;#x5206;&amp;#x4ECB;&amp;#x7ECD;&amp;#x4E86;&amp;#x4E24;&amp;#x4E2A;&amp;#x6A21;&amp;#x578B;&amp;#xFF1A;&amp;#
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="neural networks" scheme="https://mlnote.com/tags/neural-networks/"/>
    
      <category term="SyntaxNet" scheme="https://mlnote.com/tags/SyntaxNet/"/>
    
      <category term="CRF" scheme="https://mlnote.com/tags/CRF/"/>
    
  </entry>
  
  <entry>
    <title>简述FastDBT和LightGBM中GBDT的实现</title>
    <link href="https://mlnote.com/2016/11/18/The-realization-of-GBDT-in-LightGBM-and-FastDBT/"/>
    <id>https://mlnote.com/2016/11/18/The-realization-of-GBDT-in-LightGBM-and-FastDBT/</id>
    <published>2016-11-17T16:00:00.000Z</published>
    <updated>2016-11-26T02:56:56.101Z</updated>
    
    <content type="html"><![CDATA[<p>FastDBT&#x548C;LightGBM&#x5728;XGBoost&#x4E4B;&#x540E;&#x63D0;&#x51FA;&#xFF0C;FastBDT&#x9488;&#x5BF9;&#x591A;&#x7C7B;&#x522B;&#x95EE;&#x9898;&#x8FDB;&#x884C;&#x4E86;&#x4F18;&#x5316;&#xFF0C;&#x4ECE;&#x5B9E;&#x73B0;&#x5C42;&#x9762;&#x83B7;&#x5F97;&#x4E86;&#x66F4;&#x5FEB;&#x7684;&#x8BAD;&#x7EC3;&#x901F;&#x5EA6;&#xFF0C;LightGBM&#x5219;&#x5728;&#x6811;&#x7684;&#x751F;&#x6210;&#x8FDB;&#x884C;&#x4E86;&#x6539;&#x8FDB;&#xFF0C;&#x6587;&#x7AE0;&#x6309;&#x4EE5;&#x4E0B;&#x601D;&#x8DEF;&#x4ECB;&#x7ECD;</p>
<ol>
<li>FastDBT&#x7B80;&#x4ECB;&#x53CA;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#xFF0C;LightGBM&#x7B80;&#x4ECB;</li>
<li>&#x4ECE;&#x7B97;&#x6CD5;&#x5C42;&#x9762;&#x8BA8;&#x8BBA;&#x4E0B;&#x4E09;&#x8005;&#x7684;&#x5F02;&#x540C;&#x70B9;</li>
</ol>
<h4 id="FastDBT&#x7BC7;"><a href="#FastDBT&#x7BC7;" class="headerlink" title="FastDBT&#x7BC7;"></a>FastDBT&#x7BC7;</h4><p>&#x6811;&#x6A21;&#x578B;&#x4ECE;&#x6A21;&#x578B;&#x5C42;&#x9762;&#x548C;&#x5B9E;&#x73B0;&#x5C42;&#x9762;&#x4E24;&#x79CD;&#x53EF;&#x884C;&#x7684;&#x6539;&#x8FDB;&#x65B9;&#x5F0F;&#xFF1A;1.&#x6A21;&#x578B;&#x5C42;&#x9762;&#x7684;&#x6539;&#x8FDB;&#xFF1A;&#x5982;SGBDT&#x91C7;&#x7528;&#x7684;&#x6837;&#x672C;&#x91C7;&#x6837;&#x65B9;&#x5F0F;[1]&#xFF0C;&#x6216;&#x8005;&#x5BF9;&#x5F31;&#x4F5C;&#x7528;&#x7279;&#x5F81;&#x7684;&#x526A;&#x679D;[2]&#x3002;2.&#x5B9E;&#x73B0;&#x5C42;&#x9762;&#x7684;&#x6539;&#x8FDB;&#xFF0C;&#x89C1;&#x5F15;&#x6587;[3].FastDBT&#x5EF6;&#x7EED;&#x81EA;SGBDT&#xFF0C;SGBDT&#x5728;&#x6BCF;&#x5C42;&#x6811;&#x7684;&#x6784;&#x5EFA;&#x4E2D;&#x5E76;&#x975E;&#x6240;&#x6709;&#x6837;&#x672C;&#x90FD;&#x4F7F;&#x7528;&#x5230;&#xFF0C;&#x6309;&#x53C2;&#x6570;$\alpha$&#x5BF9;&#x6570;&#x636E;&#x8FDB;&#x884C;&#x968F;&#x673A;&#x91C7;&#x6837;&#x3002;<br>FastDBT&#x6709;&#x5982;&#x4E0B;&#x4E09;&#x4E2A;&#x5B9E;&#x73B0;&#x5C42;&#x9762;&#x4E0A;&#x7684;&#x52A0;&#x901F;&#xFF1A;</p>
<ol>
<li>&#x6570;&#x636E;&#x5728;&#x5185;&#x5B58;&#x7684;&#x5B58;&#x50A8;&#x65B9;&#x5F0F;&#xFF0C;&#x5206;&#x4E3A;&#x4E24;&#x79CD;a.&#x7ED3;&#x6784;&#x4F53;&#x6570;&#x636E;&#xFF0C;b.&#x6570;&#x7EC4;&#x7ED3;&#x6784;&#x4F53;&#xFF0C;&#x5982;&#x4E0B;&#x56FE;1&#x3002;&#x533A;&#x522B;&#x5728;&#x4E8E;&#x5F53;&#x5BF9;&#x5176;&#x4E2D;&#x4E00;&#x7EF4;&#x7279;&#x5F81;&#x8FDB;&#x884C;&#x904D;&#x5386;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x6309;&#x6570;&#x7EC4;&#x7ED3;&#x6784;&#x4F53;&#x7684;&#x65B9;&#x5F0F;&#x5B58;&#x50A8;&#x4F7F;&#x5F97;&#x5185;&#x5B58;&#x8FDE;&#x7EED;&#xFF0C;&#x63D0;&#x5347;&#x5185;&#x5B58;&#x8BBF;&#x95EE;&#x901F;&#x5EA6;&#x3002;</li>
<li>&#x5C06;&#x6B63;&#x4F8B;&#x8D1F;&#x4F8B;&#x8FDB;&#x884C;&#x533A;&#x5206;&#x5B58;&#x50A8;&#xFF0C;&#x51CF;&#x5C11;&#x4E00;&#x534A;&#x5DE6;&#x53F3;&#x7684;&#x8BA1;&#x7B97;&#x7D2F;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;(calculation of the cumulative probability histograms&#xFF0C; CPH)&#x7F13;&#x5B58;&#x5360;&#x7528;&#xFF0C;&#x540C;&#x65F6;&#x8282;&#x7EA6;&#x4E86;if&#x5224;&#x65AD;&#x6761;&#x4EF6;&#x8DF3;&#x8F6C;&#x7684;&#x6D6A;&#x8D39;&#x3002;</li>
<li>&#x540C;&#x5C42;&#x8282;&#x70B9;&#x5E76;&#x884C;&#x8BA1;&#x7B97;&#x3002;&#x7531;&#x4E8E;&#x6BCF;&#x5C42;&#x7684;&#x8282;&#x70B9;&#x7684;&#x6570;&#x636E;&#x6765;&#x81EA;&#x4E8E;&#x88AB;&#x7236;&#x8282;&#x70B9;&#x5206;&#x5272;&#x7684;&#x5B50;&#x96C6;&#xFF0C;FastBDT&#x5728;&#x5BF9;&#x4E0D;&#x540C;&#x7684;&#x8282;&#x70B9;&#x540C;&#x65F6;&#x8BA1;&#x7B97;CPH&#xFF08;&#x4E34;&#x65F6;&#x5B58;&#x50A8;&#x591A;&#x4E2A;&#x8282;&#x70B9;&#x70B9;&#x7684;CPH&#xFF09;&#xFF0C;&#x53EF;&#x4EE5;&#x8FDE;&#x7EED;&#x8FDB;&#x884C;&#x5185;&#x5B58;&#x8BBF;&#x95EE;&#x907F;&#x514D;&#x8DF3;&#x8DC3;&#x3002;<br><img src="/2016/11/18/The-realization-of-GBDT-in-LightGBM-and-FastDBT/./1479211430534.png" alt="&#x56FE;1&#xFF1A;&#x6570;&#x636E;&#x5185;&#x5B58;&#x5E03;&#x5C40;"></li>
</ol>
<p>&#x4E0B;&#x9762;&#x8FDB;&#x884C;FastDBT&#x5EFA;&#x6811;&#x90E8;&#x5206;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#xFF1A;<br><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div><div class="line">29</div><div class="line">30</div><div class="line">31</div><div class="line">32</div><div class="line">33</div><div class="line">34</div><div class="line">35</div><div class="line">36</div><div class="line">37</div></pre></td><td class="code"><pre><div class="line">main()</div><div class="line">  -&gt;train()</div><div class="line">    -&gt;data=readDataFile() <span class="comment">//data&#x7ED3;&#x6784;&#x4E3A;&#xFF1A;vector&lt;vector&lt;float&gt;&gt;</span></div><div class="line">    <span class="comment">//&#x4E0A;&#x4E00;&#x6B65;&#x6570;&#x636E;&#x4F5C;&#x4E3A;2D&#x5411;&#x91CF;&#x8BFB;&#x5165;</span></div><div class="line">    <span class="comment">//FastDBT&#x9700;&#x8981;&#x5206;&#x6876;&#x540E;&#x7684;&#x6570;&#x636E;,&#x4F7F;&#x7528;FeatureBinning&#x5BF9;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x5206;&#x6876;&#x3002;</span></div><div class="line">    <span class="comment">//&#x5148;&#x521D;&#x59CB;&#x5316;FeatureBinning&#xFF0C;&#x5BF9;&#x4E8E;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#xFF0C;&#x904D;&#x5386;&#x6240;&#x6709;&#x6837;&#x672C;&#x5BF9;&#x5E94;&#x7684;&#x7279;&#x5F81;&#x503C;&#xFF0C;&#x8FDB;&#x884C;&#x5206;&#x6876;&#x8FB9;&#x754C;&#x7684;&#x521D;&#x59CB;&#x5316;</span></div><div class="line">	<span class="keyword">for</span>(<span class="keyword">unsigned</span> <span class="keyword">int</span> iFeature = <span class="number">0</span>; iFeature &lt; numberOfFeatures; ++iFeature)</div><div class="line">	    <span class="comment">//&#x679A;&#x4E3E;&#x7279;&#x5F81;&#xFF0C;&#x5F97;&#x5230;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#x7279;&#x5F81;&#x503C;&#x5217;&#x8868;</span></div><div class="line">        <span class="built_in">std</span>::<span class="built_in">vector</span>&lt;<span class="keyword">double</span>&gt; feature;</div><div class="line">        feature.reserve(numberOfEvents);</div><div class="line">        <span class="keyword">for</span>(<span class="keyword">auto</span> &amp;event : data) </div><div class="line">          feature.push_back( event[iFeature] )</div><div class="line">        <span class="comment">//&#x6839;&#x636E;&#x7279;&#x5F81;&#x503C;&#x8FDB;&#x884C;&#x5BF9;&#x5E94;&#x6876;&#x7684;&#x8BBE;&#x5B9A;&#xFF0C;</span></div><div class="line">        featureBinnings.push_back(FastBDT::FeatureBinning&lt;<span class="keyword">double</span>&gt;(nCuts, feature)); </div><div class="line">        nBinningLevels.push_back(nCuts)</div><div class="line"> </div><div class="line">   <span class="comment">//eventSample&#x5B58;&#x50A8;&#x5B8C;&#x6210;&#x7279;&#x5F81;&#x503C;-&gt;&#x5206;&#x6876;index&#x7684;&#x6570;&#x636E;</span></div><div class="line">   <span class="comment">//&#x5C06;&#x6570;&#x636E;&#x5206;&#x4E3A;signal&#x548C;background&#x4E24;&#x4E2A;&#x90E8;&#x5206;&#xFF08;1&#x4E3A;signal&#xFF0C;0&#x4E3A;background&#xFF09;&#xFF0C;&#x63D0;&#x4F9B;&#x66F4;&#x5FEB;&#x5730;&#x8BBF;&#x95EE;&#x901F;&#x5EA6;</span></div><div class="line">   <span class="keyword">for</span>(<span class="keyword">auto</span> &amp;event : data)</div><div class="line">     <span class="keyword">for</span>(<span class="keyword">unsigned</span> <span class="keyword">int</span> iFeature = <span class="number">0</span>; iFeature &lt; numberOfFeatures; ++iFeature)</div><div class="line">	   <span class="comment">//&#x627E;&#x5230;&#x5F53;&#x524D;&#x6837;&#x672C;&#x7279;&#x5F81;&#x503C;&#x5BF9;&#x5E94;&#x7279;&#x5F81;&#x6240;&#x5C5E;&#x7684;&#x6876;</span></div><div class="line">       bins[iFeature] = featureBinnings[iFeature].ValueToBin( event[iFeature])</div><div class="line">       <span class="comment">// bins&#x5B58;&#x6709;&#x8BE5;&#x6837;&#x672C;&#x7684;&#xFF0C;&#x6743;&#x91CD;&#x4E3A;1</span></div><div class="line">	   <span class="comment">//signal&#x53D6;&#x51B3;&#x4E8E;&#x6570;&#x636E;&#x7684;_class&#x6807;&#x7B7E;&#x662F;&#x5426;&#x4E3A;1;1&#x5219;&#x662F;&#x6B63;&#x4F8B;&#xFF0C;&#x5426;&#x5219;&#x4E3A;&#x8D1F;&#x4F8B;&#x3002;</span></div><div class="line">        eventSample.AddEvent(bins, <span class="number">1.0</span>, <span class="number">_</span><span class="keyword">class</span> == <span class="number">1</span>)</div><div class="line">        </div><div class="line">    <span class="comment">//ForestBuilder&#x7C7B;&#x8D1F;&#x8D23;&#x6811;&#x6A21;&#x578B;&#x7684;&#x8BAD;&#x7EC3;</span></div><div class="line">    <span class="comment">//&#x8F93;&#x5165;&#x4E3A;&#x6570;&#x636E;eventSample&#xFF0C;&#x6811;&#x7684;&#x4E2A;&#x6570;nTrees</span></div><div class="line">	<span class="comment">//&#x6811;&#x7684;&#x6B63;&#x5219;&#x5316;&#x56E0;&#x5B50;Shrinkage&#xFF0C;&#x91C7;&#x6837;&#x7387;randRatio,&#x5C42;&#x6570;nLevels</span></div><div class="line">    FastBDT::ForestBui1lder dt(eventSample, nTrees, shrinkage, randRatio, nLevels)</div><div class="line">    <span class="comment">//&#x5C06;&#x751F;&#x6210;&#x7684;&#x6811;&#x7EC4;&#x5408;&#x4E3A;forest</span></div><div class="line">    FastBDT::Forest&lt;<span class="keyword">double</span>&gt; forest( dt.GetShrinkage(), dt.GetF0(), <span class="literal">true</span>)</div><div class="line">    <span class="keyword">for</span>( <span class="keyword">auto</span> t : dt.GetForest() )</div><div class="line">    <span class="comment">//&#x5C06;&#x6811;&#x7684;&#x8282;&#x70B9;&#x7531;index&#x8F6C;&#x4E3A;&#x7279;&#x5F81;&#x503C;</span></div><div class="line">      <span class="keyword">auto</span> tmp=removeFeatureBinningTransformationFromTree(t,            </div><div class="line">               featureBinnings)</div><div class="line">      forest.AddTree(tmp)</div></pre></td></tr></table></figure></p>
<p>&#x6709;&#x51E0;&#x4E2A;&#x5B9E;&#x73B0;&#x7EC6;&#x8282;&#x6BD4;&#x8F83;trick&#x9700;&#x8981;&#x63D0;&#x4E00;&#x4E0B;</p>
<ol>
<li><p>FeatureBinning&#x7684;&#x5185;&#x90E8;&#x5B9E;&#x73B0;&#x91C7;&#x7528;&#x4E86;&#x4E8C;&#x5206;&#x67E5;&#x627E;&#x6811;&#xFF08;&#x8C03;&#x4E86;&#x51E0;&#x4E2A;&#x5C0F;&#x65F6;&#x4EE3;&#x7801;&#x6CA1;&#x5F04;&#x660E;&#x767D;&#xFF0C;&#x5E78;&#x4E8F;Thomas&#x89E3;&#x7B54;&#x5E76;&#x5E2E;&#x5FD9;&#x589E;&#x52A0;&#x4E86;&#x6CE8;&#x91CA;&#xFF09;<br>&#x7279;&#x5F81;&#x503C;&#x5206;&#x6876;&#x6838;&#x5FC3;&#x4EE3;&#x7801;&#xFF1A;</p>
<figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//&#x679A;&#x4E3E;&#x6BCF;&#x4E00;&#x5C42;&#x6811;</span></div><div class="line"><span class="keyword">for</span>(<span class="keyword">uint64_t</span> iLevel = <span class="number">0</span>; iLevel &lt; nLevels; ++iLevel):</div><div class="line">  <span class="comment">//&#x6876;&#x7684;&#x6570;&#x76EE;double</span></div><div class="line">  <span class="keyword">const</span> <span class="keyword">uint64_t</span> nBins = (<span class="number">1</span> &lt;&lt; iLevel)</div><div class="line">  <span class="comment">//&#x679A;&#x4E3E;&#x6BCF;&#x4E2A;&#x6876;</span></div><div class="line">  <span class="keyword">for</span>(<span class="keyword">uint64_t</span> iBin = <span class="number">0</span>; iBin &lt; nBins; ++iBin) {</div><div class="line">  <span class="comment">//&#x8BB0;&#x7279;&#x5F81;&#x503C;&#x4E0B;&#x6807;&#x4E3A; size/2^(iLevel+1)+iBin*size/2^iLevel</span></div><div class="line">  <span class="comment">//&#x7B2C;bin_index&#x6307;&#x5411;&#x7684;&#x6709;&#x5E8F;&#x7279;&#x5F81;&#x7684;&#x5BF9;&#x5E94;&#x4E8C;&#x5206;&#x67E5;&#x627E;&#x4F4D;&#x7F6E;</span></div><div class="line">  binning[++bin_index] = \</div><div class="line">    first[(size &gt;&gt; (iLevel+<span class="number">1</span>)) + ((iBin*size) &gt;&gt; iLevel)]</div></pre></td></tr></table></figure>
</li>
<li><p>ForestBuilder&#x7C7B;&#x7684;&#x521D;&#x59CB;&#x5316;&#x65F6;&#x5B8C;&#x6210;SGBDT&#x6BCF;&#x4E00;&#x68F5;&#x6811;&#x7684;&#x7EA7;&#x8054;<br>boosting&#x8FC7;&#x7A0B;&#x7684;&#x6838;&#x5FC3;&#x4EE3;&#x7801;&#xFF1A;</p>
<figure class="highlight"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div></pre></td><td class="code"><pre><div class="line">//&#x751F;&#x6210;nTrees&#x68F5;&#x6811;</div><div class="line">for(unsigned int iTree = 0; iTree &lt; nTrees; ++iTree):   </div><div class="line">// Update the event weights according to their F value</div><div class="line">// &#x4F7F;&#x7528;&#x5BF9;&#x5E94;&#x7684;F&#x503C;&#x8FDB;&#x884C;&#x66F4;&#x65B0;&#x6BCF;&#x4E2A;&#x6837;&#x672C;&#x7684;&#x6743;&#x91CD;&#xFF0C;F&#x503C;&#x4E3A;pseudo_response</div><div class="line">updateEventWeights(sample)</div><div class="line">// Prepare the flags of the events</div><div class="line">// &#x6839;&#x636E;randRatio&#x8FDB;&#x884C;&#x91C7;&#x6837;&#xFF0C;eventsamples&#x5185;&#x6709;flag&#x53EF;&#x4EE5;&#x6807;&#x8BB0;&#x6837;&#x672C;&#x662F;&#x5426;&#x53EF;&#x7528;</div><div class="line">prepareEventSample(sample, randRatio, sPlot ) </div><div class="line">// TreeBuilder&#x7C7B;&#x8FDB;&#x884C;&#x5355;&#x68F5;&#x6811;&#x7684;&#x751F;&#x6210;, nLayersPerTree&#x4E3A;&#x6811;&#x7684;&#x5C42;</div><div class="line">TreeBuilder builder(nLayersPerTree, sample)</div><div class="line">//&#x5C06;&#x751F;&#x6210;&#x7684;&#x6811;&#x52A0;&#x5165;&#x5230;&#x68EE;&#x6797;&#x4E2D;</div><div class="line">forest.push_back( Tree&lt;unsigned int&gt;( builder.GetCuts(), \</div><div class="line">      builder.GetNEntries(), builder.GetPurities(), \</div><div class="line">      builder.GetBoostWeights() ) )</div></pre></td></tr></table></figure>
</li>
<li><p>TreeBuilder&#x7C7B;&#x5B8C;&#x6210;&#x5355;&#x68F5;&#x6811;&#x7684;&#x751F;&#x6210;<br>TreeBuilder&#x6838;&#x5FC3;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#xFF1A;</p>
<figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//&#x751F;&#x6210;&#x6BCF;&#x4E00;&#x68F5;&#x6811;&#x9700;&#x8981;&#x63A2;&#x7D22;&#x7684;&#x8282;&#x70B9;&#xFF0C;&#x5B58;&#x5728;nodes&#x5217;&#x8868;</span></div><div class="line"><span class="keyword">for</span>(<span class="keyword">unsigned</span> <span class="keyword">int</span> iLayer = <span class="number">0</span>; iLayer &lt;= nLayers; ++iLayer) </div><div class="line">  <span class="keyword">for</span>(<span class="keyword">unsigned</span> <span class="keyword">int</span> iNode = <span class="number">0</span>; iNode &lt; (<span class="number">1</span>&lt;&lt;iLayer); ++iNode)</div><div class="line">        nodes.push_back( Node(iLayer, iNode) );</div><div class="line"><span class="comment">// &#x6BCF;&#x68F5;&#x6811;&#x7684;&#x8282;&#x70B9;&#x662F;&#x4ECE;&#x9876;&#x5411;&#x4E0B;&#xFF0C;&#x4ECE;&#x5DE6;&#x5230;&#x53F3;&#x751F;&#x6210;&#xFF0C;</span></div><div class="line"><span class="comment">// &#x6811;&#x662F;&#x8D2A;&#x5FC3;&#x6CD5;&#x751F;&#x6210;&#xFF0C;&#x6211;&#x4EEC;&#x8FED;&#x4EE3;&#x8BA1;&#x7B97;&#x6BCF;&#x4E00;&#x5C42;&#x7684;&#x8282;&#x70B9;</span></div><div class="line"><span class="comment">// &#x5BF9;&#x4E8E;&#x4E0D;&#x540C;&#x7684;&#x5206;&#x88C2;&#x8282;&#x70B9;&#x548C;&#x7279;&#x5F81;&#xFF0C;&#x751F;&#x6210;&#x6B63;&#x8D1F;&#x4F8B;&#x7684;&#x7D2F;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;</span></div><div class="line"><span class="keyword">for</span>(<span class="keyword">unsigned</span> <span class="keyword">int</span> iLayer = <span class="number">0</span>; iLayer &lt; nLayers; ++iLayer) </div><div class="line">  <span class="comment">//&#x8BA1;&#x7B97;&#x7D2F;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;&#xFF0C;signal,background&#x5206;&#x522B;&#x8BA1;&#x7B97;</span></div><div class="line">  <span class="comment">//&#x7531;&#x4E8E;signal,background&#x5728;&#x5B58;&#x50A8;&#x4E0A;&#x7269;&#x7406;&#x5206;&#x79BB;&#xFF0C;&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x8FDE;&#x7EED;&#x8BBF;&#x95EE;</span></div><div class="line">  <span class="function">CumulativeDistributions <span class="title">CDFs</span><span class="params">(iLayer, sample)</span> </span></div><div class="line">  <span class="comment">//&#x9009;&#x62E9;&#x5408;&#x9002;&#x7684;&#x7279;&#x5F81;&#x548C;&#x503C;&#xFF0C;&#x66F4;&#x65B0;&#x5230;&#x5F53;&#x524D;&#x8282;&#x70B9;</span></div><div class="line">  <span class="title">UpdateCuts</span><span class="params">(CDFs, iLayer)</span> </div><div class="line">  <span class="comment">//&#x91C7;&#x6837;&#x6570;&#x636E;&#xFF0C;SGBDT&#x7279;&#x6709;&#x64CD;&#x4F5C;</span></div><div class="line">  <span class="title">UpdateFlags</span><span class="params">(sample)</span> </div><div class="line">  <span class="comment">//&#x6839;&#x636E;&#x5206;&#x88C2;&#x8282;&#x70B9;&#x5212;&#x5206;&#x6837;&#x672C;</span></div><div class="line">  <span class="title">UpdateEvents</span><span class="params">(sample, iLayer)</span></div></pre></td></tr></table></figure>
</li>
<li><p>&#x8BA1;&#x7B97;&#x7D2F;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;&#xFF0C;&#x5F97;&#x5230;&#x6B63;&#x4F8B;&#x548C;&#x8D1F;&#x4F8B;&#x7684;&#x7D2F;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;</p>
<figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//&#x5BF9;&#x4E8E;&#x6240;&#x6709;&#x5728;&#x8FD9;&#x4E00;&#x5C42;&#x7684;&#x8282;&#x70B9;&#xFF0C;&#x6BCF;&#x4E00;&#x4E2A;&#x7279;&#x5F81;&#xFF0C;&#x586B;&#x5145;&#x7D2F;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;bins</span></div><div class="line"><span class="comment">//&#x5C06;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#x7684;bins&#x8FDB;&#x884C;&#x586B;&#x5145;</span></div><div class="line"><span class="keyword">for</span>(<span class="keyword">int</span> iEvent = firstEvent; iEvent &lt; lastEvent; ++iEvent)</div><div class="line">  <span class="keyword">for</span>(<span class="keyword">int</span> iFeature = <span class="number">0</span>; iFeature &lt; nFeatures; ++iFeature )</div><div class="line">    <span class="keyword">int</span> subindex = nBinSums[iFeature] + values.Get(iEvent,iFeature);</div><div class="line">    bins[index+subindex] += weights.Get(iEvent);</div><div class="line">    <span class="comment">//&#x5728;&#x524D;&#x4E00;&#x6B65;&#x5F97;&#x5230;&#x7684;bins&#x4E2D;&#xFF0C;&#x987A;&#x5E8F;&#x7D2F;&#x8BA1;&#x6240;&#x6709;&#x7684;&#x6876;&#x5185;&#x7684;&#x503C;&#xFF0C;&#x5F97;&#x5230;&#x7D2F;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;</span></div><div class="line">  <span class="keyword">for</span>(<span class="keyword">int</span> iNode = <span class="number">0</span>; iNode &lt; nNodes; ++iNode) {</div><div class="line">    <span class="keyword">for</span>(<span class="keyword">int</span> iFeature = <span class="number">0</span>; iFeature &lt; nFeatures; ++iFeature)</div><div class="line">    <span class="comment">// &#x4ECE;&#x4F4D;&#x7F6E;2&#x8D77;&#x59CB;&#x662F;&#x56E0;&#x4E3A;0&#x4F4D;&#x7F6E;&#x653E;&#x7F6E;&#x975E;&#x81EA;&#x7136;&#x6570;</span></div><div class="line">    <span class="keyword">for</span>(<span class="keyword">int</span> iBin = <span class="number">2</span>; iBin &lt; nBins[iFeature]; ++iBin)</div><div class="line">      <span class="keyword">unsigned</span> <span class="keyword">int</span> index = iNode*nBinSums.back() \</div><div class="line">                           + nBinSums[iFeature] + iBin;</div><div class="line">      bins[index] += bins[index<span class="number">-1</span>];</div></pre></td></tr></table></figure>
</li>
<li><p>&#x6839;&#x636E;&#x6B63;&#x8D1F;&#x4F8B;&#x7684;&#x7D2F;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;&#xFF0C;&#x67E5;&#x627E;&#x6700;&#x4F18;&#x5206;&#x88C2;&#x70B9;</p>
<figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div></pre></td><td class="code"><pre><div class="line">Weight currentLoss = LossFunction(signal, bckgrd);</div><div class="line"><span class="comment">//&#x904D;&#x5386;&#x6BCF;&#x4E00;&#x4E2A;&#x7279;&#x5F81;&#x7684;&#x6BCF;&#x4E00;&#x4E2A;&#x6876;</span></div><div class="line"><span class="keyword">for</span>(<span class="keyword">int</span> iFeature = <span class="number">0</span>; iFeature &lt; nFeatures; ++iFeature)</div><div class="line">  <span class="comment">// &#x4ECE;&#x4F4D;&#x7F6E;2&#x8D77;&#x59CB;&#x662F;&#x56E0;&#x4E3A;0&#x4F4D;&#x7F6E;&#x653E;&#x7F6E;&#x975E;&#x81EA;&#x7136;&#x6570;</span></div><div class="line">  <span class="keyword">for</span>(<span class="keyword">unsigned</span> <span class="keyword">int</span> iCut = <span class="number">2</span>; iCut &lt; nBins[iFeature]; ++iCut) {</div><div class="line">    Weight s = CDFs.GetSignal(iNode, iFeature, iCut<span class="number">-1</span>);</div><div class="line">    Weight b = CDFs.GetBckgrd(iNode, iFeature, iCut<span class="number">-1</span>);</div><div class="line">    <span class="comment">//&#x8BA1;&#x7B97;&#x57FA;&#x5C3C;&#x7CFB;&#x6570;&#xFF0C;&#x4ECE;&#x51FD;&#x6570;&#x770B;&#x8FD9;&#x91CC;&#x5E94;&#x8BE5;&#x662F;&#x7B80;&#x5316;&#x7684;&#x57FA;&#x5C3C;&#x7CFB;&#x6570;</span></div><div class="line">    Weight currentGain = currentLoss - \</div><div class="line">            LossFunction( signal-s, bckgrd-b ) - LossFunction( s, b );</div><div class="line">	<span class="keyword">if</span>( cut.gain &lt;= currentGain ) </div><div class="line">        cut.gain = currentGain;</div><div class="line">        cut.feature = iFeature;</div><div class="line">        cut.index = iCut;</div><div class="line">        cut.valid = <span class="literal">true</span>;</div></pre></td></tr></table></figure>
</li>
</ol>
<p>&#x5230;&#x8FD9;&#x91CC;&#x4E3A;&#x6B62;&#xFF0C;&#x6211;&#x4EEC;&#x5DF2;&#x7ECF;&#x770B;&#x5B8C;&#x51E0;&#x4E2A;&#x91CD;&#x8981;&#x7684;&#x6A21;&#x5757;&#xFF0C;&#x5173;&#x4E8E;FastBDT&#x7684;&#x4ECB;&#x7ECD;&#x544A;&#x4E00;&#x6BB5;&#x843D;&#xFF0C;&#x6709;&#x9700;&#x8981;&#x7684;&#x540C;&#x5B66;&#x53EF;&#x4EE5;&#x7EE7;&#x7EED;&#x5728;github&#x4E0A;&#x9605;&#x8BFB;&#x66F4;&#x8BE6;&#x7EC6;&#x7684;&#x4EE3;&#x7801;&#xFF0C;&#x9644;&#x4E0A;<a href="https://github.com/thomaskeck/FastBDT" target="_blank" rel="external">&#x4EE3;&#x7801;&#x4ED3;&#x5E93;&#x5730;&#x5740;</a>&#x3002;</p>
<h4 id="LightGBM&#x7BC7;"><a href="#LightGBM&#x7BC7;" class="headerlink" title="LightGBM&#x7BC7;"></a>LightGBM&#x7BC7;</h4><p>LightGBM&#x4E3B;&#x8981;&#x601D;&#x8DEF;&#x8FD8;&#x5728;GBDT&#x6846;&#x67B6;&#x5185;&#xFF0C;&#x91CD;&#x590D;&#x90E8;&#x5206;&#x4E0D;&#x518D;&#x8D58;&#x8FF0;&#xFF0C;&#x8FD9;&#x7BC7;&#x6211;&#x6253;&#x7B97;&#x5077;&#x4E2A;&#x61D2;&#xFF0C;&#x628A;LightGBM&#x7684;&#x65B0;&#x7279;&#x6027;&#x7EC6;&#x6570;&#x4E00;&#x904D;&#xFF0C;&#x5F53;&#x7136;&#x9644;&#x4E0A;&#x8BE6;&#x7EC6;&#x7684;&#x7B97;&#x6CD5;&#x6587;&#x6863;&#xFF0C;&#x91CC;&#x9762;&#x4ECB;&#x7ECD;&#x5F88;&#x5230;&#x4F4D;&#xFF1A;&#x300A;LightGBM&#x4E2D;&#x7684;GBDT&#x5B9E;&#x73B0;&#x300B;@chenghuige <a href="http://pan.baidu.com/s/1eShwTfc" target="_blank" rel="external">&#x7F51;&#x76D8;&#x5730;&#x5740;</a>&#xFF0C;<a href="https://github.com/Microsoft/LightGBM" target="_blank" rel="external">&#x4EE3;&#x7801;&#x4ED3;&#x5E93;&#x5730;&#x5740;</a>&#x3002;</p>
<ol>
<li>&#x5355;&#x673A;&#x91C7;&#x7528;Histogram&#x7B97;&#x6CD5;&#xFF0C;&#x8FD9;&#x70B9;&#x540C;FastBDT&#x4E00;&#x6837;&#xFF0C;&#x800C;XGboost&#x5355;&#x673A;&#x662F;Greedy&#x8FDB;&#x884C;&#x7684;&#x3002;</li>
<li>&#x5927;&#x591A;&#x6570;GBDT&#x5DE5;&#x5177;(FastDBT/XGboost)&#x6309;&#x9010;&#x5C42;(level wise)&#x7684;&#x65B9;&#x5F0F;&#x8FDB;&#x884C;&#x751F;&#x957F;&#xFF0C;&#x800C;LightGBM&#x4ECE;&#x5F53;&#x524D;&#x8282;&#x70B9;&#x51FA;&#x53D1;&#x627E;&#x5230;&#x4E00;&#x4E2A;&#x5206;&#x7C7B;&#x589E;&#x76CA;&#x6700;&#x5927;&#x7684;&#x53F6;&#x5B50;&#xFF0C;&#x7136;&#x540E;&#x7EE7;&#x7EED;&#x5206;&#x88C2;(leaf wise)&#xFF0C;&#x5982;&#x6B64;&#x5FAA;&#x73AF;&#x3002;&#x4F18;&#x70B9;&#x662F;&#x5728;&#x5206;&#x7C7B;&#x6B21;&#x6570;&#x76F8;&#x540C;&#x7684;&#x524D;&#x63D0;&#x4E0B;&#xFF0C;&#x53EF;&#x4EE5;&#x5F97;&#x5230;&#x66F4;&#x597D;&#x7684;&#x7CBE;&#x5EA6;&#x3002;&#x7F3A;&#x70B9;&#x53EF;&#x80FD;&#x4F1A;&#x5BFC;&#x81F4;&#x6811;&#x7684;&#x6DF1;&#x5EA6;&#x8FC7;&#x5927;&#xFF0C;&#x89E3;&#x51B3;&#x65B9;&#x5F0F;&#x662F;&#x589E;&#x52A0;&#x6700;&#x5927;&#x6DF1;&#x5EA6;&#x9650;&#x5236;&#x3002;</li>
<li>&#x8BA1;&#x7B97;&#x76F4;&#x65B9;&#x56FE;&#x65F6;&#x7684;&#x4F18;&#x5316;&#xFF1A;&#x907F;&#x514D;&#x91CD;&#x590D;&#x8BA1;&#x7B97;&#x76F4;&#x65B9;&#x56FE;&#xFF0C;&#x6784;&#x9020;&#x4E00;&#x4E2A;&#x53F6;&#x5B50;&#x7684;&#x76F4;&#x65B9;&#x56FE;&#x540E;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x6C42;&#x5DEE;&#x7684;&#x65B9;&#x5F0F;&#x5F97;&#x5230;&#x5B83;&#x5144;&#x5F1F;&#x53F6;&#x5B50;&#x7684;&#x76F4;&#x65B9;&#x56FE;&#x3002;<br><img src="/2016/11/18/The-realization-of-GBDT-in-LightGBM-and-FastDBT/./1479397750179.png" alt="&#x56FE;1 &#x4F18;&#x5316;&#x70B9;"></li>
</ol>
<h4 id="XGboost-FastGBM-LightGBM&#xFF0C;&#x4E09;&#x8005;&#x7684;&#x5F02;&#x540C;&#x70B9;"><a href="#XGboost-FastGBM-LightGBM&#xFF0C;&#x4E09;&#x8005;&#x7684;&#x5F02;&#x540C;&#x70B9;" class="headerlink" title="XGboost/FastGBM/LightGBM&#xFF0C;&#x4E09;&#x8005;&#x7684;&#x5F02;&#x540C;&#x70B9;"></a>XGboost/FastGBM/LightGBM&#xFF0C;&#x4E09;&#x8005;&#x7684;&#x5F02;&#x540C;&#x70B9;</h4><p>&#x4E09;&#x8005;&#x90FD;&#x662F;GBDT&#x5F88;&#x597D;&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x679A;&#x4E3E;&#x51E0;&#x70B9;&#x5F02;&#x540C;&#xFF1A;</p>
<ol>
<li>FastBDT&#x5728;&#x5355;&#x673A;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x8FDB;&#x884C;&#x4E86;&#x6781;&#x81F4;&#x7684;&#x4F18;&#x5316;&#x548C;&#x63A2;&#x7D22;&#xFF0C;&#x5F53;&#x7136;&#x4E5F;&#x9650;&#x5236;&#x4E86;&#x5176;&#x5728;&#x56DE;&#x5F52;&#x95EE;&#x9898;&#x7684;&#x5E94;&#x7528;&#x3002;&#x800C;XGboost&#x548C;LightGBM&#x53EF;&#x4EE5;&#x7528;&#x4E8E;&#x5206;&#x7C7B;&#x548C;&#x56DE;&#x5F52;&#xFF0C;&#x5E76;&#x5F88;&#x597D;&#x652F;&#x6301;&#x4E86;&#x5E76;&#x884C;&#x5316;&#x3002;</li>
<li>XGboost&#x5355;&#x673A;&#x7248;&#x672C;Greedy&#x8FDB;&#x884C;&#xFF0C;&#x5E76;&#x5BF9;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#x6709;&#x8FDB;&#x884C;pre-sort&#x64CD;&#x4F5C;&#xFF0C;&#x5E26;&#x4E86;&#x989D;&#x5916;&#x7684;&#x5F00;&#x9500;&#x3002;&#x8FD9;&#x70B9;&#x5728;FastBDT&#x548C;LightGBM&#x4E2D;&#x8FDB;&#x884C;&#x4E86;&#x89C4;&#x907F;&#x3002;</li>
<li>FastBDT&#x4E2D;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x53D7;SGBDT&#x5F71;&#x54CD;&#x8F83;&#x5927;&#xFF0C;XGboost&#x4E5F;&#x652F;&#x6301;&#x5BF9;&#x6837;&#x672C;&#x7684;&#x91C7;&#x6837;&#xFF0C;LightGBM&#x672A;&#x505A;&#x8003;&#x6838;&#xFF0C;&#x6682;&#x65E0;&#x7ED3;&#x8BBA;&#x3002;</li>
<li>LightGBM&#x9009;&#x62E9;&#x751F;&#x957F;&#x6811;&#x7684;&#x65B9;&#x5F0F;&#x9009;&#x62E9;&#x5206;&#x7C7B;&#x589E;&#x76CA;&#x6700;&#x5927;&#x53F6;&#x5B50;&#x8FDB;&#x884C;&#x751F;&#x957F;&#xFF0C;&#x800C;XGboost&#x548C;FastBDT&#x662F;&#x9010;&#x5C42;&#x8FDB;&#x884C;&#x3002;</li>
</ol>
<p>&#x6B64;&#x5916;&#xFF0C;XGboost&#x5728;&#x4E1A;&#x754C;&#x8FD0;&#x7528;&#x8F83;&#x591A;&#xFF0C;&#x5BF9;&#x5404;&#x5927;&#x5E73;&#x53F0;&#x5F88;&#x53CB;&#x597D;&#xFF0C;&#x76EE;&#x524D;&#x4ECD;&#x6709;&#x6D3B;&#x8DC3;&#x7740;&#x5F88;&#x591A;&#x8D21;&#x732E;&#x8005;&#xFF0C;&#x6700;&#x65B0;&#x8FDB;&#x5C55;&#x4E3A;&#x300A;<a href="http://dmlc.ml/xgboost/2016/07/02/support-dropout-on-xgboost.html" target="_blank" rel="external">Support Dropout on XGBoost</a>&#x300B;</p>
<p>&#x5F15;&#x6587;&#xFF1A;<br>[0]Keck T. FastBDT: A speed-optimized and cache-friendly implementation of stochastic gradient-boosted decision trees for multivariate classification[J]. 2016.<br>[1]Tong Zhang Rie Johnson. Learning nonlinear functions using regularized greedy forest.IEEE Transactions on Pattern Analysis and Machine Intelligence, 36(5):942&#x2013;954, May 2014. doi: 10.1109/TPAMI.2013.159. <a href="http://arxiv.org/abs/1109.0887" target="_blank" rel="external">PDF</a><br>[2]Ron Appel, Thomas Fuchs, Piotr Dollar, and Pietro Perona. Quickly boosting decision trees &#x2013; pruning underachieving features early. In Sanjoy Dasgupta and David Mcallester, editors, Proceedings of the 30th International Conference on Machine Learning (ICML-13), volume 28, pages 594&#x2013;602. JMLR Workshop and Conference Proceedings, May 2013. <a href="http://jmlr.org/proceedings/papers/v28/appel13.pdf" target="_blank" rel="external">PDF</a> .<br>Tong Zhang Rie Johnson. Learning nonlinear functions using regularized greedy forest. IEEE Transactions on Pattern Analysis and Machine Intelligence, 36(5):942&#x2013;954, May 2014. doi: 10.1109/TPAMI.2013.159. <a href="http://arxiv.org/abs/1109.0887" target="_blank" rel="external">PDF</a>.<br>[4]<a href="https://www.zhihu.com/question/51644470/answer/130946285" target="_blank" rel="external">&#x5982;&#x4F55;&#x770B;&#x5F85;&#x5FAE;&#x8F6F;&#x65B0;&#x5F00;&#x6E90;&#x7684;LightGBM?</a>, lightGBM&#x4F5C;&#x8005;@guolinke</p>
<p>PS. &#x5BB6;&#x91CC;&#x6709;&#x4E8B;&#xFF0C;&#x7A7F;&#x63D2;&#x4E86;&#x4E00;&#x6B21;&#x90E8;&#x95E8;bui&#xFF0C;&#x6CA1;&#x65F6;&#x95F4;&#x7801;&#x5B57;&#xFF0C;sorry&#xFF0C;&#x63A5;&#x4E0B;&#x6765;&#x63A2;&#x7D22;&#x4E00;&#x4E0B;embeding&#x65B9;&#x9762;&#x7684;&#x6587;&#x7AE0;&#x3002;<br>ShawnXiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;FastDBT&amp;#x548C;LightGBM&amp;#x5728;XGBoost&amp;#x4E4B;&amp;#x540E;&amp;#x63D0;&amp;#x51FA;&amp;#xFF0C;FastBDT&amp;#x9488;&amp;#x5BF9;&amp;#x591A;&amp;#x7C7B;&amp;#x522B;&amp;#x95EE;&amp;#x9
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="fastBDT" scheme="https://mlnote.com/tags/fastBDT/"/>
    
      <category term="gbdt" scheme="https://mlnote.com/tags/gbdt/"/>
    
      <category term="lightGBM" scheme="https://mlnote.com/tags/lightGBM/"/>
    
  </entry>
  
  <entry>
    <title>XGboost核心源码阅读</title>
    <link href="https://mlnote.com/2016/10/29/xgboost-code-review-with-paper/"/>
    <id>https://mlnote.com/2016/10/29/xgboost-code-review-with-paper/</id>
    <published>2016-10-28T16:00:00.000Z</published>
    <updated>2016-11-17T17:07:20.813Z</updated>
    
    <content type="html"><![CDATA[<p>&#x4E0A;&#x7BC7;&#x300A;<a href="http://mlnote.com/2016/10/05/a-guide-to-xgboost-A-Scalable-Tree-Boosting-System/">xgboost: A Scalable Tree Boosting System&#x8BBA;&#x6587;&#x53CA;&#x6E90;&#x7801;&#x5BFC;&#x8BFB;</a>&#x300B;&#x4ECB;&#x7ECD;&#x4E86;xgboost&#x7684;&#x6846;&#x67B6;&#x548C;&#x4EE3;&#x7801;&#x7ED3;&#x6784;&#x3002;&#x672C;&#x7BC7;&#x5C06;&#x7EE7;&#x7EED;&#x8BA8;&#x8BBA;&#x4EE3;&#x7801;&#x7EC6;&#x8282;&#xFF0C;&#x53EF;&#x80FD;&#x6BD4;&#x8F83;&#x67AF;&#x71E5;&#xFF0C;&#x575A;&#x6301;&#x4E00;&#x4E0B;&#x54C8;&#x3002;<br>&#x63A5;&#x4E0B;&#x6765;&#x6309;&#x8FD9;&#x4E2A;&#x987A;&#x5E8F;&#x6574;&#x7406;&#x7B14;&#x8BB0;&#xFF0C;&#x4ECB;&#x7ECD;xgboost&#x7684;&#x6838;&#x5FC3;&#x4EE3;&#x7801;&#xFF1A;</p>
<ol>
<li>&#x6811;&#x7684;&#x7ED3;&#x6784;&#x5982;&#x4F55;&#xFF1F;</li>
<li>&#x6811;&#x7684;&#x64CD;&#x4F5C;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;<br>&#x4E3B;&#x8981;&#x5305;&#x62EC;&#xFF1A;&#x600E;&#x4E48;&#x751F;&#x6210;&#x4E00;&#x68F5;&#x6811;&#xFF1F; &#x4F55;&#x65F6;&#xFF0C;&#x4E14;&#x5982;&#x4F55;&#x8FDB;&#x884C;&#x526A;&#x679D;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x91C7;&#x6837;&#xFF0C;&#x600E;&#x4E48;&#x91C7;&#x6837;&#xFF1F; &#x5206;&#x5E03;&#x5F0F;&#x5E76;&#x884C;&#x600E;&#x4E48;&#x5B8C;&#x6210;&#xFF1F;</li>
</ol>
<p>&#x4E0A;&#x9762;&#x8FD9;2&#x4E2A;&#x95EE;&#x9898;&#x662F;&#x5BFB;&#x6C42;&#x5B9E;&#x73B0;&#x5177;&#x4F53;&#x7B97;&#x6CD5;&#x7684;&#x601D;&#x8003;&#x8FC7;&#x7A0B;&#xFF0C;&#x7B14;&#x8005;&#x4E5F;&#x5728;&#x4E00;&#x8FB9;&#x8BFB;&#x4E00;&#x8FB9;&#x8BB0;&#x5F55;&#xFF0C;&#x6709;&#x7406;&#x89E3;&#x9519;&#x8C2C;&#x7684;&#x5730;&#x65B9;&#x8BF7;&#x6307;&#x51FA;&#x3002;</p>
<h3 id="&#x6811;&#x7684;&#x7ED3;&#x6784;&#x5982;&#x4F55;&#xFF1F;"><a href="#&#x6811;&#x7684;&#x7ED3;&#x6784;&#x5982;&#x4F55;&#xFF1F;" class="headerlink" title="&#x6811;&#x7684;&#x7ED3;&#x6784;&#x5982;&#x4F55;&#xFF1F;"></a><strong>&#x6811;&#x7684;&#x7ED3;&#x6784;&#x5982;&#x4F55;&#xFF1F;</strong></h3><p>&#x4ECE;&#x4EE3;&#x7801;&#x7684;UML&#x56FE;&#x53EF;&#x4EE5;&#x770B;&#x5230;RegTree&#x6D3E;&#x751F;&#x81EA;TreeModel&#x7C7B;&#xFF0C;TreeModel&#x7C7B;&#x4E2D;&#x5B9A;&#x4E49;&#x4E86;&#x5B50;&#x7C7B;Node&#xFF0C;&#x7ED3;&#x6784;&#x5982;&#x4E0B;&#xFF1A;<br><img src="/2016/10/29/xgboost-code-review-with-paper/./1476501568018.png" alt="&#x6811;&#x7684;&#x5B9A;&#x4E49;"><br>&#x4ECE;&#x4EE3;&#x7801;&#x89D2;&#x5EA6;&#x4ECB;&#x7ECD;&#x4E24;&#x4E2A;&#x91CD;&#x8981;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;TreeModel<br><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//TreeModel&#x4E3B;&#x8981;&#x6210;&#x5458;&#x6709;&#xFF1A;</span></div><div class="line"><span class="built_in">std</span>::<span class="built_in">vector</span>&lt;Node&gt; nodes;<span class="comment">// &#x8282;&#x70B9;</span></div><div class="line"><span class="built_in">std</span>::<span class="built_in">vector</span>&lt;<span class="keyword">int</span>&gt;  deleted_nodes;<span class="comment">// &#x8BB0;&#x5F55;&#x5DF2;&#x5220;&#x9664;&#x8282;&#x70B9;</span></div><div class="line"><span class="built_in">std</span>::<span class="built_in">vector</span>&lt;TNodeStat&gt; stats; <span class="comment">//&#x8282;&#x70B9;&#x7684;&#x7EDF;&#x8BA1;&#x91CF;</span></div><div class="line"><span class="built_in">std</span>::<span class="built_in">vector</span>&lt;bst_float&gt; leaf_vector; <span class="comment">//&#x5B58;&#x50A8;&#x8282;&#x70B9;&#x7684;&#x589E;&#x91CF;&#x4FE1;&#x606F;</span></div><div class="line"></div><div class="line"><span class="comment">//&#x4ECB;&#x7ECD;&#x4E0A;&#x56FE;TreeModel&#x7C7B;&#x7684;&#x4E24;&#x4E2A;&#x6A21;&#x677F;&#x53C2;&#x6570;template&lt;typename TSplitCond, typename TNodeStat&gt;</span></div><div class="line"><span class="keyword">typedef</span> TSplitCond SplitCond; <span class="comment">//&#x5BF9;&#x4E8E;&#x56DE;&#x5F52;&#x6811;&#x7684;&#x8BDD;&#xFF0C;&#x5206;&#x88C2;&#x503C;&#x7C7B;&#x578B;&#x4E3A;float&#x3002;</span></div><div class="line"><span class="comment">//&#x8282;&#x70B9;&#x7684;&#x7EDF;&#x8BA1;&#x91CF;&#x7279;&#x5F81;</span></div><div class="line"><span class="keyword">typedef</span> TNodeStat Nodestat; </div><div class="line"><span class="comment">//Nodestat&#x6839;&#x636E;&#x4E0D;&#x540C;&#x7684;&#x6811;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x5B9A;&#x4E49;&#xFF0C;&#x5982;&#x4E0B;RTreeNodeStat&#x7ED3;&#x6784;&#x4F53;&#x3002;</span></div><div class="line"><span class="keyword">struct</span> RTreeNodeStat{</div><div class="line">loss_chg; <span class="comment">//&#x5F53;&#x524D;&#x8282;&#x70B9;&#x7684;loss change</span></div><div class="line">sum_hess, <span class="comment">//hessian&#x503C;&#x7684;&#x548C;</span></div><div class="line">base_weight, <span class="comment">//&#x5F53;&#x524D;&#x8282;&#x70B9;&#x7684;&#x6743;&#x503C;</span></div><div class="line">leaf_child_cnt, <span class="comment">//&#x5F53;&#x524D;&#x5B69;&#x5B50;&#x8282;&#x70B9;&#x7684;&#x6570;&#x76EE;</span></div><div class="line">}</div></pre></td></tr></table></figure></p>
<p>&#x800C;Node&#x5177;&#x4F53;&#x4EE3;&#x7801;&#x4E3A;&#xFF1A;<br><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">class</span> Node{</div><div class="line"><span class="keyword">int</span> parent_; <span class="comment">//&#x7236;&#x7C7B;</span></div><div class="line"><span class="keyword">int</span> cleft_, cright_; <span class="comment">//&#x5DE6;&#x53F3;&#x53F6;&#x5B50;</span></div><div class="line"><span class="keyword">unsigned</span> sindex_; <span class="comment">//&#x9009;&#x4F5C;&#x5206;&#x5272;&#x8282;&#x70B9;&#x7684;&#x7279;&#x5F81;&#xFF0C;&#x6700;&#x9AD8;&#x4F4D;&#x4EE3;&#x8868;&#x4E86;&#x65B9;&#x5411;&#x5DE6;&#x53F3;&#xFF0C;1&#x8868;&#x793A;&#x5DE6;&#x8FB9;&#x3002;</span></div><div class="line">Info info_; <span class="comment">//union&#x7ED3;&#x6784;&#xFF0C;&#x5B58;&#x50A8;&#x53F6;&#x5B50;&#x7684;&#x503C;&#xFF0C;&#x6216;&#x8005;&#x5206;&#x88C2;&#x6761;&#x4EF6;&#x3002;&#x7ED3;&#x6784;&#x5982;&#x4E0B;&#xFF1A;</span></div><div class="line"><span class="comment">//union Info{</span></div><div class="line"><span class="comment">//float leaf_value;</span></div><div class="line"><span class="comment">//TSplitCond split_cond;</span></div><div class="line"><span class="comment">//};</span></div><div class="line"><span class="comment">//&#x6B64;&#x5916;&#x5305;&#x542B;&#x8BB8;&#x591A;&#x76F8;&#x5173;&#x7684;&#x8282;&#x70B9;&#x64CD;&#x4F5C;&#xFF0C;&#x4F8B;&#x5982;set_split(), set_leaf(), set_parent()</span></div><div class="line">}</div></pre></td></tr></table></figure></p>
<p>&#x5BF9;&#x4E8E;&#x57FA;&#x672C;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x7A0D;&#x4E8B;&#x4E86;&#x89E3;&#x4E4B;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x5F00;&#x59CB;&#x8FDB;&#x5165;&#x4E3B;&#x9898;&#xFF0C;&#x4E5F;&#x662F;&#x6211;&#x7740;&#x624B;&#x5199;&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x7684;&#x76EE;&#x7684;&#xFF1A;</p>
<h3 id="&#x600E;&#x4E48;&#x751F;&#x6210;&#x4E00;&#x68F5;&#x6811;&#xFF1F;"><a href="#&#x600E;&#x4E48;&#x751F;&#x6210;&#x4E00;&#x68F5;&#x6811;&#xFF1F;" class="headerlink" title="&#x600E;&#x4E48;&#x751F;&#x6210;&#x4E00;&#x68F5;&#x6811;&#xFF1F;"></a><strong>&#x600E;&#x4E48;&#x751F;&#x6210;&#x4E00;&#x68F5;&#x6811;&#xFF1F;</strong></h3><p>&#x5728;&#x524D;&#x4E00;&#x7BC7;&#x535A;&#x5BA2;&#x91CC;&#x9762;&#x6BD4;&#x8F83;&#x8BE6;&#x7EC6;&#x6D89;&#x53CA;&#x5230;xgboost&#x7684;&#x4E00;&#x4E9B;&#x7B97;&#x6CD5;&#xFF0C;&#x8FD9;&#x4E9B;&#x4E0D;&#x518D;&#x91CD;&#x590D;&#x53D9;&#x8FF0;&#xFF0C;&#x8FD9;&#x91CC;&#x53C2;&#x8003;&#x4E86;&#x6768;&#x519B;[2]&#x7684;&#x4ECB;&#x7ECD;&#xFF0C;&#x6309;&#x5355;&#x673A;&#x7248;&#x7ED3;&#x5408;&#x524D;&#x9762;&#x4ECB;&#x7ECD;&#x7684;&#x4EE3;&#x7801;&#x7ED3;&#x6784;&#x56FE;&#xFF0C;&#x5148;&#x8FDB;&#x884C;&#x4E00;&#x904D;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#xFF1A;<br><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div><div class="line">29</div><div class="line">30</div><div class="line">31</div><div class="line">32</div><div class="line">33</div><div class="line">34</div><div class="line">35</div><div class="line">36</div><div class="line">37</div><div class="line">38</div><div class="line">39</div><div class="line">40</div><div class="line">41</div><div class="line">42</div><div class="line">43</div><div class="line">44</div><div class="line">45</div><div class="line">46</div><div class="line">47</div><div class="line">48</div><div class="line">49</div><div class="line">50</div><div class="line">51</div><div class="line">52</div><div class="line">53</div><div class="line">54</div><div class="line">55</div><div class="line">56</div><div class="line">57</div></pre></td><td class="code"><pre><div class="line">Cli_main.cc:</div><div class="line">main()</div><div class="line">     -&gt; CLIRunTask()</div><div class="line">          -&gt; CLITrain()</div><div class="line">               -&gt; DMatrix::Load()</div><div class="line">               -&gt; learner = Learner::Create()</div><div class="line">               -&gt; learner-&gt;Configure()</div><div class="line">               -&gt; learner-&gt;InitModel()</div><div class="line">               -&gt; <span class="keyword">for</span> (i = <span class="number">0</span>; i &lt; param.num_round; ++i)<span class="comment">//train</span></div><div class="line">                    -&gt; learner-&gt;UpdateOneIter()</div><div class="line">                    -&gt; learner-&gt;Save()    </div><div class="line">learner.cc:</div><div class="line">Create()</div><div class="line">      -&gt; <span class="keyword">new</span> LearnerImpl() <span class="comment">//&#x6D3E;&#x751F;&#x81EA;learner</span></div><div class="line">Configure() <span class="comment">//&#x914D;&#x7F6E;obj, updater&#x548C;&#x6A21;&#x578B;&#x7684;&#x76F8;&#x5173;&#x53C2;&#x6570;</span></div><div class="line">InitModel()</div><div class="line">     -&gt; LazyInitModel()</div><div class="line">          -&gt; obj_ = ObjFunction::Create()</div><div class="line">               <span class="comment">// objective.cc</span></div><div class="line">               <span class="comment">//  Create():  </span></div><div class="line">               <span class="comment">//    SoftmaxMultiClassObj(multiclass_obj.cc)</span></div><div class="line">               <span class="comment">//    LambdaRankObj(rank_obj.cc)</span></div><div class="line">               <span class="comment">//    RegLossObj(regression_obj.cc)</span></div><div class="line">               <span class="comment">//    PoissonRegression(regression_obj.cc)</span></div><div class="line">          -&gt; gbm_ = GradientBooster::Create()</div><div class="line">               <span class="comment">// gbm.cc</span></div><div class="line">               <span class="comment">//  Create()</span></div><div class="line">               <span class="comment">//  GBTree(gbtree.cc)</span></div><div class="line">               <span class="comment">//  GBLinear(gblinear.cc)               </span></div><div class="line">          -&gt; obj_-&gt;Configure()</div><div class="line">          -&gt; gbm_-&gt;Configure()</div><div class="line">UpdateOneIter()</div><div class="line">      -&gt; PredictRaw() <span class="comment">//&#x9884;&#x6D4B;&#x6837;&#x672C;&#x6807;&#x7B7E;</span></div><div class="line">      -&gt; obj_-&gt;GetGradient() <span class="comment">//&#x8BA1;&#x7B97;&#x6837;&#x672C;&#x7684;&#x4E00;&#x9636;&#x5BFC;&#xFF0C;&#x4E8C;&#x9636;&#x5BFC;</span></div><div class="line">      -&gt; gbm_-&gt;DoBoost() <span class="comment">//&#x8FDB;&#x884C;boost(tree model/linear model)</span></div><div class="line"></div><div class="line"><span class="comment">/*&#x5F53;gbm&#x4E3A;gbtree*/</span></div><div class="line">gbtree.cc: </div><div class="line">Configure() <span class="comment">//&#x6839;&#x636E;&#x914D;&#x7F6E;&#x521D;&#x59CB;&#x5316;&#x6811;&#x76F8;&#x5173;&#x64CD;&#x4F5C;</span></div><div class="line">      -&gt; <span class="keyword">for</span> (up in updaters)</div><div class="line">           -&gt; up-&gt;Init()</div><div class="line">DoBoost() <span class="comment">//&#x6BCF;&#x4E00;&#x7EA7;&#x751F;&#x6210;&#x4E00;&#x9897;RegTree</span></div><div class="line">      -&gt; BoostNewTrees()</div><div class="line">           -&gt; new_tree = <span class="keyword">new</span> RegTree()</div><div class="line">           -&gt; <span class="keyword">for</span> (up in updaters)</div><div class="line">                -&gt; up-&gt;Update(new_tree)    </div><div class="line"><span class="comment">/*updaters&#x7684;&#x5B9A;&#x4E49;*/</span></div><div class="line">tree_updater.cc:</div><div class="line">Create()</div><div class="line">     -&gt; ColMaker/DistColMaker(updater_colmaker.cc) </div><div class="line">        SketchMaker(updater_skmaker.cc)</div><div class="line">        TreeRefresher(updater_refresh.cc)</div><div class="line">        TreePruner(updater_prune.cc)</div><div class="line">        HistMaker / CQHistMaker /</div><div class="line">                  GlobalProposalHistMaker/</div><div class="line">                  QuantileHistMaker(updater_histmaker.cc)</div><div class="line">        TreeSyncher(updater_sync.cc)</div></pre></td></tr></table></figure></p>
<p>&#x4ECE;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#x4E2D;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#xFF0C;gbtree&#x6700;&#x6838;&#x5FC3;&#x5904;&#x5B9A;&#x4E49;&#x4E86;ColMaker, DistColMaker, LocalHistMaker, GlobalHistMaker, HistMaker, TreePruner, TreeRefesher, SketchMaker, TreeSyncher &#x7B49;&#x591A;&#x79CD;&#x6811;&#x64CD;&#x4F5C;&#xFF0C;&#x5728;&#x8BBA;&#x6587;&#x91CC;&#x6709;&#x4ECB;&#x7ECD;&#x7684;&#x4EC5;&#x6709;&#x90E8;&#x5206;&#x3002;<br>&#x4E0B;&#x9762;&#x9010;&#x4E00;&#x8FDB;&#x884C;&#x5206;&#x89E3;&#xFF0C;&#x770B;&#x770B;&#x8FD9;&#x4E0D;&#x540C;&#x7684;&#x64CD;&#x4F5C;&#x5B9E;&#x8D28;&#x4E0A;&#x4EE3;&#x8868;&#x4E86;&#x4EC0;&#x4E48;&#x52A8;&#x4F5C;&#xFF0C;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#x3002;<br>xgboost&#x5728;&#x6811;&#x7684;&#x64CD;&#x4F5C;&#x5B9A;&#x4E49;&#x4F7F;&#x7528;&#x88C5;&#x9970;(decorator)&#x6A21;&#x5F0F;[1]&#xFF0C;&#x57FA;&#x7C7B;TreeUpdater&#x4E3A;&#x62BD;&#x8C61;&#x6784;&#x4EF6;&#xFF0C;&#x5B9A;&#x4E49;&#x4E86;&#x57FA;&#x672C;&#x63A5;&#x53E3;&#xFF1A;<br><img src="/2016/10/29/xgboost-code-review-with-paper/./1476630840791.png" alt="TreeUpdater"><br>&#x521D;&#x59CB;&#x5316;init()&#xFF0C;&#x6811;&#x7684;&#x66F4;&#x65B0;&#x64CD;&#x4F5C;update(), &#x53D6;&#x5F97;&#x66F4;&#x65B0;&#x64CD;&#x4F5C;&#x540E;&#x53F6;&#x5B50;&#x4F4D;&#x7F6E;GetLeafPosition(), &#x4EA7;&#x751F;&#x5177;&#x4F53;&#x6784;&#x5EFA;updater&#x7684;creat()&#x51FD;&#x6570;&#x3002;</p>
<h4 id="ColMaker"><a href="#ColMaker" class="headerlink" title="ColMaker"></a>ColMaker</h4><p>&#x4ECE;Updater&#x7C7B;&#x4E2D;&#x6D3E;&#x751F;ColMaker&#x4E3A;&#x5177;&#x4F53;&#x6784;&#x5EFA;&#x7C7B;&#xFF08;&#x4E3A;&#x8BBA;&#x6587;&#x5B9E;&#x73B0;&#x7684;&#x5355;&#x673A;&#x591A;&#x7EBF;&#x7A0B;&#x7248;&#x672C;&#xFF09;&#xFF0C;&#x4E3B;&#x8981;&#x7528;&#x4E8E;&#x5B9E;&#x73B0;&#x5355;&#x68F5;&#x6811;&#x751F;&#x6210;&#xFF0C;&#x7C7B;&#x7684;&#x7ED3;&#x6784;&#x5982;&#x4E0B;&#x56FE;&#x3002;<br><img src="/2016/10/29/xgboost-code-review-with-paper/./1476806683878.png" alt="Comaker"><br>ColMaker&#x7C7B;&#x4E2D;&#x6700;&#x91CD;&#x8981;&#x4E3A;&#x6811;&#x7684;Builder &#x7ED3;&#x6784;&#x4F53;&#xFF0C;&#x5728;Builder&#x4E2D;&#x5B9E;&#x73B0;ColMaker&#x4E3B;&#x8981;&#x7B97;&#x6CD5;&#xFF0C;&#x4E3B;&#x8981;&#x5B9E;&#x73B0;&#x5728;Builder-&gt;Update()&#x51FD;&#x6570;&#x4E2D;&#x3002;</p>
<p>&#x4E0B;&#x9762;&#x5177;&#x4F53;&#x4ECB;&#x7ECD;&#x4E0B;Builder-&gt;Update()&#x51FD;&#x6570;&#x7684;&#x6838;&#x5FC3;&#x4EE3;&#x7801;(updater_colmaker.cc)&#xFF1A;</p>
<figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div><div class="line">29</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//&#x6838;&#x5FC3;&#x4EE3;&#x7801;&#xFF1A;</span></div><div class="line"><span class="comment">//&#x521D;&#x59CB;&#x5316;&#x6570;&#x636E;&#x548C;&#x8282;&#x70B9;&#x7684;&#x6620;&#x5C04;&#x5173;&#x7CFB;&#xFF0C;&#x6839;&#x636E;&#x914D;&#x7F6E;&#x8FDB;&#x884C;&#x6837;&#x672C;&#x7684;&#x964D;&#x91C7;&#x6837;(&#x4F2F;&#x52AA;&#x5229;&#x91C7;&#x6837;)</span></div><div class="line"><span class="comment">//qexpand_&#x7528;&#x4E8E;&#x5B58;&#x50A8;&#x6BCF;&#x6B21;&#x63A2;&#x7D22;&#x51FA;&#x5019;&#x9009;&#x6811;&#x8282;&#x70B9;&#xFF0C;&#x521D;&#x59CB;&#x5316;&#x4E3A;root&#x8282;&#x70B9;&#x3002;</span></div><div class="line"><span class="keyword">this</span>-&gt;InitData(gpair, *p_fmat, *p_tree);</div><div class="line"><span class="comment">//&#x8BA1;&#x7B97;qexpand_&#x961F;&#x5217;&#x4E2D;&#x6240;&#x6709;&#x5019;&#x9009;&#x8282;&#x70B9;&#x7684;&#x635F;&#x5931;&#x51FD;&#x6570;&#x548C;&#x6743;&#x91CD;</span></div><div class="line"><span class="keyword">this</span>-&gt;InitNewNode(qexpand_, gpair, *p_fmat, *p_tree);</div><div class="line"><span class="comment">//&#x6839;&#x636E;&#x6811;&#x7684;&#x6700;&#x5927;&#x6DF1;&#x5EA6;&#x8FDB;&#x884C;&#x751F;&#x957F;</span></div><div class="line"><span class="keyword">for</span> (<span class="keyword">int</span> depth = <span class="number">0</span>; depth &lt; param.max_depth; ++depth) {</div><div class="line">	<span class="comment">//&#x67E5;&#x627E;&#x6700;&#x4F73;&#x5206;&#x88C2;&#x70B9;</span></div><div class="line">    <span class="keyword">this</span>-&gt;FindSplit(depth, qexpand_, gpair, p_fmat, p_tree);</div><div class="line">       <span class="keyword">this</span>-&gt;UpdateSolution()<span class="comment">//&#x627E;&#x5230;&#x5206;&#x88C2;&#x70B9;,&#x6709;&#x4E24;&#x79CD;&#x5E76;&#x884C;&#x65B9;&#x5F0F;</span></div><div class="line">          <span class="comment">//&#x7279;&#x5F81;&#x95F4;&#x5E76;&#x884C;&#x65B9;&#x5F0F;</span></div><div class="line">          <span class="comment">//&#x6BCF;&#x4E2A;&#x7EBF;&#x7A0B;&#x5904;&#x7406;&#x4E00;&#x7EF4;&#x7279;&#x5F81;&#xFF0C;&#x904D;&#x5386;&#x6570;&#x636E;&#x7D2F;&#x8BA1;&#x7EDF;&#x8BA1;&#x91CF;(grad/hess)&#x5F97;&#x5230;&#x6700;&#x4F73;&#x5206;&#x88C2;&#x70B9;split_point</span></div><div class="line">          <span class="keyword">this</span>-&gt;EnumerateSplit() </div><div class="line">          <span class="comment">//&#x7279;&#x5F81;&#x5185;&#x5E76;&#x884C;&#x65B9;&#x5F0F;</span></div><div class="line">          <span class="comment">//&#x5728;&#x6BCF;&#x4E2A;&#x7EBF;&#x7A0B;&#x91CC;&#x6C47;&#x603B;&#x5404;&#x4E2A;&#x7EBF;&#x7A0B;&#x5185;&#x5206;&#x914D;&#x5230;&#x7684;&#x6570;&#x636E;&#x6837;&#x672C;&#x7684;&#x7EDF;&#x8BA1;&#x91CF;(grad/hess);</span></div><div class="line">          <span class="comment">//&#x6BCF;&#x4E2A;&#x7EBF;&#x7A0B;&#x8F93;&#x51FA;&#x5BF9;&#x5E94;&#x6837;&#x672C;&#x6574;&#x4F53;&#x7684;&#x7EDF;&#x8BA1;&#x91CF;&#xFF0C;&#x5F97;&#x5230;&#x4E00;&#x4E2A;&#x7EBF;&#x7A0B;&#x7EA7;&#x522B;&#x7EDF;&#x8BA1;&#x91CF;&#x6570;&#x7EC4;</span></div><div class="line">          <span class="comment">//&#x5728;&#x8FD9;&#x4E2A;&#x7EC4;&#x5185;&#x8FDB;&#x884C;&#x679A;&#x4E3E;&#x9009;&#x51FA;&#x6700;&#x4F73;&#x5206;&#x88C2;&#x70B9;&#xFF0C;&#x8FDB;&#x4E00;&#x6B65;&#x5B9A;&#x4F4D;&#x5230;&#x5BF9;&#x5E94;&#x7EBF;&#x7A0B;&#x7684;&#x6700;&#x4F18;&#x5206;&#x5272;&#x70B9;</span></div><div class="line">          <span class="keyword">this</span>-&gt;ParallelFindSplit() </div><div class="line">       <span class="keyword">this</span>-&gt;SyncBestSolution(qexpand);<span class="comment">//&#x627E;&#x5230;&#x6700;&#x4F18;&#x89E3;&#xFF0C;&#x8BBE;&#x4E3A;&#x5F53;&#x524D;&#x5206;&#x88C2;&#x8282;&#x70B9;</span></div><div class="line">    <span class="comment">//&#x6839;&#x636E;&#x5206;&#x88C2;&#x7ED3;&#x679C;&#xFF0C;&#x5C06;&#x6570;&#x636E;&#x91CD;&#x65B0;&#x6620;&#x5C04;&#x5230;&#x5B50;&#x8282;&#x70B9;&#x3002;    </span></div><div class="line">    <span class="keyword">this</span>-&gt;ResetPosition(qexpand_, p_fmat, *p_tree);</div><div class="line">    <span class="comment">//&#x5C06;&#x5F85;&#x6269;&#x5C55;&#x5206;&#x5272;&#x7684;&#x53F6;&#x5B50;&#x7ED3;&#x70B9;&#x7528;&#x4E8E;&#x66FF;&#x6362;qexpand_&#xFF0C;&#x4F5C;&#x4E3A;&#x4E0B;&#x4E00;&#x8F6E;split&#x7684;&#x5019;&#x9009;&#x8282;&#x70B9;</span></div><div class="line">    <span class="keyword">this</span>-&gt;UpdateQueueExpand(*p_tree, &amp;qexpand_);</div><div class="line">    <span class="comment">//&#x91CD;&#x65B0;&#x521D;&#x59CB;&#x5316;&#xFF0C;&#x8BA1;&#x7B97;qexpand_&#x961F;&#x5217;&#x4E2D;&#x6240;&#x6709;&#x5019;&#x9009;&#x8282;&#x70B9;&#x7684;&#x635F;&#x5931;&#x51FD;&#x6570;&#x548C;&#x6743;&#x91CD;</span></div><div class="line">    <span class="keyword">this</span>-&gt;InitNewNode(qexpand_, gpair, *p_fmat, *p_tree);</div><div class="line">    <span class="comment">//&#x82E5;&#x65E0;&#x9700;&#x7EE7;&#x7EED;&#x5206;&#x88C2;&#xFF0C;&#x5219;&#x505C;&#x6B62;</span></div><div class="line">    <span class="keyword">if</span> (qexpand_.size() == <span class="number">0</span>) <span class="keyword">break</span>;</div><div class="line">}</div></pre></td></tr></table></figure>
<h3 id="&#x600E;&#x6837;&#x526A;&#x679D;"><a href="#&#x600E;&#x6837;&#x526A;&#x679D;" class="headerlink" title="&#x600E;&#x6837;&#x526A;&#x679D;"></a><strong>&#x600E;&#x6837;&#x526A;&#x679D;</strong></h3><h4 id="TreePruner-prune-a-tree-given-the-statistics"><a href="#TreePruner-prune-a-tree-given-the-statistics" class="headerlink" title="TreePruner (prune a tree given the statistics)"></a>TreePruner (prune a tree given the statistics)</h4><p>&#x526A;&#x679D;&#x64CD;&#x4F5C;&#x7531;TreePruner&#x8FDB;&#x884C;&#xFF0C;&#x5BF9;&#x4E8E;&#x4E00;&#x68F5;&#x6811;&#xFF0C;&#x901A;&#x8FC7;&#x6BD4;&#x5BF9;&#x8282;&#x70B9;&#x6240;&#x5E26;&#x6765;&#x7684;loss&#x6536;&#x76CA;&#x51B3;&#x5B9A;&#x662F;&#x5426;&#x526A;&#x679D;&#x3002;<br>&#x6838;&#x5FC3;&#x4EE3;&#x7801;(updater_prune.cc)&#x5982;&#x4E0B;&#xFF1A;<br><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line">TreePruner-&gt;updater()</div><div class="line">  <span class="keyword">for</span> (each tree) </div><div class="line">    <span class="comment">//&#x5BF9;&#x6BCF;&#x4E00;&#x68F5;&#x6811;&#x8FDB;&#x884C;&#x526A;&#x679D;</span></div><div class="line">    -&gt;DoPrune();</div><div class="line">        -&gt;<span class="keyword">for</span> (each node)</div><div class="line">          <span class="comment">//&#x5BF9;&#x5F53;&#x524D;&#x8282;&#x70B9;&#x8FDB;&#x884C;&#x526A;&#x679D;</span></div><div class="line">          <span class="comment">//&#x5982;&#x679C;loss_chg&lt;threlshold&#xFF0C;&#x526A;&#x679D;&#x3002;&#x5E76;&#x9012;&#x5F52;&#x5224;&#x65AD;&#x65B0;&#x8282;&#x70B9;&#x662F;&#x5426;&#x9700;&#x8981;&#x526A;&#x679D;&#x3002;</span></div><div class="line">          TryPruneLeaf();</div></pre></td></tr></table></figure></p>
<h3 id="&#x5982;&#x4F55;&#x8FDB;&#x884C;&#x5206;&#x5E03;&#x5F0F;&#xFF1F;"><a href="#&#x5982;&#x4F55;&#x8FDB;&#x884C;&#x5206;&#x5E03;&#x5F0F;&#xFF1F;" class="headerlink" title="&#x5982;&#x4F55;&#x8FDB;&#x884C;&#x5206;&#x5E03;&#x5F0F;&#xFF1F;"></a><strong>&#x5982;&#x4F55;&#x8FDB;&#x884C;&#x5206;&#x5E03;&#x5F0F;&#xFF1F;</strong></h3><h4 id="HistMaker-use-histogram-counting-to-construct-a-tree"><a href="#HistMaker-use-histogram-counting-to-construct-a-tree" class="headerlink" title="HistMaker (use histogram counting to construct a tree)"></a>HistMaker (use histogram counting to construct a tree)</h4><p>Histgram&#x4F7F;&#x7528;&#x76F4;&#x65B9;&#x56FE;&#x6CD5;&#x8FD1;&#x4F3C;&#x52A0;&#x901F;&#x5EFA;&#x6811;&#x8FC7;&#x7A0B;&#xFF0C;HistMaker&#x548C;Colmaker&#x4E00;&#x6837;&#xFF0C;&#x7528;&#x4E8E;&#x5EFA;&#x6811;&#xFF0C;&#x4E0D;&#x540C;&#x662F;HistMaker&#x5E76;&#x4E0D;&#x76F4;&#x63A5;&#x7531;&#x57FA;&#x7C7B;&#x6D3E;&#x751F;&#xFF0C;&#x800C;&#x662F;HistMaker-&gt;BaseMaker-&gt;Updater&#xFF0C;&#x5173;&#x7CFB;&#x5982;&#x56FE;&#xFF1A;<img src="/2016/10/29/xgboost-code-review-with-paper/./1477214875654.png" alt="HistMaker"><br>HistMaker&#x7C7B;&#x5B9A;&#x4E49;&#x4E86;&#x57FA;&#x4E8E;&#x76F4;&#x65B9;&#x56FE;&#x6CD5;&#x7684;&#x65B9;&#x6CD5;&#x63A5;&#x53E3;&#xFF0C;&#x5177;&#x4F53;&#x7684;&#x5B9E;&#x73B0;&#x5728;CQHistMaker/QuantileHistMaker&#xFF0C;QuantileHistMaker&#x4E2D;&#x8C03;&#x7528;&#x4E86;SketchMaker&#x8FDB;&#x884C;&#x91C7;&#x6837;.<br>BaseMaker(updater_basemaker-inl.h)&#x5728;Updater&#x57FA;&#x7C7B;&#x4E0A;&#x589E;&#x52A0;&#x4E86;&#x4E00;&#x4E9B;&#x516C;&#x5171;&#x64CD;&#x4F5C;&#xFF0C;&#x540E;&#x9762;&#x4ECB;&#x7ECD;&#x7684;SketchMaker&#x4E5F;&#x662F;&#x6D3E;&#x751F;&#x4E8E;BaseMaker&#x3002;&#x6309;row based&#x8FDB;&#x884C;&#x5206;&#x5E03;&#x5F0F;&#x5EFA;&#x6811;&#xFF0C;&#x6BCF;&#x53F0;&#x673A;&#x5668;&#x5404;&#x81EA;&#x627E;&#x5230;&#x5404;&#x81EA;&#x5019;&#x9009;&#x5206;&#x5272;&#x70B9;&#xFF0C;&#x6BCF;&#x4E00;&#x90E8;&#x5206;&#x7B97;&#x51FA;&#x81EA;&#x5DF1;&#x7684;&#x7EDF;&#x8BA1;&#x91CF;&#xFF0C;&#x7528;allreduce&#x5408;&#x5E76;&#x8D77;&#x6765;&#x540E;&#x518D;&#x6839;&#x636E;&#x5168;&#x5C40;&#x7EDF;&#x8BA1;&#x91CF;&#x8BA1;&#x7B97;&#x6700;&#x7EC8;&#x7684;&#x5206;&#x5272;&#x70B9;&#xFF0C;&#x6700;&#x7EC8;&#x5C42;&#x6B21;&#x904D;&#x5386;&#x7684;&#x6784;&#x5EFA;&#x6811;[1]<br>&#x7531;&#x6838;&#x5FC3;&#x4EE3;&#x7801;(Updater_histmaker.cc)&#x8D70;&#x8BFB;&#x5982;&#x4E0B;&#xFF1A;<br><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div></pre></td><td class="code"><pre><div class="line">/&#x521D;&#x59CB;&#x5316;&#x6837;&#x672C;&#x548C;&#x6811;&#x8282;&#x70B9;&#x7684;&#x6620;&#x5C04;&#x5173;&#x7CFB;&#xFF0C;&#x6839;&#x636E;&#x914D;&#x7F6E;&#x8FDB;&#x884C;&#x6837;&#x672C;&#x7684;&#x964D;&#x91C7;&#x6837;(&#x4F2F;&#x52AA;&#x5229;&#x91C7;&#x6837;)</div><div class="line"><span class="comment">//&#x961F;&#x5217;qexpand_&#x7528;&#x4E8E;&#x5B58;&#x50A8;&#x6BCF;&#x6B21;&#x63A2;&#x7D22;&#x51FA;&#x5019;&#x9009;&#x6811;&#x8282;&#x70B9;&#xFF0C;&#x521D;&#x59CB;&#x5316;&#x4E3A;root&#x8282;&#x70B9;&#x3002;</span></div><div class="line">-&gt;InitData()</div><div class="line">  -&gt;UpdateNode2WorkIndex() <span class="comment">//node2workindex&#x5927;&#x5C0F;&#x4E3A;&#x6811;&#x7684;&#x8282;&#x70B9;&#x4E2A;&#x6570;&#x3002;&#x521D;&#x59CB;&#x5316;&#x4E3A;qexpand&#x4E2D;&#x5F85;&#x6269;&#x5C55;&#x8282;&#x70B9;&#x3002; </span></div><div class="line">-&gt;InitWorkSet() <span class="comment">//&#x521D;&#x59CB;&#x5316;fwork_set&#xFF0C;&#x5927;&#x5C0F;&#x4E3A;&#x6BCF;&#x9897;&#x6811;&#x7684;&#x8282;&#x70B9;&#xFF0C;&#x8868;&#x793A;&#x7528;&#x4E8E;&#x5EFA;&#x6811;&#x7684;&#x7279;&#x5F81;&#x3002;</span></div><div class="line">-&gt;<span class="keyword">for</span> (depth &lt; param.max_depth)</div><div class="line">  -&gt;ResetPosAndPropose() <span class="comment">//&#x91CD;&#x7F6E;&#x5E76;&#x8BBE;&#x7F6E;&#x5019;&#x9009;&#x5206;&#x88C2;&#x7279;&#x5F81;</span></div><div class="line">  -&gt;CreateHist() <span class="comment">//&#x751F;&#x6210;&#x8FD1;&#x4F3C;&#x76F4;&#x65B9;&#x56FE;</span></div><div class="line">  -&gt;FindSplit() <span class="comment">//&#x901A;&#x8FC7;&#x76F4;&#x65B9;&#x56FE;&#x7EDF;&#x8BA1;&#x91CF;&#x627E;&#x5230;&#x5408;&#x9002;&#x7684;&#x5206;&#x88C2;&#x8282;&#x70B9;</span></div><div class="line">  -&gt;ResetPositionAfterSplit() <span class="comment">//&#x5BF9;&#x65B0;&#x52A0;&#x5165;&#x7684;&#x8282;&#x70B9;&#x91CD;&#x65B0;&#x5206;&#x914D;&#x6837;&#x672C;&#x6620;&#x5C04;&#x5173;&#x7CFB;</span></div><div class="line">  -&gt;UpdateQueueExpand() <span class="comment">//&#x66F4;&#x65B0;&#x5F85;&#x63A2;&#x7D22;&#x7684;&#x5019;&#x9009;&#x8282;&#x70B9;&#x5217;&#x8868;qexpand_</span></div></pre></td></tr></table></figure></p>
<p>xgboost&#x7684;&#x8BBA;&#x6587;&#x4E2D;&#x672A;&#x6709;&#x63D0;&#x53CA;&#x76F4;&#x65B9;&#x56FE;&#x6CD5;&#xFF0C;&#x662F;&#x6811;&#x6A21;&#x578B;&#x5E38;&#x7528;&#x7684;&#x8FD1;&#x4F3C;&#x65B9;&#x6CD5;&#xFF0C;&#x5BF9;&#x7EDF;&#x8BA1;&#x91CF;&#x8FDB;&#x884C;&#x805A;&#x5408;&#x7EDF;&#x8BA1;&#xFF0C;&#x5B58;&#x50A8;&#x4E3A;&#x4E00;&#x4E2A;&#x4E2A;&#x6876;&#xFF0C;&#x7136;&#x540E;&#x5728;&#x8FD9;&#x4E9B;&#x6876;&#x4E4B;&#x95F4;&#x5BFB;&#x627E;&#x6700;&#x4F73;&#x5206;&#x88C2;&#x70B9;&#xFF0C;&#x4E3A;&#x4E86;&#x8FDB;&#x4E00;&#x6B65;&#x4E86;&#x89E3;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x7684;&#x5EFA;&#x6811;&#x8FC7;&#x7A0B;&#xFF0C;&#x8FD9;&#x91CC;&#x9700;&#x8981;&#x91CD;&#x70B9;&#x63A2;&#x7D22;&#x4E0B;CreatHist() &#x4EE5;&#x53CA;FindSplit()&#xFF0C;&#x4E24;&#x5904;&#x51FD;&#x6570;&#x5177;&#x4F53;&#x7684;&#x5B9E;&#x73B0;&#x5728;&#x6D3E;&#x751F;&#x7C7B;CQHistMaker-&gt;HistMaker&#xFF0C;CQHistMaker&#x5B9E;&#x73B0;&#x4E86;&#x5177;&#x4F53;&#x7684;&#x5206;&#x5E03;&#x5F0F;&#x8BA1;&#x7B97;&#xFF0C;&#x5728;InitWorkSet()&#x4E2D;&#x8FDB;&#x884C;&#x673A;&#x5668;&#x8282;&#x70B9;&#x7684;&#x6570;&#x636E;&#x5206;&#x7247;&#x548C;&#x4FE1;&#x606F;&#x540C;&#x6B65;&#x3002;&#x5176;&#x7C7B;UML&#x56FE;&#x5982;&#x4E0B;<br><img src="/2016/10/29/xgboost-code-review-with-paper/./1477218299327.png" alt="CQHistMaker"><br>CreatHist()&#x4F5C;&#x7528;&#x4E3A;&#x5C06;&#x7EDF;&#x8BA1;&#x91CF;&#x5B58;&#x50A8;&#x4E8E;&#x5F85;&#x5206;&#x5272;&#x8282;&#x70B9;&#x7684;&#x76F4;&#x65B9;&#x56FE;&#x5206;&#x6876;&#x4E2D;&#xFF0C;&#x5BF9;CreatHist()&#x51FD;&#x6570;&#x8FDB;&#x884C;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#xFF0C;&#x5176;&#x5206;&#x5E03;&#x5F0F;&#x8BA1;&#x7B97;&#x662F;&#x57FA;&#x4E8E;RABIT&#x5B9E;&#x73B0;&#x7684;&#xFF1A;<br><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div></pre></td><td class="code"><pre><div class="line">fset: feature_index</div><div class="line"><span class="comment">//&#x904D;&#x5386;&#x6240;&#x6709;&#x7279;&#x5F81;</span></div><div class="line"><span class="keyword">while</span> (p_fmat-&gt;ColIterator(fset)-&gt;Next()) {</div><div class="line">  <span class="keyword">const</span> ColBatch &amp;batch = iter-&gt;Value();<span class="comment">//&#x53D6;&#x5F97;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#x5BF9;&#x5E94;&#x6570;&#x636E;</span></div><div class="line">  -&gt;UpdateHistCol() <span class="comment">//&#x591A;&#x7EBF;&#x7A0B;&#x66F4;&#x65B0;&#x7279;&#x5F81;&#x76F4;&#x65B9;&#x56FE;</span></div><div class="line">    <span class="comment">//&#x5BF9;_qexpand&#x6BCF;&#x4E00;&#x4E2A;&#x5F85;&#x5206;&#x88C2;&#x8282;&#x70B9;&#x5BF9;&#x5E94;&#xFF0C;&#x7279;&#x5F81;&#x4E3A;nid&#xFF0C;&#x521D;&#x59CB;&#x5316;&#x76F4;&#x65B9;&#x56FE;</span></div><div class="line">    <span class="comment">//&#x7EDF;&#x8BA1;&#x76F4;&#x65B9;&#x56FE;&#xFF0C;&#x7B80;&#x4ECB;&#x65E0;cache&#x4F18;&#x5316;&#x7684;&#x8FC7;&#x7A0B;&#x5982;&#x4E0B;</span></div><div class="line">    <span class="keyword">for</span> (bst_uint j = <span class="number">0</span>; j &lt; ColBatch.length; ++j)</div><div class="line">      -&gt;hbuilder[nid].Add(fvalue, gpair)<span class="comment">//&#x7279;&#x5F81;&#x503C;fvalue&#x7528;&#x4E8E;&#x786E;&#x5B9A;&#x5206;&#x6876;&#x4F4D;&#x7F6E;&#xFF0C;gpair&#x4E3A;&#x7EDF;&#x8BA1;&#x91CF;&#x3002;</span></div><div class="line">    <span class="comment">//&#x5BF9;_qexpand&#x4E2D;&#x8282;&#x70B9;&#x8BA1;&#x7B97;&#x5176;&#x5BF9;&#x5E94;&#x7EDF;&#x8BA1;&#x91CF;&#x7684;&#x548C;</span></div><div class="line">    -&gt;GetNodeStats()  </div><div class="line">}</div><div class="line"><span class="comment">//rabit::allreduce&#x3002;&#x501F;&#x52A9;mpi&#x7684;allreduce&#x8FDB;&#x884C;&#x7406;&#x89E3;&#xFF0C;&#x601D;&#x8003;2</span></div><div class="line"><span class="comment">//&#x4ECE;&#x5404;&#x4E2A;&#x8BA1;&#x7B97;&#x7ED3;&#x70B9;&#x6C47;&#x603B;&#x7EDF;&#x8BA1;&#x91CF;</span></div><div class="line">-&gt;histred.Allreduce()</div></pre></td></tr></table></figure></p>
<p>FindSplit()&#x901A;&#x8FC7;&#x5904;&#x7406;&#x6BCF;&#x4E2A;&#x6876;&#x7684;&#x7279;&#x5F81;&#x91CF;&#x8FDB;&#x884C;&#x5206;&#x88C2;&#x70B9;&#x67E5;&#x627E;&#xFF0C;&#x4EE3;&#x7801;&#x8D70;&#x8BFB;&#x5982;&#x4E0B;&#xFF1A;<br><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//&#x5BF9;&#x4E8E;&#x6BCF;&#x4E00;&#x4E2A;&#x5F85;&#x5206;&#x88C2;&#x8282;&#x70B9;</span></div><div class="line"><span class="keyword">for</span> (wid = <span class="number">0</span>; wid &lt; qexpand.size(); ++wid)</div><div class="line">  <span class="comment">//&#x5BF9;&#x4E8E;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;</span></div><div class="line">  <span class="keyword">for</span> (<span class="keyword">size_t</span> i = <span class="number">0</span>; i &lt; fset.size(); ++i)</div><div class="line">    <span class="comment">//&#x679A;&#x4E3E;&#x67E5;&#x627E;&#x6700;&#x4F73;&#x5206;&#x88C2;&#x70B9;&#xFF0C;&#x76F4;&#x65B9;&#x56FE;&#x4E0A;&#x4ECE;&#x5DE6;&#x5230;&#x53F3;&#xFF0C;&#x4ECE;&#x53F3;&#x5230;&#x5DE6;&#x4E24;&#x4E2A;&#x65B9;&#x5411;&#x5206;&#x522B;&#x67E5;&#x627E;</span></div><div class="line">    <span class="comment">//&#x6839;&#x636E;&#x7EDF;&#x8BA1;&#x91CF;&#x627E;&#x5230;&#x6700;&#x597D;&#x7684;&#x6876;&#xFF0C;&#x5C06;&#x6876;&#x7684;&#x5206;&#x754C;&#x70B9;&#x4F5C;&#x4E3A;&#x7279;&#x5F81;&#x7684;split_value</span></div><div class="line">    -&gt;EnumerateSplit()</div></pre></td></tr></table></figure></p>
<h3 id="&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;"><a href="#&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;" class="headerlink" title="&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;"></a><strong>&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#x600E;&#x4E48;&#x5B9E;&#x73B0;&#xFF1F;</strong></h3><h4 id="SketchMaker-use-approximation-sketch-to-construct-a-tree"><a href="#SketchMaker-use-approximation-sketch-to-construct-a-tree" class="headerlink" title="SketchMaker(use approximation sketch to construct a tree)"></a>SketchMaker(use approximation sketch to construct a tree)</h4><p>&#x4ECB;&#x7ECD;SketchMaker&#x4E4B;&#x524D;&#xFF0C;&#x9700;&#x8981;&#x5BF9;&#x6B64;&#x524D;&#x8BBA;&#x6587;&#x5BFC;&#x8BFB;&#x4E2D;&#x7684;&#x52A0;&#x6743;&#x5206;&#x4F4D;&#x6570;&#x7565;&#x56FE;&#x505A;&#x5C11;&#x8BB8;&#x8865;&#x5145;&#x3002;&#x5728;&#x4F20;&#x7EDF;&#x7684;GK &#x7B97;&#x6CD5;[4]&#x548C;&#x5176;&#x4ED6;&#x6269;&#x5C55;[5]&#x4E4B;&#x4E0A;&#xFF0C;&#x4F5C;&#x8005;&#x63D0;&#x51FA;&#x52A0;&#x6743;&#x5206;&#x4F4D;&#x6570;&#x7565;&#x56FE;&#x7B97;&#x6CD5;&#xFF0C;&#x5E76;&#x5F15;&#x5165;&#x652F;&#x6301;merge&#x548C;prune&#x64CD;&#x4F5C;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x8FDB;&#x884C;&#x5B9E;&#x73B0;&#x3002;&#x5148;&#x4ECB;&#x7ECD;quantile summary&#xFF0C;&#x5B9A;&#x4E49;&#x4E3A;&#x4EE5;&#x76F8;&#x5BF9;&#x9519;&#x8BEF;&#x7387;$\varepsilon $&#x8FD4;&#x56DE;&#x5206;&#x4F4D;&#x6570;&#x67E5;&#x8BE2;&#x7ED3;&#x679C;&#x3002;</p>
<ol>
<li>merge&#x64CD;&#x4F5C;&#xFF1A;&#x82E5;&#x4E24;&#x4E2A;summary&#x7684;&#x7684;&#x76F8;&#x5BF9;&#x6B63;&#x786E;&#x7387;&#x5206;&#x522B;&#x4E3A;$\varepsilon_1 $&#x548C;$\varepsilon_2 $&#xFF0C;&#x5C06;&#x4E8C;&#x8005;merge&#x5F97;&#x5230;&#x7684;&#x65B0;summary&#x7684;&#x76F8;&#x5BF9;&#x9519;&#x8BEF;&#x7387;&#x4E3A;$max \{\varepsilon_1,  \varepsilon_2 \}$</li>
<li>prune&#x64CD;&#x4F5C;&#xFF1A;&#x5C06;summary&#x4E2D;&#x5143;&#x7D20;&#x4E2A;&#x6570;&#x7F29;&#x51CF;&#x5230;$b+1$&#x90A3;&#x4E48;&#x76F8;&#x5BF9;&#x9519;&#x8BEF;&#x7387;&#x7387;&#x5C06;&#x4ECE;$\varepsilon$&#x589E;&#x52A0;&#x5230;$\varepsilon+{1 \over b}$&#x3002;</li>
</ol>
<p>&#x4E8C;&#x8005;&#x5982;&#x4F55;&#x5B9E;&#x73B0;&#xFF0C;&#x8BE6;&#x7EC6;&#x4ECB;&#x7ECD;&#x89C1;&#x5F15;&#x6587;[3]&#x9644;&#x5F55;&#x90E8;&#x5206;&#x300A;WEIGHTED QUANTILE SKETCH&#x300B;&#x3002;<br>xgboost&#x901A;&#x8FC7;&#x4E0D;&#x540C;&#x7684;summary&#x64CD;&#x4F5C;(WQSummary/WXQSummary/GKSummary)&#x5B9A;&#x4E49;QuantileSketchTemplate&#x7C7B;&#x578B;&#xFF0C;&#x4ECE;&#x800C;&#x6D3E;&#x751F;&#x51FA;&#x4E0D;&#x540C;&#x7684;&#x5177;&#x4F53;&#x7684;sketch&#x7C7B;(WQuantileSketch/WXQuantileSketch/GKQuantileSketch)&#x3002;&#x5176;&#x4E2D;WXQSummary&#x6D3E;&#x751F;&#x81EA;WQSummary&#xFF0C;&#x5728;prune&#x64CD;&#x4F5C;&#x4E0A;&#x6548;&#x7387;&#x8981;&#x9AD8;&#x4E9B;&#x3002;</p>
<figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//&#x521D;&#x59CB;&#x5316;&#x6570;&#x636E;&#x548C;&#x8282;&#x70B9;&#x7684;&#x6620;&#x5C04;&#x5173;&#x7CFB;&#xFF0C;&#x6839;&#x636E;&#x914D;&#x7F6E;&#x8FDB;&#x884C;&#x6837;&#x672C;&#x7684;&#x964D;&#x91C7;&#x6837;(&#x4F2F;&#x52AA;&#x5229;&#x91C7;&#x6837;)</span></div><div class="line"><span class="comment">//qexpand_&#x7528;&#x4E8E;&#x5B58;&#x50A8;&#x6BCF;&#x6B21;&#x63A2;&#x7D22;&#x51FA;&#x5019;&#x9009;&#x6811;&#x8282;&#x70B9;&#xFF0C;&#x521D;&#x59CB;&#x5316;&#x4E3A;root&#x8282;&#x70B9;&#x3002;</span></div><div class="line">-&gt;InitData()</div><div class="line"><span class="keyword">for</span> (depth = <span class="number">0</span>; depth &lt; param.max_depth; ++depth) {</div><div class="line">  -&gt;GetNodeStats() <span class="comment">//&#x5BF9;_qexpand&#x4E2D;&#x8282;&#x70B9;&#x8BA1;&#x7B97;&#x5176;&#x5BF9;&#x5E94;&#x7EDF;&#x8BA1;&#x91CF;&#x7684;&#x548C;</span></div><div class="line">  -&gt;BuildSketch() <span class="comment">//&#x521D;&#x59CB;&#x5316;WXQuantileSketch&#xFF0C;&#x7528;&#x4E8E;&#x5206;&#x4F4D;&#x56FE;&#x7B56;&#x7565;(&#x91C7;&#x6837;&#x7B56;&#x7565;&#xFF0C;&#x9700;&#x540E;&#x671F;&#x8FDB;&#x4E00;&#x6B65;&#x4E86;&#x89E3;)</span></div><div class="line">    -&gt;UpdateSketchCol() <span class="comment">//&#x66F4;&#x65B0;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#x7684;WXQuantileSketch&#x7EDF;&#x8BA1;&#x91CF; </span></div><div class="line">					    <span class="comment">//(pos_grad/neg_grad/sum_hess)</span></div><div class="line">	-&gt;SetPrune() <span class="comment">//&#x6839;&#x636E;sketchs_size&#x8FDB;&#x884C;&#x526A;&#x679D;</span></div><div class="line">	<span class="comment">//sketchs_size=sketch_ratio / sketch_eps(&#x53C2;&#x6570;&#x53EF;&#x914D;&#x7F6E;)</span></div><div class="line">  -&gt;SyncNodeStats()  <span class="comment">//&#x540C;&#x6B65;&#x6240;&#x6709;&#x8282;&#x70B9;&#x7684;&#x4FE1;&#x606F;SKStats</span></div><div class="line">  -&gt;FindSplit()  <span class="comment">//&#x67E5;&#x627E;&#x6700;&#x4F73;&#x5206;&#x88C2;&#x70B9;</span></div><div class="line">	  <span class="comment">//&#x679A;&#x4E3E;sketchs&#x627E;&#x5230;&#x6700;&#x4F73;&#x7279;&#x5F81;&#x7684;&#x5206;&#x88C2;&#x70B9;</span></div><div class="line">      -&gt;EnumerateSplit() </div><div class="line">  -&gt;ResetPositionCol()  <span class="comment">///&#x5BF9;&#x65B0;&#x52A0;&#x5165;&#x7684;&#x8282;&#x70B9;&#x91CD;&#x65B0;&#x5206;&#x914D;&#x6837;&#x672C;&#x6620;&#x5C04;&#x5173;&#x7CFB;</span></div><div class="line">  -&gt;UpdateQueueExpand()  <span class="comment">//&#x66F4;&#x65B0;&#x5F85;&#x63A2;&#x7D22;&#x7684;&#x5019;&#x9009;&#x8282;&#x70B9;&#x5217;&#x8868;_qexpand</span></div></pre></td></tr></table></figure>
<p>&#x81EA;&#x6B64;&#x4ECE;&#x4EE3;&#x7801;&#x89D2;&#x5EA6;&#x4EA4;&#x4EE3;&#x4E86;&#x524D;&#x6587;&#x300A;xgboost: A Scalable Tree Boosting System&#x8BBA;&#x6587;&#x53CA;&#x6E90;&#x7801;&#x300B;&#x7684;&#x4F5C;&#x8005;&#x7684;&#x5177;&#x4F53;&#x5B9E;&#x73B0;&#x601D;&#x8DEF;&#xFF0C;&#x5E0C;&#x671B;&#x80FD;&#x591F;&#x8FDB;&#x4E00;&#x6B65;&#x52A0;&#x6DF1;&#x5BF9;boosting&#x65B9;&#x6CD5;&#x7684;&#x7406;&#x89E3;&#x3002;&#x76EE;&#x524D;&#x6700;&#x65B0;&#x7684;&#x8FDB;&#x5C55;&#x4E3A;XGBoost4J-Spark&#x53D1;&#x5E03;&#x8FDB;&#x4E00;&#x6B65;&#x878D;&#x5165;Spark&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;&#x4E2D;(2016/10/26)&#x89C1;&#x9644;&#x5F55;[3]&#xFF0C;&#x540E;&#x7EED;&#x7684;&#x53D1;&#x5C55;&#x4F1A;&#x7EE7;&#x7EED;&#x8DDF;&#x8FDB;&#x3002;<br>PS. TreeRefresher  &#x4EE3;&#x7801;&#x4E2D;&#x672A;&#x89C1;&#x5F15;&#x7528;&#x8FD9;&#x91CC;&#x4E0D;&#x505A;&#x8FDB;&#x4E00;&#x6B65;&#x4ECB;&#x7ECD;&#x3002;</p>
<p>[1]<a href="http://blog.csdn.net/zhshulin/article/details/38665187" target="_blank" rel="external">&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x2014;&#x2014;&#x88C5;&#x9970;&#x6A21;&#x5F0F;&#xFF08;Decorator&#xFF09;</a>, @shu_lin<br>[2]<a href="http://www.zhihu.com/question/41354392" target="_blank" rel="external">&#x673A;&#x5668;&#x5B66;&#x4E60;&#x7B97;&#x6CD5;&#x4E2D;GBDT&#x548C;XGBOOST&#x7684;&#x533A;&#x522B;&#x6709;&#x54EA;&#x4E9B;&#xFF1F;</a>, @&#x6768;&#x519B;<br>[3]Chen, Tianqi, and C. Guestrin. &#x201C;XGBoost: A Scalable Tree Boosting System.&#x201D; (2016).<br>[4]L. Breiman. &#x201C;Random forests. Maching Learning&#x201D;, 2001.<br>[5]Q. Zhang and W. Wang. A fast algorithm for approximate quantiles in high speed data streams. In Proceedings of the 19th International Conference on Scientic and Statistical Database Management, 2007.</p>
<p>&#x9644;&#x5F55;&#xFF1A;<br>[1]xgoost&#x8C03;&#x53C2;&#x6280;&#x5DE7;&#xFF1A;<br>&#x4F7F;&#x7528;TrainValidationSplit&#x548C;RegressionEvaluator&#x81EA;&#x52A8;&#x8FDB;&#x884C;&#x9AD8;&#x5EA6;max_depth&#x548C;&#x6811;&#x6743;&#x91CD;$\eta$&#x8C03;&#x53C2;&#x3002;<br>[2]MPI Allreduce&#x64CD;&#x4F5C;&#x4ECB;&#x7ECD;&#xFF0C;&#x53EF;&#x7ED3;&#x5408;reduce&#x7406;&#x89E3;&#xFF0C;reduce&#x4EA7;&#x751F;&#x7684;&#x4F5C;&#x7528;&#x793A;&#x610F;&#x5982;&#x4E0B;&#x56FE;&#xFF1A;<br><img src="/2016/10/29/xgboost-code-review-with-paper/./1477708042458.png" alt="Reduce"><br>&#x8BA1;&#x7B97;&#x4E2D;&#x9700;&#x8981;&#x5F52;&#x96C6;&#x6240;&#x6709;&#x7ED3;&#x679C;&#xFF0C;&#x518D;&#x5206;&#x53D1;&#x5230;&#x5404;&#x4E2A;process&#x4E2D;&#xFF0C;Allreduce&#x8D77;&#x8FD9;&#x4E2A;&#x4F5C;&#x7528;&#xFF0C;&#x53EF;&#x4EE5;&#x7ED3;&#x5408;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;&#x7684;&#x4F8B;&#x5B50;&#x8FDB;&#x884C;&#x7406;&#x89E3;(<a href="http://mpitutorial.com/tutorials/mpi-reduce-and-allreduce/" target="_blank" rel="external">&#x70B9;&#x51FB;&#x94FE;&#x63A5;</a>)&#xFF0C;&#x5177;&#x4F53;&#x5728;&#x6D41;&#x7A0B;&#x4E2D;&#x7684;&#x4F5C;&#x7528;&#x5982;&#x4E0B;&#x56FE;&#x793A;&#x610F;&#xFF1A;<br><img src="/2016/10/29/xgboost-code-review-with-paper/./1477707856111.png" alt="Allreduce"><br>[3]<a href="http://dmlc.ml/2016/10/26/a-full-integration-of-xgboost-and-spark.html" target="_blank" rel="external">XGboost&#x4E0E;Spark&#x7684;&#x5B8C;&#x5168;&#x96C6;&#x6210;</a>  @Nan Zhu</p>
<p>&#x5F69;&#x86CB;&#xFF1A;<br>[1]&#x300A;PRML&#x4E2D;&#x6587;&#x7248;&#x300B;<a href="http://pan.baidu.com/s/1boZu1eJ" target="_blank" rel="external">&#x767E;&#x5EA6;&#x7F51;&#x76D8;&#x5730;&#x5740;</a>, @&#x9A6C;&#x6625;&#x9E4F;</p>
<p>&#x5199;&#x8FD9;&#x7BC7;&#x535A;&#x5BA2;&#x6709;&#x4E2A;&#x75DB;&#x70B9;&#xFF0C;&#x4EE3;&#x7801;&#x7684;&#x8FC7;&#x5EA6;&#x62BD;&#x8C61;&#x548C;&#x5927;&#x91CF;&#x6A21;&#x677F;&#x7C7B;&#x7684;&#x4F7F;&#x7528;&#x5BF9;&#x9605;&#x8BFB;&#x5E26;&#x6765;&#x6BD4;&#x8F83;&#x5927;&#x7684;&#x4F24;&#x5BB3;&#xFF0C;&#x4E5F;&#x662F;&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x5386;&#x65F6;&#x8BB8;&#x4E45;&#x7684;&#x90E8;&#x5206;&#x539F;&#x56E0;&#x3002;&#x5982;&#x679C;&#x60A8;&#x6709;&#x597D;&#x7684;&#x4EE3;&#x7801;&#x9605;&#x8BFB;&#x5DE5;&#x5177;&#xFF0C;&#x4E0D;&#x541D;&#x4E00;&#x5E76;&#x63A8;&#x8350;&#x4E0B;&#x3002;<br>&#x4ECB;&#x7ECD;&#x4E0B;&#x6211;&#x7684;&#x4E24;&#x6B3E;&#x8F85;&#x52A9;&#x8F6F;&#x4EF6;&#xFF1A;<br>Source Insight: &#x4E3B;&#x53F8;&#x4EE3;&#x7801;&#x9605;&#x8BFB;<br>visual paradigm for UML &#x4E3B;&#x53F8;UML&#x7C7B;&#x56FE;&#x89E3;&#x6790;<br>&#x53E6;&#x5916;&#xFF0C;&#x63A8;&#x8350;&#x767E;&#x5EA6;&#x5B66;&#x672F;&#x7684;&#x5F15;&#x6587;&#x529F;&#x80FD;&#xFF0C;&#x5199;&#x535A;&#x5BA2;&#x5F88;&#x65B9;&#x4FBF;</p>
<p>ShawnXiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x4E0A;&amp;#x7BC7;&amp;#x300A;&lt;a href=&quot;http://mlnote.com/2016/10/05/a-guide-to-xgboost-A-Scalable-Tree-Boosting-System/&quot;&gt;xgboost: A Scalable Tr
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="gbdt" scheme="https://mlnote.com/tags/gbdt/"/>
    
      <category term="xgboost" scheme="https://mlnote.com/tags/xgboost/"/>
    
      <category term="code mannar" scheme="https://mlnote.com/tags/code-mannar/"/>
    
  </entry>
  
  <entry>
    <title>XGboost: A Scalable Tree Boosting System论文及源码导读</title>
    <link href="https://mlnote.com/2016/10/05/a-guide-to-xgboost-A-Scalable-Tree-Boosting-System/"/>
    <id>https://mlnote.com/2016/10/05/a-guide-to-xgboost-A-Scalable-Tree-Boosting-System/</id>
    <published>2016-10-04T16:00:00.000Z</published>
    <updated>2016-11-17T17:03:13.916Z</updated>
    
    <content type="html"><![CDATA[<p>&#x8FD9;&#x7BC7;&#x8BBA;&#x6587;&#x4E00;&#x4F5C;&#x4E3A;&#x9648;&#x5929;&#x9F50;&#xFF0C;XGBoost&#x662F;&#x4ECE;&#x7ADE;&#x8D5B;pk&#x4E2D;&#x8131;&#x9896;&#x800C;&#x51FA;&#x7684;&#x7B97;&#x6CD5;&#xFF0C;&#x76EE;&#x524D;&#x5F00;&#x6E90;&#x5728;<a href="https://github.com/dmlc/xgboost" target="_blank" rel="external">github</a>&#xFF0C;&#x548C;&#x4F20;&#x7EDF;gbdt&#x65B9;&#x5F0F;&#x4E0D;&#x540C;&#xFF0C;XGBoost&#x5BF9;<em>loss function</em>&#x8FDB;&#x884C;&#x4E86;&#x4E8C;&#x9636;&#x7684;&#x6CF0;&#x52D2;&#x5C55;&#x5F00;&#xFF0C;&#x5E76;&#x589E;&#x52A0;&#x4E86;&#x6B63;&#x5219;&#x9879;&#xFF0C;&#x7528;&#x4E8E;&#x6743;&#x8861;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x7684;&#x4E0B;&#x964D;&#x548C;&#x6A21;&#x578B;&#x7684;&#x590D;&#x6742;&#x5EA6;[12]&#x3002;&#x7F57;&#x5217;&#x4E0B;&#x4F18;&#x52BF;&#xFF1A;</p>
<ol>
<li>&#x53EF;&#x6269;&#x5C55;&#x6027;&#x5F3A;</li>
<li>&#x4E3A;&#x7A00;&#x758F;&#x6570;&#x636E;&#x8BBE;&#x8BA1;&#x7684;&#x51B3;&#x7B56;&#x6811;&#x8BAD;&#x7EC3;&#x65B9;&#x6CD5;</li>
<li>&#x7406;&#x8BBA;&#x4E0A;&#x5F97;&#x5230;&#x9A8C;&#x8BC1;&#x7684;&#x52A0;&#x6743;&#x5206;&#x4F4D;&#x6570;&#x7565;&#x56FE;&#x6CD5;</li>
<li>&#x5E76;&#x884C;&#x548C;&#x5206;&#x5E03;&#x5F0F;&#x8BA1;&#x7B97;</li>
<li>&#x8BBE;&#x8BA1;&#x9AD8;&#x6548;&#x6838;&#x5916;&#x8BA1;&#x7B97;&#xFF0C;&#x8FDB;&#x884C;cache-aware&#x6570;&#x636E;&#x5757;&#x5904;&#x7406;</li>
</ol>
<p>&#x5206;&#x5E03;&#x5F0F;&#x8BAD;&#x7EC3;&#x6811;&#x6A21;&#x578B;boosting&#x65B9;&#x6CD5;&#x5DF2;&#x6709;[1,2,3]&#x3002;</p>
<h4 id="&#x6574;&#x4F53;&#x76EE;&#x6807;"><a href="#&#x6574;&#x4F53;&#x76EE;&#x6807;" class="headerlink" title="&#x6574;&#x4F53;&#x76EE;&#x6807;"></a>&#x6574;&#x4F53;&#x76EE;&#x6807;</h4>$$L\left( \phi  \right) = \sum\limits_i {l\left( {{{y_i},{\hat y}_i}} \right)}  + \sum\limits_k {\Omega \left( {{f_k}} \right)} $$
<p>&#x5176;&#x4E2D;$L\left(  \cdot  \right)$&#x4E3A;&#x76EE;&#x6807;&#x51FD;&#x6570;&#xFF0C;$l(\cdot)$&#x662F;&#x635F;&#x5931;&#x51FD;&#x6570;&#xFF0C;&#x901A;&#x5E38;&#x662F;&#x51F8;&#x51FD;&#x6570;&#xFF0C;&#x7528;&#x4E8E; &#x523B;&#x753B;&#x9884;&#x6D4B;&#x503C;${{{\hat y}_i}}$&#x548C;&#x771F;&#x5B9E;&#x503C;${{y_i}}$&#x7684;&#x5DEE;&#x5F02;&#xFF0C;&#x7B2C;&#x4E8C;&#x9879;$\Omega \left(  \cdot  \right)$&#x4E3A;&#x6A21;&#x578B;&#x7684;&#x6B63;&#x5219;&#x5316;&#x9879;&#xFF0C; &#x7528;&#x4E8E;&#x964D;&#x4F4E;&#x6A21;&#x578B;&#x7684;&#x590D;&#x6742;&#x5EA6;&#xFF0C;&#x51CF;&#x8F7B;&#x8FC7;&#x62DF;&#x5408;&#x95EE;&#x9898;&#xFF0C;&#x7C7B;&#x4F3C;&#x7684;&#x6B63;&#x5219;&#x5316;&#x65B9;&#x6CD5;&#x53EF;&#x4EE5;&#x5728;&#x5F15;&#x6587;[4]&#x770B;&#x5230;&#x3002;&#x6A21;&#x578B;&#x76EE;&#x6807;&#x662F;&#x6700;&#x5C0F;&#x5316;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x3002;<br>$L\left(  \cdot  \right)$&#x4E3A;&#x51FD;&#x6570;&#x7A7A;&#x95F4;&#x4E0A;&#x7684;&#x8868;&#x8FBE;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5C06;&#x5176;&#x8F6C;&#x6362;&#x4E3A;&#x4E0B;&#x9762;&#x8FD9;&#x5F20;<em>gradient boosting</em>&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x8BB0;${\hat y}^{(t)}_i$&#x4E3A;&#x7B2C;$i$&#x4E2A;&#x6837;&#x672C;&#x7B2C;$t$&#x8F6E;&#x8FED;&#x4EE3;&#xFF1A;<br>$${L^{\left( t \right)}} = \sum\limits_{i = 1}^n {l\left( {{y_i},{{\hat y}_i}^{\left( {t - 1} \right)} + {f_t}\left( {{{\bf{x}}_i}} \right)} \right)}  + \Omega \left( {{f_t}} \right)$$<br>&#x5BF9;&#x8BE5;&#x51FD;&#x6570;&#x5728;${\hat y}^{(t)}_i$&#x4F4D;&#x7F6E;&#x8FDB;&#x884C;&#x4E8C;&#x9636;&#x6CF0;&#x52D2;&#x5C55;&#x5F00;&#xFF0C;&#x53EF;&#x4EE5;&#x52A0;&#x901F;&#x4F18;&#x5316;&#x8FC7;&#x7A0B;&#xFF0C;&#x6211;&#x4EEC;&#x5F97;&#x5230;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x7684;&#x8FD1;&#x4F3C;&#xFF1A;<br>$${L^{\left( t \right)}} \simeq \sum\limits_{i = 1}^n {\left[ {l\left( {{y_i},{{\hat y}^{\left( {t - 1} \right)}}} \right) + {g_i}{f_t}\left( {{{\bf{x}}_i}} \right) + {1 \over 2}{h_i}f_t^2\left( {{{\bf{x}}_i}} \right)} \right]}  + \Omega \left( {{f_t}} \right)$$<br>&#x6CF0;&#x52D2;&#x5C55;&#x5F00;&#x7684;&#x63A8;&#x5BFC;&#x90E8;&#x5206;&#xFF0C;&#x53EF;&#x4EE5;&#x53C2;&#x8003;&#x601D;&#x8003;1&#xFF0C;&#x5176;&#x4E2D;&#x7B2C;&#x4E00;&#x9879;&#x662F;&#x5E38;&#x6570;&#x9879;&#xFF0C;&#x5220;&#x9664;&#x53EF;&#x5F97;&#xFF1A;<br>$${{\tilde L}^{\left( t \right)}} = \sum\limits_{i = 1}^n {\left[ {{g_i}{f_t}\left( {{{\bf{x}}_i}} \right) + {1 \over 2}{h_i}f_t^2\left( {{{\bf{x}}_i}} \right)} \right]}  + \Omega \left( {{f_t}} \right)--(1)$$<br>&#x4E0B;&#x9762;&#x5BF9;&#x6B63;&#x5219;&#x5316;&#x9879;&#x8FDB;&#x884C;&#x53C2;&#x6570;&#x5316;&#x5B9A;&#x4E49;&#x3002;&#x5EF6;&#x7EED;&#x524D;&#x6587;GBDT&#x7684;&#x6982;&#x5FF5;&#xFF0C;&#x5F15;&#x5165;&#x5206;&#x88C2;&#x8282;&#x70B9;$j$&#x5B9A;&#x4E49;&#x7684;&#x533A;&#x57DF;&#x8BB0;&#x4F5C;$${I_j} = \left\{ {i|q\left( {{{\bf{x}}_i}} \right) = j} \right\}$$<br>&#x90A3;&#x4E48;$\Omega$&#x5C55;&#x5F00;&#x539F;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x6539;&#x5199;&#x4E3A;&#xFF1A;<br>$$\eqalign{
  &amp; {{\tilde L}^{\left( t \right)}} = \sum\limits_{i = 1}^n {\left[ {{g_i}{f_t}\left( {{{\bf{x}}_i}} \right) + {1 \over 2}{h_i}f_t^2\left( {{{\bf{x}}_i}} \right)} \right]}  + \gamma T + {1 \over 2}\lambda \sum\limits_{j = 1}^T {w_j^2}   \cr 
  &amp; \;\;\;\;\;{\rm{ = }}\sum\limits_{j = 1}^T {\left[ {\left( {\sum\limits_{i \in {I_j}} {{g_i}} } \right){w_j} + {1 \over 2}\left( {\sum\limits_{i \in {I_j}} {{h_i}}  + \lambda } \right)w_j^2} \right]}  + \gamma T \cr} --(2)$$<br> &#x5BF9;&#x4E8E;&#x56FA;&#x5B9A;&#x7684;&#x6811;&#x7ED3;&#x6784;$q(x)$&#xFF0C;&#x5BF9;$w_j$&#x6C42;&#x5BFC;&#x5F97;&#x89E3;&#x6790;&#x89E3;$w^*_j$:<br> $$w_j^* = {{\sum\limits_{i \in {I_j}} {{g_i}} } \over {\sum\limits_{i \in {I_j}} {{h_i} + \lambda } }}$$<br>&#x4EE3;&#x5165;&#x5230;$(1)$&#x5F0F;&#x4E2D;&#xFF0C;&#x53EF;&#x5F97;<br>$${{\tilde L}^{\left( t \right)}}\left( q \right) =  - {1 \over 2}{{{{\left( {\sum\limits_{i \in {I_j}} {{g_i}} } \right)}^2}} \over {\sum\limits_{i \in {I_j}} {{h_i} + \lambda } }} + \gamma T--(3)$$<br>&#x516C;&#x5F0F;$(3)$&#x53EF;&#x4EE5;&#x4F5C;&#x4E3A;&#x5206;&#x88C2;&#x8282;&#x70B9;&#x7684;&#x6253;&#x5206;&#xFF0C;&#x5F62;&#x5F0F;&#x4E0A;&#x5F88;&#x50CF;CART&#x6811;&#x7EAF;&#x5EA6;&#x6253;&#x5206;&#x7684;&#x8BA1;&#x7B97;&#xFF0C;&#x533A;&#x522B;&#x5728;&#x4E8E;&#x5B83;&#x662F;&#x4ECE;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x4E2D;&#x63A8;&#x5BFC;&#x800C;&#x5F97;&#x3002;&#x56FE;&#x4E2D;&#x663E;&#x793A;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x503C;&#x7684;&#x8BA1;&#x7B97;&#xFF1A;<br><img src="/2016/10/05/a-guide-to-xgboost-A-Scalable-Tree-Boosting-System/./1475564124004.png" alt="obj&#x503C;&#x8BA1;&#x7B97;"><br>&#x5B9E;&#x8DF5;&#x4E2D;&#xFF0C;&#x5F88;&#x96BE;&#x53BB;&#x7A77;&#x4E3E;&#x6BCF;&#x4E00;&#x9897;&#x6811;&#x8FDB;&#x884C;&#x6253;&#x5206;&#xFF0C;&#x518D;&#x9009;&#x51FA;&#x6700;&#x597D;&#x7684;&#x3002;&#x901A;&#x5E38;&#x91C7;&#x7528;&#x8D2A;&#x5FC3;&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x9010;&#x5C42;&#x9009;&#x62E9;&#x6700;&#x4F73;&#x7684;&#x5206;&#x88C2;&#x8282;&#x70B9;&#x3002;&#x5047;&#x8BBE;$I_L$&#x548C;$I_R$&#x4E3A;&#x5206;&#x88C2;&#x8282;&#x70B9;&#x7684;&#x5DE6;&#x53F3;&#x8282;&#x70B9;&#xFF0C;&#x8BB0;$I=I_L \cup I_R$&#x3002;<br>&#x5219;&#x9009;&#x62E9;&#x6B64;&#x8282;&#x70B9;&#x5206;&#x88C2;&#x7684;&#x6536;&#x76CA;&#x4E3A;&#xFF1A;<br>$${L_{split}} = {1 \over 2}\left[ {{{{{\left( {\sum\limits_{i \in {I_L}} {{g_i}} } \right)}^2}} \over {\sum\limits_{i \in {I_L}} {{h_i} + \lambda } }} + {{{{\left( {\sum\limits_{i \in {I_J}} {{g_i}} } \right)}^2}} \over {\sum\limits_{i \in {I_J}} {{h_i} + \lambda } }} - {{{{\left( {\sum\limits_{i \in I} {{g_i}} } \right)}^2}} \over {\sum\limits_{i \in I} {{h_i} + \lambda } }}} \right] - \gamma  \;\;-- (4)$$<br>[&#x8865;&#x5145;]<br>1.&#x4F5C;&#x4E3A;GB&#x7C7B;&#x65B9;&#x6CD5;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x91C7;&#x7528;shrinkage&#x7B56;&#x7565;<br>2.&#x968F;&#x673A;&#x68EE;&#x6797;[5]&#x7684;&#x7279;&#x5F81;&#x964D;&#x91C7;&#x6837;(subsampling)&#x514B;&#x670D;&#x8FC7;&#x62DF;&#x5408;<a href="https://www.salford-systems.com/products/treenet" target="_blank" rel="external">&#x4EE3;&#x7801;</a>&#xFF0C;xgboost&#x7528;&#x4E86;&#x7C7B;&#x4F3C;&#x7684;&#x6280;&#x672F;&#x3002;&#x548C;&#x4F20;&#x7EDF;&#x7684;&#x964D;&#x91C7;&#x6837;&#x4E0D;&#x540C;&#xFF0C;xgboost&#x6309;&#x5217;&#x8FDB;&#x884C;&#x964D;&#x91C7;&#x6837;&#xFF0C;&#x5728;&#x5E76;&#x884C;&#x5316;&#x6709;&#x52A0;&#x901F;&#x4F5C;&#x7528;&#x3002;(&#x5F85;&#x7814;&#x7A76;)</p>
<h4 id="&#x67E5;&#x627E;&#x5206;&#x88C2;&#x8282;&#x70B9;-split-finding"><a href="#&#x67E5;&#x627E;&#x5206;&#x88C2;&#x8282;&#x70B9;-split-finding" class="headerlink" title="&#x67E5;&#x627E;&#x5206;&#x88C2;&#x8282;&#x70B9;(split finding)"></a>&#x67E5;&#x627E;&#x5206;&#x88C2;&#x8282;&#x70B9;(split finding)</h4><p><strong>&#x8D2A;&#x5FC3;&#x7B97;&#x6CD5;</strong><br>&#x8D2A;&#x5FC3;&#x7B97;&#x6CD5;&#x662F;&#x6700;&#x57FA;&#x672C;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x524D;&#x9762;&#x4ECB;&#x7ECD;&#x7684;&#x65F6;&#x5019;&#x6709;&#x63D0;&#x8FC7;&#x3002;&#x5177;&#x4F53;&#x505A;&#x6CD5;&#xFF1A;&#x904D;&#x5386;&#x6240;&#x6709;&#x7279;&#x5F81;&#x4E2D;&#x53EF;&#x80FD;&#x7684;&#x5206;&#x88C2;&#x70B9;&#x4F4D;&#x7F6E;&#xFF0C;&#x6839;&#x636E;&#x516C;&#x5F0F;$(4)$&#x627E;&#x5230;&#x6700;&#x5408;&#x9002;&#x7684;&#x4F4D;&#x7F6E;&#x3002;$Split\_Finding()$&#x7B97;&#x6CD5;&#x6D41;&#x7A0B;&#x5982;&#x4E0B;<br>$$\eqalign{
  &amp; Split\_Finding(): \cr
  &amp; Input:I,instance\;set\;of\;current\;node  \cr 
  &amp; Input:d,feature\;dimension  \cr 
  &amp; gain \leftarrow 0  \cr 
  &amp; G \leftarrow \sum\limits_{i \in I} {{g_i}} ,H \leftarrow \sum\limits_{i \in I} {{h_i}}   \cr 
  &amp; for\;k = 1\;to\;m\;do  \cr 
  &amp; \;\;\;\;{G_L} \leftarrow 0,{H_L} \leftarrow 0  \cr 
  &amp; \;\;\;\;for\;j\;in\;sorted\left( {I,by\;{{\bf{x}}_{jk}}} \right)\;do  \cr 
  &amp; \;\;\;\;\;\;\;\;{G_L} \leftarrow {G_L} + {g_j},{H_L} \leftarrow {H_L} + {h_j}  \cr 
  &amp; \;\;\;\;\;\;\;\;{G_R} \leftarrow G - {G_L},{H_R} \leftarrow H - {H_L}  \cr 
  &amp; \;\;\;\;\;\;\;\;score \leftarrow \max \left( {score,{{G_L^2} \over {{H_L} + \lambda }} + {{G_R^2} \over {{H_R} + \lambda }} - {{{G^2}} \over {H + \lambda }}} \right)  \cr 
  &amp; \;\;\;\;end  \cr 
  &amp; end \cr
  &amp; Output:\; split\_value\; with\; max \; score} $$<br> <strong>&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;</strong><br> &#x5982;&#x679C;&#x6570;&#x636E;&#x4E0D;&#x80FD;&#x4E00;&#x6B21;&#x8BFB;&#x5165;&#x5185;&#x5B58;&#xFF0C;&#x4F7F;&#x7528;&#x8D2A;&#x5FC3;&#x7B97;&#x6CD5;&#x6548;&#x7387;&#x8F83;&#x4F4E;&#x3002;&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#x5728;&#x8FC7;&#x53BB;&#x4E5F;&#x6709;&#x5E94;&#x7528;[6, 7, 8]&#x3002;&#x5177;&#x4F53;&#x63CF;&#x8FF0;&#x4E3A;&#xFF0C;&#x5BF9;&#x4E8E;&#x67D0;&#x4E2A;&#x7279;&#x5F81;${\bf x}_k$&#xFF0C;&#x627E;&#x5230;&#x8BE5;&#x7279;&#x5F81;&#x82E5;&#x5E72;&#x503C;&#x57DF;&#x5206;&#x754C;&#x70B9;$\{s_{k1}, s_{k2}, ... ,s_{kl}\}$&#x3002;&#x6839;&#x636E;&#x7279;&#x5F81;&#x7684;&#x503C;&#x5BF9;&#x6837;&#x672C;&#x8FDB;&#x884C;&#x5206;&#x6876;&#xFF0C;&#x5BF9;&#x4E8E;&#x6BCF;&#x4E2A;&#x6876;&#x5185;&#x7684;&#x6837;&#x672C;&#x7EDF;&#x8BA1;&#x503C;$G$&#x3001;$H$&#x8FDB;&#x884C;&#x7D2F;&#x52A0;&#xFF08;&#x4E24;&#x4E2A;&#x7EDF;&#x8BA1;&#x91CF;&#x542B;&#x4E49;&#x540C;&#x8D2A;&#x5FC3;&#x7B97;&#x6CD5;&#xFF09;&#xFF0C;&#x8BB0;&#x4E3A;&#x5206;&#x754C;&#x70B9;$v$&#x7684;&#x7EDF;&#x8BA1;&#x91CF;&#xFF0C;$v$&#x6EE1;&#x8DB3;$\{{\bf x}_{kj}=s_{kv}\}$&#x3002;&#x6700;&#x540E;&#x5728;&#x5206;&#x754C;&#x70B9;&#x96C6;&#x5408;&#x4E0A;&#x8C03;&#x7528;$Split\_Finding()$&#x8FDB;&#x884C;&#x8D2A;&#x5FC3;&#x67E5;&#x627E;&#xFF0C;&#x5F97;&#x5230;&#x7684;&#x7ED3;&#x679C;&#x4E3A;&#x6700;&#x4F73;&#x5206;&#x88C2;&#x70B9;&#x7684;&#x8FD1;&#x4F3C;&#x3002;&#x5177;&#x4F53;&#x5982;&#x4E0B;&#xFF1A;<br> $$\eqalign{
  &amp; for\;k = 1\;to\;m\;do  \cr 
  &amp; \;\;\;\;Propose\;{S_k} = \left\{ {{s_{k1}},{s_{k2}},...,{s_{kl}}} \right\}\;by\;percentile\;on\;feature\;k  \cr 
  &amp; \;\;\;\;Propose\;can\;be\;done\;per\;tree\left( {global} \right),or\;per\;split\left( {local} \right)  \cr 
  &amp; end  \cr 
  &amp; for\;k = 1\;to\;m\;do  \cr 
  &amp; \;\;\;\;{G_{kv}} \leftarrow  = \sum\limits_{j \in \left\{ {j|{s_{k,v}} \ge {x_{jk}} &gt; {s_{k,v - 1}}} \right\}} {{g_j}}   \cr 
  &amp; \;\;\;\;{H_{kv}} \leftarrow  = \sum\limits_{j \in \left\{ {j|{s_{k,v}} \ge {x_{jk}} &gt; {s_{k,v - 1}}} \right\}} {{h_j}}   \cr 
  &amp; end  \cr 
  &amp; call\;Split\_Finding\left( {} \right) \cr} $$<br> &#x4E0B;&#x9762;&#x4ECB;&#x7ECD;&#x627E;&#x7279;&#x5F81;&#x503C;&#x57DF;&#x5206;&#x754C;&#x70B9;$\{s_{k1}, s_{k2}, ... ,s_{kl}\}$&#x7684;&#x65B9;&#x6CD5;&#xFF0C;<em>&#x52A0;&#x6743;&#x5206;&#x4F4D;&#x6570;&#x7565;&#x56FE;</em>&#x3002;&#x4E3A;&#x4E86;&#x5C3D;&#x53EF;&#x80FD;&#x5730;&#x903C;&#x8FD1;&#x6700;&#x4F73;&#x5206;&#x88C2;&#x70B9;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4FDD;&#x8BC1;&#x91C7;&#x6837;&#x540E;&#x6570;&#x636E;&#x5206;&#x5E03;&#x540C;&#x539F;&#x59CB;&#x6570;&#x636E;&#x5C3D;&#x53EF;&#x80FD;&#x4E00;&#x81F4;&#x3002;&#x8BB0;${D_k} = \left\{ {\left( {{x_{1k}},{h_1}} \right),\left( {{x_{2k}},{h_2}} \right) \cdots \left( {{x_{nk}},{h_n}} \right)} \right\}$&#x8868;&#x793A; &#x6BCF;&#x4E2A;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x7684;&#x7B2C;$k$&#x7EF4;&#x7279;&#x5F81;&#x503C;&#x548C;&#x5BF9;&#x5E94;&#x4E8C;&#x9636;&#x5BFC;&#x6570;&#x3002;&#x63A5;&#x4E0B;&#x6765;&#x5B9A;&#x4E49;&#x6392;&#x5E8F;&#x51FD;&#x6570;&#x4E3A;$r_k(\cdot):R \rightarrow[0, +\infty)$<br> $${r_k}\left( z \right) = {1 \over {\sum\limits_{\left( {x,h} \right) \in {D_k}} h }}\sum\limits_{\left( {x,h} \right) \in {D_k},x &lt; z} h $$<br> &#x51FD;&#x6570;&#x8868;&#x793A;&#x7279;&#x5F81;&#x7684;&#x503C;&#x5C0F;&#x4E8E;$z$&#x7684;&#x6837;&#x672C;&#x5206;&#x5E03;&#x5360;&#x6BD4;&#xFF0C;&#x5176;&#x4E2D;&#x4E8C;&#x9636;&#x5BFC;&#x6570;$h$&#x53EF;&#x4EE5;&#x89C6;&#x4E3A;&#x6743;&#x91CD;&#xFF0C;&#x540E;&#x9762;&#x8BBA;&#x8FF0;&#x3002;&#x5728;&#x8FD9;&#x4E2A;&#x6392;&#x5E8F;&#x51FD;&#x6570;&#x4E0B;&#xFF0C;&#x6211;&#x4EEC;&#x627E;&#x5230;&#x4E00;&#x7EC4;&#x70B9;$\{s_{k1}, s_{k2}, ... ,s_{kl}\}$ ,&#x6EE1;&#x8DB3;&#xFF1A;<br>$$\left| {{r_k}\left( {{s_{k,j}}} \right) - {r_k}\left( {{s_{k,j + 1}}} \right)} \right| &lt; \varepsilon$$<br>&#x5176;&#x4E2D;&#xFF0C;${s_{k1}} = \mathop {\min }\limits_i {x_{ik}},{s_{kl}} = \mathop {\max }\limits_i {x_{ik}}$&#x3002;$\varepsilon$&#x4E3A;&#x91C7;&#x6837;&#x7387;&#xFF0C;&#x76F4;&#x89C2;&#x4E0A;&#x7406;&#x89E3;&#xFF0C;&#x6211;&#x4EEC;&#x6700;&#x540E;&#x4F1A;&#x5F97;&#x5230;$1/\varepsilon$&#x4E2A;&#x5206;&#x754C;&#x70B9;&#x3002;<br>&#x8BA8;&#x8BBA;&#x4E0B;&#x4E3A;&#x4F55;$h_i$&#x8868;&#x793A;&#x6743;&#x91CD;&#x3002;&#x4ECE;&#x76EE;&#x6807;&#x51FD;&#x6570;$(1)$&#x51FA;&#x53D1;&#xFF0C;&#x914D;&#x65B9;&#x5F97;&#x5230;$$\sum\limits_{i = 1}^n {\left[ {{1 \over 2}{{\left( {{f_t}\left( {{x_i}} \right) - {g_i}/{h_i}} \right)}^2}} \right]}  + \Omega \left( {{f_t}} \right) + constant$$<br>&#x5177;&#x4F53;&#x8BC1;&#x660E;&#x8FC7;&#x7A0B;&#x89C1;&#x539F;&#x4F5C;&#x9644;&#x5F55;&#x3002;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x5173;&#x4E8E;&#x6807;&#x7B7E;&#x4E3A;${{g_i}/{h_i}}$&#x548C;&#x6743;&#x91CD;&#x4E3A;$h_i$&#x7684;&#x5E73;&#x65B9;&#x8BEF;&#x5DEE;&#x5F62;&#x5F0F;&#x3002;&#x5F53;&#x6BCF;&#x4E2A;&#x6743;&#x91CD;&#x76F8;&#x540C;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x9000;&#x5316;&#x4E3A;&#x666E;&#x901A;&#x7684;&#x5206;&#x4F4D;&#x6570;&#x7565;&#x56FE;[9, 10]<br>&#x63A5;&#x4E0B;&#x6765;&#x4ECB;&#x7ECD;&#x53E6;&#x4E00;&#x4E2A;&#x8BBA;&#x6587;&#x7684;&#x4EAE;&#x70B9;&#xFF0C;&#x5BFB;&#x627E;&#x5206;&#x88C2;&#x70B9;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x5982;&#x4F55;&#x514B;&#x670D;&#x6570;&#x636E;&#x7A00;&#x758F;&#x3002;&#x7A00;&#x758F;&#x6570;&#x636E;&#x53EF;&#x80FD;&#x6765;&#x81EA;&#x4E8E;<em>missing value</em>&#x3001;&#x5927;&#x91CF;&#x7684;0&#x503C;&#x3001;&#x6216;&#x8005;&#x7279;&#x5F81;&#x5DE5;&#x7A0B;&#x4F8B;&#x5982;&#x91C7;&#x7528;one-hot&#x8868;&#x793A;&#x5E26;&#x6765;&#x7684;&#x3002;&#x4E3A;&#x4E86;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#xFF0C;&#x8BBE;&#x5B9A;&#x4E00;&#x4E2A;&#x9ED8;&#x8BA4;&#x6307;&#x5411;&#xFF0C;&#x5F53;&#x53D1;&#x751F;&#x7279;&#x5F81;&#x7F3A;&#x5931;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5C06;&#x6837;&#x672C;&#x5206;&#x7C7B;&#x5230;&#x9ED8;&#x8BA4;&#x5206;&#x652F;&#xFF0C;&#x5982;&#x4E0B;&#x56FE;&#xFF1A;<br><img src="/2016/10/05/a-guide-to-xgboost-A-Scalable-Tree-Boosting-System/./1475660945404.png" alt="&#x5206;&#x7C7B;&#x9ED8;&#x8BA4;&#x65B9;&#x5411;&#x793A;&#x610F;&#x56FE;"><br>&#x9ED8;&#x8BA4;&#x65B9;&#x5411;&#x7531;&#x8BAD;&#x7EC3;&#x96C6;&#x4E2D;non-missing value&#x5B66;&#x4E60;&#x800C;&#x5F97;&#xFF0C;&#x628A;&#x4E0D;&#x5B58;&#x5728;&#x7684;&#x503C;&#x4E5F;&#x5F53;&#x6210;missing value&#x8FDB;&#x884C;&#x5B66;&#x4E60;&#x548C;&#x5904;&#x7406;&#xFF0C;&#x5982;&#x4E0B;&#xFF1A;<br>$$\eqalign{
  &amp; Sparsity\_Split\_Finding(): \cr
  &amp; Input:I,instance\;set\;of\;current\;node  \cr 
  &amp; Input:d,feature\;dimension  \cr 
  &amp; gain \leftarrow 0  \cr 
  &amp; G \leftarrow \sum\limits_{i \in I} {{g_i}} ,H \leftarrow \sum\limits_{i \in I} {{h_i}}   \cr 
  &amp; for\;k = 1\;to\;m\;do  \cr 
  &amp; \;\;\;\;{G_L} \leftarrow 0,{H_L} \leftarrow 0  \cr 
  &amp; \;\;\;\;for\;j\;in\;sorted\left( {I_k,ascent order by\;{{\bf{x}}_{jk}}} \right)\;do  \cr 
  &amp; \;\;\;\;\;\;\;\;{G_L} \leftarrow {G_L} + {g_j},{H_L} \leftarrow {H_L} + {h_j}  \cr 
  &amp; \;\;\;\;\;\;\;\;{G_R} \leftarrow G - {G_L},{H_R} \leftarrow H - {H_L}  \cr 
  &amp; \;\;\;\;\;\;\;\;score \leftarrow \max \left( {score,{{G_L^2} \over {{H_L} + \lambda }} + {{G_R^2} \over {{H_R} + \lambda }} - {{{G^2}} \over {H + \lambda }}} \right)  \cr 
  &amp; \;\;\;\;end  \cr 
   &amp; \;\;\;\;{G_R} \leftarrow 0,{H_R} \leftarrow 0  \cr 
  &amp; \;\;\;\;for\;j\;in\;sorted\left( {I_k,ascent order by\;{{\bf{x}}_{jk}}} \right)\;do  \cr 
  &amp; \;\;\;\;\;\;\;\;{G_R} \leftarrow {G_R} + {g_j},{H_R} \leftarrow {H_R} + {h_j}  \cr 
  &amp; \;\;\;\;\;\;\;\;{G_L} \leftarrow G - {G_R},{H_L} \leftarrow H - {H_R}  \cr 
  &amp; \;\;\;\;\;\;\;\;score \leftarrow \max \left( {score,{{G_L^2} \over {{H_L} + \lambda }} + {{G_R^2} \over {{H_R} + \lambda }} - {{{G^2}} \over {H + \lambda }}} \right)  \cr 
  &amp; \;\;\;\;end  \cr 
  &amp; end \cr
  &amp; Output:\; split\_value\; and\; default \;directions\; with\; max \; score} $$</p>
<p>&#x8BBA;&#x6587;&#x540E;&#x7EED;&#x5185;&#x5BB9;&#x4E3A;<strong>&#x7CFB;&#x7EDF;&#x90E8;&#x5206;</strong>&#xFF08;&#x5305;&#x62EC;&#x5E76;&#x884C;&#x5316;&#x3001;cache-aware&#x52A0;&#x901F;&#x3001;&#x6570;&#x636E;&#x5757;&#x9884;&#x5904;&#x7406;&#xFF0C;&#x9700;&#x8981;&#x7ED3;&#x5408;&#x4EE3;&#x7801;&#x7814;&#x8BFB;&#xFF09;&#x3001;<strong>&#x5B9E;&#x9A8C;</strong>&#xFF08;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x6570;&#x636E;&#x96C6;&#x4E0A;&#x8FDB;&#x884C;&#x4E86;&#x5B9E;&#x9A8C;&#xFF0C;&#x5305;&#x62EC;&#x5206;&#x7C7B;&#x3001;LTR&#x3001;CTR&#x9884;&#x4F30;&#xFF09;&#x8BE6;&#x89C1;&#x8BBA;&#x6587;[11]<br>&#x4EE3;&#x7801;&#x9605;&#x8BFB;&#xFF1A;<br>&#x4EE3;&#x7801;&#x6613;&#x7528;&#xFF0C;&#x6CE8;&#x91CA;&#x8F83;&#x5B8C;&#x5907;&#xFF0C;&#x652F;&#x6301;&#x591A;&#x79CD;&#x8BED;&#x8A00;&#xFF0C;&#x76EE;&#x524D;&#x4ECD;&#x5728;&#x6301;&#x7EED;&#x96C6;&#x6210;&#x548C;&#x66F4;&#x65B0;&#xFF0C;&#x5176;&#x4E2D;&#x7A00;&#x758F;&#x77E9;&#x9635;&#x5B58;&#x50A8;&#x4E3A;CSR&#x683C;&#x5F0F;(&#x89C1;&#x9644;&#x5F55;&#x601D;&#x8003;[2])&#x3002;<br>&#x5F88;&#x591A;&#x6838;&#x5FC3;&#x7684;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x51FD;&#x6570;&#x590D;&#x7528;&#x4E86;&#x4F5C;&#x8005;&#x7684;&#x53E6;&#x4E00;&#x4E2A;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x5E93;DMLC(Distributed Machine Learning Common Codebase)&#xFF0C;&#x548C;&#x53C2;&#x8003;[12]&#x4E2D;&#x4ECB;&#x7ECD;&#x4EE3;&#x7801;&#x7248;&#x672C;&#x5BF9;&#x6BD4;&#xFF0C;&#x8FD0;&#x7528;&#x8F83;&#x591A;&#x901A;&#x7528;&#x7684;&#x5DE5;&#x5382;&#x7C7B;&#x65B9;&#x6CD5;(&#x89C1;&#x9644;&#x5F55;&#x601D;&#x8003;[3])&#xFF0C;&#x8349;&#x8349;&#x4ECB;&#x7ECD;&#x4E0B;&#x4E3B;&#x4F53;&#x4EE3;&#x7801;&#x7EC4;&#x6210;&#xFF0C;&#x4E0B;&#x4E00;&#x7BC7;&#x4F1A;&#x8FDB;&#x884C;&#x8BE6;&#x7EC6;&#x62C6;&#x89E3;&#xFF1A;<br><figure class="highlight python"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div></pre></td><td class="code"><pre><div class="line">Data.h &#x5B9A;&#x4E49;&#x57FA;&#x7840;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;</div><div class="line">    &#x5982;&#x6570;&#x636E;&#x4FE1;&#x606F;MetaInfo&#xFF0C;&#x7A00;&#x758F;&#x77E9;&#x9635;RowBatch&#xFF0C;&#x6570;&#x636E;&#x96C6;&#x5408;RowSet&#xFF0C;&#x8BAD;&#x7EC3;&#x65F6;&#x77E9;&#x9635;&#x8868;&#x8FBE;DMatrix&#x3002;</div><div class="line">Tree_model.h &#x5B9A;&#x4E49;&#x4E86;&#x6811;&#x76F8;&#x5173;&#x53C2;&#x6570;TreeParam&#xFF0C;&#x6811;&#x7684;&#x6A21;&#x677F;&#x7C7B;TreeModel(&#x5BF9;&#x5E94;&#x6811;&#x8282;&#x70B9;Node)&#xFF0C;</div><div class="line">    &#x56DE;&#x5F52;&#x6811;RegTree&#xFF0C;&#x5173;&#x4E8E;&#x6811;&#x7684;&#x64CD;&#x4F5C;&#xFF08;&#x589E;&#x5220;&#x6539;&#x67E5;&#xFF0C;&#x8BFB;&#x5199;load,save,dump2text&#x7B49;&#xFF09;&#x3002;</div><div class="line">Tree_updater.h &#x5B8C;&#x6210;&#x5BF9;&#x6811;&#x7684;&#x66F4;&#x65B0;&#xFF0C;&#x5305;&#x542B;&#x5BF9;&#x8C61;&#x5DE5;&#x5382;&#x7C7B;&#x7528;&#x4E8E;&#x6CE8;&#x518C;&#x4E0D;&#x540C;&#x7684;&#x66F4;&#x65B0;&#x64CD;&#x4F5C;:</div><div class="line"><span class="string">&quot;updater_colmaker.cc&quot;</span>,  &#x901A;&#x8FC7;&#x6570;&#x636E;&#x5217;(&#x8BBA;&#x6587;&#x4ECB;&#x7ECD;&#x65B9;&#x5F0F;)&#x6811;&#x7684;&#x66F4;&#x65B0;&#xFF08;&#x5355;&#x673A;&#x591A;&#x7EBF;&#x7A0B;&#x7248;&#x672C;&#xFF09;</div><div class="line"><span class="string">&quot;updater_skmaker.cc&quot;</span>,  &#x5206;&#x4F4D;&#x6570;&#x7565;&#x56FE;&#x6CD5;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x91C7;&#x6837;</div><div class="line"><span class="string">&quot;updater_refresh.cc&quot;</span>,  &#x66F4;&#x65B0;&#x64CD;&#x4F5C;</div><div class="line"><span class="string">&quot;updater_prune.cc&quot;</span>,  &#x66F4;&#x65B0;&#x8FC7;&#x7A0B;&#x4E2D;&#x8FDB;&#x884C;&#x526A;&#x679D;</div><div class="line"><span class="string">&quot;updater_histmaker.cc&quot;</span>,  &#x901A;&#x8FC7;&#x76F4;&#x65B9;&#x56FE;&#x76F8;&#x5173;&#x7EDF;&#x8BA1;&#x91CF;&#x5B8C;&#x6210;&#x6811;&#x7684;&#x66F4;&#x65B0;</div><div class="line"><span class="string">&quot;updater_sync.cc&quot;</span>, &#x4ECE;&#x5206;&#x5E03;&#x8BAD;&#x7EC3;&#x673A;&#x5668;&#x8282;&#x70B9;&#x4E2D;&#x8FDB;&#x884C;&#x6811;&#x7684;&#x540C;&#x6B65;</div><div class="line">Objective.h &#x5B9A;&#x4E49;&#x4E86;&#x76EE;&#x6807;&#x51FD;&#x6570;&#xFF0C;&#x5177;&#x4F53;&#x4F18;&#x5316;&#x76EE;&#x6807;&#x5B9E;&#x73B0;&#xFF0C;&#x56DE;&#x5F52;,&#x5206;&#x7C7B;,&#x6392;&#x5E8F;&#x51FD;&#x6570;&#x7531;&#x5BF9;&#x8C61;&#x5DE5;&#x5382;&#x751F;&#x6210;&#xFF1A;</div><div class="line"><span class="string">&quot;multiclass_obj.cc&quot;</span>, &#x591A;&#x5206;&#x7C7B;&#x635F;&#x5931;&#x51FD;&#x6570;(<span class="string">&quot;SoftmaxMultiClass&quot;</span>,<span class="string">&quot;SoftprobMultiClass&quot;</span>)</div><div class="line"><span class="string">&quot;rank_obj.cc&quot;</span>, &#x6392;&#x5E8F;&#x635F;&#x5931;&#x51FD;&#x6570;&#xFF0C;&#x6709;&#x591A;&#x79CD;&#x53EF;&#x9009;(PairwiseRankObj&#xFF0C;LambdaRankNDCG&#xFF0C;LambdaRankObjMAP)</div><div class="line"><span class="string">&quot;regression_obj.cc&quot;</span>&#xFF0C;&#x56DE;&#x5F52;&#x635F;&#x5931;&#x51FD;&#x6570;(<span class="string">&quot;GammaRegression&quot;</span>)</div><div class="line">&#x770B;demo&#x53EF;&#x77E5;&#xFF0C;xgboost&#x5141;&#x8BB8;&#x7528;&#x6237;&#x81EA;&#x5B9A;&#x4E49;&#x635F;&#x5931;&#x51FD;&#x6570;&#x3002;</div><div class="line">metric.h &#x6A21;&#x578B;&#x6548;&#x679C;&#x8BC4;&#x4F30;&#x7C7B;&#xFF0C;&#x5305;&#x542B;elementwise_metric&#x3001;multiclass_metric&#x3001;rank_metric&#x4E09;&#x7C7B;&#x3002;</div><div class="line"><span class="string">&quot;elementwise_metric.cc&quot;</span>: &#x5B9A;&#x4E49;&#x8BC4;&#x4F30;&#x51FD;&#x6570;&#x6709;(RMSE, MAE, logLoss, Error, PosssionNegLoglik, </div><div class="line">    GammaDeviance, GammaNlogLik)</div><div class="line"><span class="string">&quot;multiclass_metric.cc&quot;</span>: &#x5B9A;&#x4E49;&#x4E24;&#x79CD;&#x8BC4;&#x4F30;&#x6307;&#x6807;(SoftmaxMultiClass, SoftprobMultiClass)</div><div class="line"><span class="string">&quot;rank_metric.cc&quot;</span>: &#x5B9A;&#x4E49;&#x8BC4;&#x4F30;&#x6307;&#x6807;(AMS, Auc, Precision, NDCG, MAP)</div></pre></td></tr></table></figure></p>
<h3 id="&#x9644;&#x5F55;"><a href="#&#x9644;&#x5F55;" class="headerlink" title="&#x9644;&#x5F55;"></a>&#x9644;&#x5F55;</h3><p><strong>&#x5F15;&#x6587;</strong><br>[1] Panda, Biswanath, et al. &#x201C;PLANET: massively parallel learning of tree ensembles with MapReduce.&#x201D; Proceedings of the Vldb Endowment 2.2(2009):1426-1437.<br>[2] Tyree, Stephen, et al. &#x201C;Parallel boosted regression trees for web search ranking.&#x201D; International Conference on World Wide Web ACM, 2011:387-396.<br>[3] Ye, Jerry, et al. &#x201C;Stochastic gradient boosted distributed decision trees.&#x201D; ACM Conference on Information and Knowledge Management, CIKM 2009, Hong Kong, China, November 2009:2061-2064.<br>[4] Johnson, Rie, and Z. Tong. &#x201C;Learning Nonlinear Functions Using Regularized Greedy Forest.&#x201D; IEEE Transactions on Pattern Analysis &amp; Machine Intelligence 36.5(2013):942-54.<br>[5] Friedman, Jerome H., and B. E. Popescu. &#x201C;Importance Sampled Learning Ensembles.&#x201D; (2003).<br>[6] Li, Ping, C. J. C. Burges, and Q. Wu. &#x201C;McRank: Learning to Rank Using Multiple Classification and Gradient Boosting.&#x201D; Advances in Neural Information Processing Systems (2007):897-904.<br>[7] Bekkerman, Ron, M. Bilenko, and J. Langford. &#x201C;Scaling up machine learning: parallel and distributed approaches.&#x201D; ACM SIGKDD International Conference Tutorials ACM, 2011:1-1.<br>[8] Tyree, Stephen, et al. &#x201C;Parallel boosted regression trees for web search ranking.&#x201D; International Conference on World Wide Web ACM, 2011:387-396.<br>[9] Greenwald, Michael. &#x201C;Space-efficient online computation of quantile summaries.&#x201D; Acm Sigmod Record 30.2(2001):58&#x2013;66.<br>[10] Zhang, Qi, and W. Wang. &#x201C;A Fast Algorithm for Approximate Quantiles in High Speed Data Streams.&#x201D; (2007):29-29.<br>[11]Chen, Tianqi, and C. Guestrin. &#x201C;XGBoost: A Scalable Tree Boosting System.&#x201D; (2016).<br>[12] xgboost&#x5BFC;&#x8BFB;&#x548C;&#x5B9E;&#x6218;&#xFF08;<a href="http://pan.baidu.com/s/1qXWkVbY" target="_blank" rel="external">&#x767E;&#x5EA6;&#x4E91;&#x5730;&#x5740;</a>&#xFF09;&#xFF0C;&#x738B;&#x8D85;&#xFF0C;&#x9648;&#x5E05;&#x534E;<br>[13] <a href="http://blog.csdn.net/zc02051126/article/details/46711047" target="_blank" rel="external">xgboost&#x4EE3;&#x7801;&#x53C2;&#x6570;&#x8BF4;&#x660E;</a>, @zc02051126&#x8BD1;<br>[14]<a href="http://cos.name/2015/03/xgboost/" target="_blank" rel="external">xgboost: &#x901F;&#x5EA6;&#x5FEB;&#x6548;&#x679C;&#x597D;&#x7684;boosting&#x6A21;&#x578B;</a>,&#x4F55;&#x901A;<br>[15]<a href="http://xgboost.readthedocs.io/en/latest//model.html#" target="_blank" rel="external">Introduction to Boosted Trees</a>, &#x5B98;&#x7F51;</p>
<p><strong>&#x601D;&#x8003;</strong><br>[1].&#x4E0D;&#x80FD;&#x76F4;&#x63A5;&#x770B;&#x660E;&#x767D;&#xFF0C;&#x624B;&#x75D2;&#x63A8;&#x5BFC;&#x4E00;&#x628A;&#x5C31;&#x901A;&#x987A;&#x591A;&#x4E86;&#x3002;&#x51FD;&#x6570;$f(x)$&#x5728;$x_0$&#x5904;&#x7684;&#x4E8C;&#x9636;&#x5C55;&#x5F00;&#x5F0F;&#x4E3A;&#xFF1A;$$f\left( x \right) = f\left( {{x_0}} \right) + f&apos;\left( {{x_0}} \right)\left( {x - {x_0}} \right) + f&apos;&apos;\left( {{x_0}} \right){\left( {x - {x_0}} \right)^2}$$<br>&#x6211;&#x4EEC;&#x5BF9;$l(y_i, x)$&#x5728;${\hat y}^{(t-1)}_i$&#x5904;&#x8FDB;&#x884C;&#x4E8C;&#x9636;&#x5C55;&#x5F00;&#x5F97;&#x5230;<br>$$l({y_i},x) = l\left( {{y_i},{{\hat y}^{\left( {t - 1} \right)}}} \right) + {{\partial l\left( {{y_i},{{\hat y}^{\left( {t - 1} \right)}}} \right)} \over {\partial {{\hat y}^{\left( {t - 1} \right)}}}}\left( {x - {{\hat y}^{\left( {t - 1} \right)}}} \right) + {{{\partial ^2}l\left( {{y_i},{{\hat y}^{\left( {t - 1} \right)}}} \right)} \over {\partial {{\hat y}^{\left( {t - 1} \right)}}}}{\left( {x - {{\hat y}^{\left( {t - 1} \right)}}} \right)^2}$$<br>&#x4EE4;$x={\hat y}^{(t-1)}+f_t({\bf x}_i)$&#xFF0C;&#x4E14;&#x8BB0;&#x4E00;&#x9636;&#x5BFC;&#x4E3A;${g_i} = {{\partial l\left( {{y_i},{{\hat y}^{\left( {t - 1} \right)}}} \right)} \over {\partial {{\hat y}^{\left( {t - 1} \right)}}}}$&#xFF0C;&#x4E8C;&#x9636;&#x5BFC;&#x4E3A;${h_i} = {{{\partial ^2}l\left( {{y_i},{{\hat y}^{\left( {t - 1} \right)}}} \right)} \over {\partial {{\hat y}^{\left( {t - 1} \right)}}}}$&#x3002;<br>&#x6211;&#x4EEC;&#x5F97;&#x5230;$l(y_i, {\hat y}^{(t-1)}+f_t({\bf x}_i))$&#x7684;&#x4E8C;&#x9636;&#x6CF0;&#x52D2;&#x5C55;&#x5F00;&#xFF1A;<br>$$l\left( {{y_i},{{\hat y}^{\left( {t - 1} \right)}}} \right) + {g_i}{f_t}\left( {{{\bf{x}}_i}} \right) + {1 \over 2}{h_i}f_t^2\left( {{{\bf{x}}_i}} \right)$$<br>&#x5E26;&#x5165;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x53EF;&#x5F97;&#xFF1A;<br>$${L^{\left( t \right)}} \simeq \sum\limits_{i = 1}^n {\left[ {l\left( {{y_i},{{\hat y}^{\left( {t - 1} \right)}}} \right) + {g_i}{f_t}\left( {{{\bf{x}}_i}} \right) + {1 \over 2}{h_i}f_t^2\left( {{{\bf{x}}_i}} \right)} \right]}  + \Omega \left( {{f_t}} \right)$$</p>
<p>[2]&#xFF1A;csr&#x683C;&#x5F0F;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&#x7C7B;&#x4F3C;&#x7684;&#x683C;&#x5F0F;&#x6709;&#x4EC0;&#x4E48;&#xFF0C;&#x5B83;&#x4EEC;&#x4E4B;&#x95F4;&#x7684;&#x533A;&#x522B;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;<br>&#x53C2;&#x89C1;&#xFF1A;<a href="http://www.cnblogs.com/xbinworld/p/4273506.html?utm_source=tuicool&amp;utm_medium=referral" target="_blank" rel="external">&#x7A00;&#x758F;&#x77E9;&#x9635;&#x5B58;&#x50A8;&#x683C;&#x5F0F;&#x603B;&#x7ED3;+&#x5B58;&#x50A8;&#x6548;&#x7387;&#x5BF9;&#x6BD4;:COO,CSR,DIA,ELL,HYB</a><br><img src="/2016/10/05/a-guide-to-xgboost-A-Scalable-Tree-Boosting-System/./1475736817607.png" alt="CSR"><br>CSR&#x6709;&#x884C;&#x504F;&#x79FB;&#xFF0C;&#x5217;&#x4E0B;&#x6807;&#xFF0C;&#x503C;&#x4E09;&#x79CD;&#x5143;&#x7D20;&#x3002;&#x884C;&#x504F;&#x79FB;&#x6570;&#x7EC4;&#x5927;&#x5C0F;&#x4E3A;&#xFF08;&#x603B;&#x884C;&#x6570;&#x76EE;+1&#xFF09;&#xFF0C;&#x884C;&#x504F;&#x79FB;&#x8868;&#x793A;&#x67D0;&#x4E00;&#x884C;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#x5728;values&#x91CC;&#x9762;&#x7684;&#x8D77;&#x59CB;&#x504F;&#x79FB;&#x4F4D;&#x7F6E;&#x3002;&#x6570;&#x503C;&#x548C;&#x5217;&#x53F7;&#x4E0E;COO&#x4E00;&#x81F4;&#xFF0C;&#x8868;&#x793A;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#x4EE5;&#x53CA;&#x5176;&#x5217;&#x53F7;&#x3002;&#x5982;&#x4E0A;&#x56FE;&#x4E2D;&#xFF0C;&#x7B2C;&#x4E00;&#x884C;&#x5143;&#x7D20;1&#x662F;0&#x504F;&#x79FB;&#xFF0C;&#x7B2C;&#x4E8C;&#x884C;&#x5143;&#x7D20;2&#x662F;2&#x504F;&#x79FB;&#xFF0C;&#x7B2C;&#x4E09;&#x884C;&#x5143;&#x7D20;5&#x662F;4&#x504F;&#x79FB;&#xFF0C;&#x7B2C;4&#x884C;&#x5143;&#x7D20;6&#x662F;7&#x504F;&#x79FB;&#x3002;&#x5728;&#x884C;&#x504F;&#x79FB;&#x7684;&#x6700;&#x540E;&#x8865;&#x4E0A;&#x77E9;&#x9635;&#x603B;&#x7684;&#x5143;&#x7D20;&#x4E2A;&#x6570;&#xFF0C;&#x672C;&#x4F8B;&#x4E2D;&#x662F;9&#x3002;</p>
<p>[3]&#x601D;&#x8003;&#xFF1A;<a href="http://blog.csdn.net/tenghui0425/article/details/23838535" target="_blank" rel="external">&#x901A;&#x7528;&#x7684;&#x5DE5;&#x5382;&#x7C7B;</a>&#xFF0C;@tenfyzhong</p>
<p>ShawnXiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x8FD9;&amp;#x7BC7;&amp;#x8BBA;&amp;#x6587;&amp;#x4E00;&amp;#x4F5C;&amp;#x4E3A;&amp;#x9648;&amp;#x5929;&amp;#x9F50;&amp;#xFF0C;XGBoost&amp;#x662F;&amp;#x4ECE;&amp;#x7ADE;&amp;#x8D5B;pk&amp;#x4E2D;
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="gbdt" scheme="https://mlnote.com/tags/gbdt/"/>
    
      <category term="xgboost" scheme="https://mlnote.com/tags/xgboost/"/>
    
  </entry>
  
  <entry>
    <title>Gradient Boosting Decision Tree[下篇]</title>
    <link href="https://mlnote.com/2016/10/02/gradient-boosting-decision-tree-2/"/>
    <id>https://mlnote.com/2016/10/02/gradient-boosting-decision-tree-2/</id>
    <published>2016-10-01T16:00:00.000Z</published>
    <updated>2016-12-20T14:00:19.492Z</updated>
    
    <content type="html"><![CDATA[<p>&#x8FD9;&#x7BC7;&#x7B14;&#x8BB0;&#x91CC;&#x9762;&#x4F1A;&#x7EE7;&#x7EED;&#x4ECB;&#x7ECD;<a href="https://qiugen.github.io/2016/09/24/gradient-boosting-decision-tree-1/" target="_blank" rel="external">&#x4E0A;&#x7BC7;</a>GB&#x7406;&#x8BBA;&#x7684;&#x5177;&#x4F53;&#x7528;&#x6CD5;&#xFF0C;&#x5BF9;&#x4E0D;&#x540C;&#x7684;<code>loss function</code>&#x5C55;&#x5F00;&#x8BA8;&#x8BBA;&#xFF1A;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x8BEF;&#x5DEE;(LS)&#x548C;&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;(LAD)&#xFF0C;Huber(M)&#x51FD;&#x6570;&#xFF0C;&#x4E09;&#x8005;&#x4E3B;&#x8981;&#x662F;&#x7528;&#x5728;&#x56DE;&#x5F52;&#x95EE;&#x9898;&#x3002;&#x63A5;&#x7740;&#x518D;&#x770B;GB&#x7406;&#x8BBA;&#x600E;&#x4E48;&#x7528;&#x5728;&#x4E8C;&#x5206;&#x7C7B;&#x548C;&#x591A;&#x5206;&#x7C7B;&#x4E0A;&#x3002;</p>
<blockquote>
<p>&#x6709;&#x6CA1;&#x6709;&#x53D1;&#x73B0;&#x5199;&#x4E86;&#x8FD9;&#x4E48;&#x591A;&#xFF0C;&#x8FD8;&#x662F;&#x6CA1;&#x6709;&#x70B9;&#x9898;&#x201D;GBDT&#x201D;&#xFF0C;&#x5148;&#x8BB0;&#x4E0B;&#xFF0C;&#x4E14;&#x5F80;&#x4E0B;&#x770B;<br>&#x7EB8;&#x4E0A;&#x5F97;&#x6765;&#x7EC8;&#x89C9;&#x6D45;&#xFF0C;&#x5E0C;&#x671B;&#x80FD;&#x7EC4;&#x7EC7;&#x4E00;&#x6CE2;&#x5C0F;&#x4F19;&#x4F34;&#x628A;&#x6A21;&#x578B;&#x5B9E;&#x73B0;&#x4E2A;&#x904D;&#x561E;</p>
</blockquote>
<p>&#x56DE;&#x987E;&#x4E0B;&#xFF1A;&#x4E0A;&#x4E00;&#x7BC7;&#x7ED3;&#x5C3E;&#x90E8;&#x5206;&#xFF0C;&#x6211;&#x4EEC;&#x7ED9;&#x51FA;&#x4E86;&#x901A;&#x7528;&#x7684;GB&#x6846;&#x67B6;&#xFF1A;</p>
<ol>
<li>${F_0}\left( {\bf{x}} \right) = \arg {\min _\rho }\sum\nolimits_{i = 1}^N {L\left( {{y_i},\rho } \right)} $</li>
<li>$For\;m = 1\;to\;M\;do:$</li>
<li>${{\tilde y}_i} =  - {\left[ {{{\partial L\left( {{y_i},F\left( {{{\bf{x}}_i}} \right)} \right)} \over {\partial F\left( {{{\bf{x}}_i}} \right)}}} \right]_{F\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right)}},i = 1,N$</li>
<li>${{\bf{a}}_m} = \arg {\min _{{\bf{a}},\beta }}{\sum\nolimits_{i = 1}^N {\left[ {{{\tilde y}_i} - \beta h\left( {{{\bf{x}}_i};{\bf{a}}} \right)} \right]} ^2}$</li>
<li>${\rho _m} = \arg \mathop {\min }\limits_\rho  \sum\nolimits_{i = 1}^N {L\left( {{y_i},{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \rho h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)} \right)} $</li>
<li>${F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + {\rho _m}h\left( {{\bf{x}};{{\bf{a}}_m}} \right)$</li>
<li>$end For$
</li>
</ol>
<p>&#x5C06;&#x82E5;&#x5E72;learner $h({\bf x}_i;{\bf a})$&#x7528;mixture&#x65B9;&#x5F0F;&#x8FDB;&#x884C;&#x7EC4;&#x5408;&#x6700;&#x5C0F;&#x5316;<em>loss function</em>&#xFF0C;&#x6839;&#x636E;&#x4E0D;&#x540C;&#x7684;<em>loss function</em>&#xFF0C;&#x7B2C;4&#x884C;&#x7684;&#x8D1F;&#x68AF;&#x5EA6;&#x8BA1;&#x7B97;&#x4E5F;&#x4E0D;&#x540C;&#xFF0C;&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;&#x4E0B;&#x51E0;&#x4E2A;&#x5E38;&#x7528;&#x7684;<em>loss function</em>&#xFF1A;</p>
<h4 id="&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;-LS-&#x56DE;&#x5F52;"><a href="#&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;-LS-&#x56DE;&#x5F52;" class="headerlink" title="&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;(LS)&#x56DE;&#x5F52;"></a><strong>&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;(LS)&#x56DE;&#x5F52;</strong></h4><p><em>loss function</em>&#x4E3A;$L\left( {y,F} \right) = {{{{\left( {y - F} \right)}^2}} \over 2}$&#x3002;&#x5728;$m$&#x8F6E;&#x5BF9;$F_{m-1}$&#x6C42;&#x5BFC;&#x5F97;&#x5230;&#x68AF;&#x5EA6;&#xFF0C;&#x8D1F;&#x68AF;&#x5EA6;<em>pseudore-response</em>&#x4E3A;${{\tilde y}_i} = {y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)$&#x3002;&#x901A;&#x7528;&#x6846;&#x67B6;&#x4E2D;&#x7B2C;4&#x884C;&#x53EA;&#x9700;&#x8981;&#x7B80;&#x5355;&#x5730;&#x62DF;&#x5408;&#x5F53;&#x524D;&#x7684;&#x6B8B;&#x5DEE;&#xFF0C;&#x7B2C;5&#x884C;&#x7EBF;&#x641C;&#x7D22;&#x6B65;&#x957F;$\rho _m$&#x53EF;&#x4EE5;&#x7B49;&#x4EF7;&#x4E3A;&#x7B2C;4&#x884C;&#x4E2D;&#x7684;$\beta _m$&#x3002;&#x4EE5;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;&#x4E3A;<em>loss function</em>&#x7684;&#x53EF;&#x4EE5;&#x63A8;&#x51FA;&#x6B8B;&#x5DEE;&#x62DF;&#x5408;&#x7684;&#x7EA7;&#x8054;&#x65B9;&#x6CD5;&#xFF0C;&#x8FD9;&#x4E5F;&#x662F;&#x6700;&#x5E38;&#x89C1;&#x7684;&#x5F62;&#x5F0F;&#x3002;LS_Boost&#x6D41;&#x7A0B;&#x6574;&#x7406;&#x5982;&#x4E0B;&#xFF1A;<br>$$\eqalign{
  &amp; For\;m = 1\;to\;M\;do:  \cr 
  &amp; \;\;\;\;{y_i} = {y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right),\;i = 1,N  \cr 
  &amp; \;\;\;\;\left( {{\rho _m},{{\bf{a}}_m}} \right) = \mathop {\arg \min }\limits_{{\bf{a}},\rho } {\sum\limits_{i = 1}^N {\left[ {{{\tilde y}_i} - \rho h\left( {{{\bf{x}}_i};{\bf{a}}} \right)} \right]} ^2}  \cr 
  &amp; \;\;\;\;{F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + {\rho _m}h\left( {{\bf{x}};{{\bf{a}}_m}} \right)  \cr 
  &amp; endFor\; \cr} $$</p>
<h4 id="&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;-LAD-&#x56DE;&#x5F52;"><a href="#&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;-LAD-&#x56DE;&#x5F52;" class="headerlink" title="&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;(LAD)&#x56DE;&#x5F52;"></a><strong>&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;(LAD)&#x56DE;&#x5F52;</strong></h4><p><em>loss function</em> &#x4E3A;$L\left( {y,F} \right) = \left| {y - F} \right|\;$&#xFF0C;&#x53EF;&#x4EE5;&#x5F97;&#x5230;&#x8D1F;&#x68AF;&#x5EA6;&#x4E3A;<em>pseudore-response</em><br>$${{\tilde y}_i} =  - {\left[ {{{\partial L\left( {{y_i},F\left( {{{\bf{x}}_i}} \right)} \right)} \over {\partial F\left( {{{\bf{x}}_i}} \right)}}} \right]_{F\left( {\bf{x}} \right){\rm{ = }}{F_{m - 1}}\left( {\bf{x}} \right)}} = sign\left( {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right)$$&#xFF0C;&#x8FD9;&#x4E2A;&#x6C42;&#x5BFC;&#x8FC7;&#x7A0B;&#x653E;&#x5728;&#x9644;&#x5F55;&#x601D;&#x8003;[1]&#x3002;<br>&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4E00;&#x7EC4;&#x5206;&#x7C7B;&#x5668;$h({\bf x};{\bf a})$&#x53BB;&#x62DF;&#x5408;&#x6B8B;&#x5DEE;&#x7684;&#x7B26;&#x53F7;&#xFF08;<em>pseudore-response</em>&#x4E3A;&#x7B26;&#x53F7;&#x51FD;&#x6570;&#x503C;&#xFF0C;&#x62DF;&#x5408;<em>pseudore-response</em>&#x5373;&#x62DF;&#x5408;&#x6B8B;&#x5DEE;&#x7684;&#x7B26;&#x53F7;&#xFF09;&#x3002;&#x901A;&#x8FC7;&#x7EBF;&#x641C;&#x7D22;&#x5F97;&#x5230;<br>$$\eqalign{
  &amp; {\rho _m} = \arg \mathop {\min }\limits_\rho  \sum\limits_{i = 1}^N {\left| {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right) - \rho h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)} \right|}   \cr 
  &amp; {\kern 1pt} \;\;\;\; = \arg \mathop {\min }\limits_\rho  \sum\limits_{i = 1}^N {\left| {h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)} \right| \cdot \left| {{{{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \over {h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)}} - \rho } \right|}   \cr 
  &amp; \;\;\;\;{\rm{ = media}}{{\rm{n}}_W}\left\{ {{{{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \over {h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)}}} \right\}_1^N,{w_i} = \left| {h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)} \right|. \cr} $$<br>$media{n_W}\left\{ {} \right\}$&#x8868;&#x793A;&#x5148;&#x8FDB;&#x884C;$w_i$&#x52A0;&#x6743;&#xFF0C;&#x5728;&#x5F97;&#x5230;&#x7684;&#x7ED3;&#x679C;&#x4E2D;&#xFF0C;&#x53D6;&#x5F97;&#x4E2D;&#x4F4D;&#x6570;&#x3002;&#x6211;&#x4EEC;&#x5728;GB&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x91C7;&#x7528;&#x4E0A;&#x9762;&#x7684;<em>pseudore-response</em>&#x548C;$h({\bf x};{\bf a})$&#x3001;&#x4EE5;&#x53CA;&#x6B65;&#x957F;$\rho_m$&#xFF0C;&#x53EF;&#x4EE5;&#x5F97;&#x5230;<em>loss function</em>&#x4E3A;LAD&#x7684;GB&#x7B97;&#x6CD5;&#x3002;</p>
<h4 id="&#x7528;&#x4E8E;&#x56DE;&#x5F52;&#x7684;GBDT"><a href="#&#x7528;&#x4E8E;&#x56DE;&#x5F52;&#x7684;GBDT" class="headerlink" title="&#x7528;&#x4E8E;&#x56DE;&#x5F52;&#x7684;GBDT"></a><strong>&#x7528;&#x4E8E;&#x56DE;&#x5F52;&#x7684;GBDT</strong></h4><p>&#x4E0A;&#x9762;&#x4ECB;&#x7ECD;&#x4E86;GB&#x65B9;&#x6CD5;&#x4E2D;&#x7684;LS&#x548C;LAD&#xFF0C;&#x5982;&#x679C;&#x4F7F;&#x7528;&#x6811;&#x6A21;&#x578B;&#x4F8B;&#x5982;CART&#x6811;&#x4F5C;&#x4E3A;$h({\bf x};{\bf a})$&#xFF0C;&#x53EF;&#x4EE5;&#x8868;&#x8FF0;&#x5982;&#x4E0B;&#xFF1A;$$h\left( {{\bf{x}};\left\{ {{b_j},{R_j}} \right\}_1^J} \right) = \sum\limits_{j = 1}^J {{b_j}1\left( {{\bf{x}} \in {R_j}} \right)} $$<br>$\left\{ {{R_j}} \right\}_1^J$&#x8868;&#x793A;&#x4ECE;&#x89C2;&#x6D4B;&#x6570;&#x636E;$\bf x$&#x4E2D;&#x751F;&#x6210;&#x7684;&#x4E0D;&#x8054;&#x901A;&#x533A;&#x57DF;&#xFF0C;&#x7531;&#x6811;&#x7684;&#x5206;&#x88C2;&#x8282;&#x70B9;&#x8FDB;&#x884C;&#x5212;&#x5206;&#x3002;&#x800C;$$1\left(  \cdot  \right)$$&#xFF0C;&#x8868;&#x793A;&#x4E8B;&#x4EF6;$x \in R_j$&#x662F;&#x5426;&#x53D1;&#x751F;&#xFF0C;&#x5224;&#x65AD;&#x6837;&#x672C;&#x70B9;&#x843D;&#x5728;&#x67D0;&#x4E2A;&#x5206;&#x652F;&#x3002;&#x6811;&#x7684;&#x53C2;&#x6570;&#x6709;&#x4E24;&#x90E8;&#x5206;&#xFF0C;&#x8282;&#x70B9;&#x7CFB;&#x6570;&#x4E3A;$\left\{ {{b_j}} \right\}_1^J$&#x3001;&#x8282;&#x70B9;&#xFF08;&#x5305;&#x542B;&#x9009;&#x62E9;&#x54EA;&#x4E2A;&#x8282;&#x70B9;&#x548C;&#x786E;&#x8BA4;&#x5B83;&#x8FDB;&#x884C;&#x5206;&#x88C2;&#x7684;&#x503C;&#xFF09;&#x3002;&#x56DE;&#x5F52;&#x6811;&#x7684;&#x66F4;&#x65B0;&#x516C;&#x5F0F;&#x4E3A;&#xFF1A;<br>$${F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + {\rho _m}\sum\limits_{j = 1}^J {{b_{jm}}1\left( {{\bf{x}} \in {R_{jm}}} \right)} --(1)$$<br>&#x8FD9;&#x91CC;$\left\{ {{R_{jm}}} \right\}_1^J$&#x8868;&#x793A;&#x7B2C;$m$&#x8F6E;&#x8FED;&#x4EE3;&#x4E2D;&#x6811;&#x7684;&#x8282;&#x70B9;&#x6240;&#x5212;&#x5206;&#x7684;&#x533A;&#x57DF;&#x3002;&#x82E5;&#x5BF9;&#x4E8E;<em>loss function</em>&#x4E3A;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;(LS)&#xFF0C;&#x8FD9;&#x4E9B;&#x533A;&#x57DF;&#x7684;&#x7D2F;&#x52A0;&#x7528;&#x6765;&#x8868;&#x793A;&#x5F53;&#x524D;&#x7684;<em>pseudo-response</em>&#xFF0C;$\left\{ {{b_{jm}}} \right\}$&#x4E3A;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;&#x7684;&#x7CFB;&#x6570;&#xFF1A;<br>$$b_{jm}=ave_{{\bf x}_i \in R_{jm}}{\tilde y}_i$$&#x3002;&#x6B65;&#x957F;$\rho_m$&#x540C;&#x4E0A;&#x8FF0;&#x4E00;&#x81F4;&#xFF0C;&#x53EF;&#x4EE5;&#x7EBF;&#x641C;&#x7D22;&#x8FDB;&#x884C;&#x6C42;&#x89E3;&#x3002;<br>&#x4F5C;&#x8005;&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x79CD;&#x7B80;&#x5316;&#x65B9;&#x5F0F;&#xFF0C;&#x8BB0;${\gamma _{jm}} = {\rho _m}{b_{jm}}$&#x3002;$(1)$&#x5F0F;&#x53D8;&#x5316;&#x5982;&#x4E0B;&#xFF1A;<br>$${F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + \sum\limits_{j = 1}^J {{\gamma _{jm}}1\left( {{\bf{x}} \in {R_{jm}}} \right)} $$<br>&#x4ECE;&#x4E0A;&#x9762;&#x516C;&#x5F0F;&#x51FA;&#x53D1;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x89C6;&#x4F5C;&#x6BCF;&#x7EA7;&#x589E;&#x52A0;$J$&#x4E2A;&#x4E0D;&#x540C;&#x7684;&#x57FA;&#x51FD;&#x6570;&#x3002;&#x5BF9;&#x8FD9;&#x6837;&#x7684;&#x5F0F;&#x5B50;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4F18;&#x5316;&#x4E0B;&#x9762;&#x8FD9;&#x4E2A;&#x5F0F;&#x5B50;&#x5F97;&#x5230;&#x51FD;&#x6570;&#x53C2;&#x6570;&#xFF1A;$$\left\{ {{\gamma _{jm}}} \right\}_1^J = \arg \mathop {\min }\limits_{\left\{ {{\gamma _j}} \right\}_1^J} \sum\limits_{i = 1}^N {L\left( {{y_i},{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \sum\limits_{j = 1}^J {{\gamma _j}1\left( {{\bf{x}} \in {R_{jm}}} \right)} } \right)} $$<br>&#x56E0;&#x4E3A;&#x57FA;&#x51FD;&#x6570;&#x4EE3;&#x8868;&#x7684;&#x6BCF;&#x4E2A;&#x533A;&#x57DF;&#x4E4B;&#x95F4;&#x4E0D;&#x76F8;&#x4E92;&#x4F9D;&#x8D56;&#xFF0C;&#x5BF9;&#x4E8E;&#x6BCF;&#x4E00;&#x7EA7;&#x53EF;&#x4EE5;&#x62C6;&#x5F00;&#x89C6;&#x4E3A;$j$&#x4E2A;&#x6700;&#x5C0F;&#x5355;&#x4F4D;&#x7684;&#x4F18;&#x5316;&#xFF1A;$${\gamma _{jm}} = \arg \mathop {\min }\limits_\gamma  \sum\limits_{{\bf x}_i \in R_{jm}}^N {L\left( {{y_i},{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \gamma } \right)} --(2)$$<br>&#x7ED9;&#x5B9A;&#x5F53;&#x524D;&#x7684;&#x51FD;&#x6570;&#x903C;&#x8FD1;$F_{m-1}(x)$&#x5728;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x5212;&#x5206;&#x7684;&#x533A;&#x57DF;&#x4E0A;&#x4F18;&#x5316;&#xFF0C;&#x5728;LAD&#x7684;<em>loss function</em>&#x4E0B;$(2)$&#x53EF;&#x4EE5;&#x6F14;&#x53D8;&#x4E3A;&#xFF1A;$${\gamma _{jm}} = media{n_{{{\bf{x}}_i} \in {R_{jm}}}}\left\{ {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right\}$$&#x3002;&#x7B2C;$m$&#x8F6E;&#x7B2C;$j$&#x8282;&#x70B9;&#x53C2;&#x6570;$\gamma$&#x53EF;&#x4EE5;&#x8868;&#x793A;&#x4E3A;&#x6B8B;&#x5DEE;&#x7684;&#x4E2D;&#x4F4D;&#x6570;&#x3002;&#x5728;&#x6BCF;&#x4E00;&#x8F6E;&#x8FED;&#x4EE3;&#x4E2D;&#x56DE;&#x5F52;&#x6811;&#x9884;&#x6D4B;&#x5F53;&#x524D;&#x6B8B;&#x5DEE;&#x7684;&#x4E2D;&#x4F4D;&#x6570;&#x3002;<br>$$\eqalign{
  &amp; {F_0}\left( {\bf{x}} \right) = median\left\{ {{y_i}} \right\}_1^N  \cr 
  &amp; For\;m = 1\;to\;M\;do:  \cr 
  &amp; \;\;\;\;{{\tilde y}_i} = {\mathop{\rm sign}\nolimits} \left( {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right),i = 1,N  \cr 
  &amp; \;\;\;\;\left\{ {{R_{jm}}} \right\}_1^J = J - node\;tree\left( {\left\{ {{{\tilde y}_i},{{\bf{x}}_i}} \right\}_1^N} \right)  \cr 
  &amp; \;\;\;\;{\gamma _{jm}} = media{n_{{{\bf{x}}_i} \in {R_{jm}}}}\left\{ {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right\},j = 1,J  \cr 
  &amp; \;\;\;\;{F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + \sum\limits_{j = 1}^J {{\gamma _{jm}}1\left( {{\bf{x}} \in {R_{jm}}} \right)}   \cr 
  &amp; endFor \cr} $$<br>LAD&#x53EA;&#x7528;&#x4E86;&#x53D8;&#x91CF;&#x7684;&#x987A;&#x5E8F;&#x4FE1;&#x606F;&#xFF0C;<em>pseudo-response</em>&#x53EA;&#x6709;$\{-1,1\}$&#x4E8C;&#x503C;&#xFF0C;&#x7B97;&#x6CD5;&#x9C81;&#x68D2;&#x6027;&#x5F3A;&#xFF08;&#x6309;&#xFF0C;&#x4E2D;&#x4F4D;&#x6570;&#x5176;&#x5B9E;&#x633A;&#x96BE;&#x8BA1;&#x7B97;&#x7684;&#xFF0C;&#x89C1;&#x9644;&#x5F55;&#x601D;&#x8003;3&#xFF09;&#x5982;&#x679C;<em>loss function</em>&#x662F;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x8BEF;&#x5DEE;LS&#x7684;&#x8BDD;&#xFF0C;&#x90A3;&#x4E48;&#x6839;&#x636E;$(2)$&#x5F0F;&#x8FDB;&#x884C;&#x6C42;&#x5BFC;&#xFF0C;&#x53EF;&#x5F97;$\gamma$&#x66F4;&#x65B0;&#x516C;&#x5F0F;&#x3002;<br>&#x518D;&#x4ECB;&#x7ECD;&#x4E00;&#x79CD;&#x66F4;&#x76F4;&#x63A5;&#x7684;&#x601D;&#x8DEF;&#xFF0C;&#x8BAD;&#x7EC3;&#x4E00;&#x68F5;&#x6811;$tree$&#x76F4;&#x63A5;&#x62DF;&#x5408;LAD&#x7684;loss&#x3002;<br>$$tre{e_m}\left( {\bf{x}} \right) = \arg \mathop {\min }\limits_{J - node\;tree} \sum\limits_{i = 1}^N {\left| {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right) - tree\left( {{{\bf{x}}_i}} \right)} \right|} $$<br>$${F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right)+tree_{m}({\bf x})$$</p>
<h4 id="M-Regression&#xFF08;Huber-loss-function&#xFF09;"><a href="#M-Regression&#xFF08;Huber-loss-function&#xFF09;" class="headerlink" title="M-Regression&#xFF08;Huber loss function&#xFF09;"></a><strong>M-Regression&#xFF08;Huber loss function&#xFF09;</strong></h4><p>M-Regression&#x589E;&#x5F3A;&#x6A21;&#x578B;&#x5BF9;&#x957F;&#x5C3E;&#x7684;&#x8BEF;&#x5DEE;&#x5206;&#x5E03;&#x7684;&#x9C81;&#x68D2;&#x6027;&#xFF0C;&#x540C;&#x65F6;&#x4FDD;&#x6301;&#x5BF9;&#x6B63;&#x592A;&#x5206;&#x5E03;&#x8BEF;&#x5DEE;&#x8BA1;&#x7B97;&#x7684;&#x9AD8;&#x6548;&#x7387;&#x3002;</p>
<blockquote>
<p>&#x5F85;&#x7406;&#x89E3;&#x201D;M-regression techniques attempt resistance to longtailed error distributions and outliers while maintaining high efficiency for normally distributed errors&#x201D;</p>
</blockquote>
<p>&#x7ED9;&#x51FA;&#x4E0B;&#x9762;&#x7684;Huber <em>loss function</em>&#xFF1A;<br>$$L\left( {y,F} \right) = \left\{ {\matrix{
   {{1 \over 2}{{\left( {y - F} \right)}^2},\left| {y - F} \right| &lt; \delta }  \cr 
   {\delta \left( {\left| {y - F} \right| - {\delta  \over 2}} \right),\left| {y - F} \right| &gt; \delta }  \cr 
} } \right.$$<br>&#x6309;&#x524D;&#x8FF0;GB&#x6846;&#x67B6;&#xFF0C;&#x5148;&#x6C42;<em>pseudore-response</em>&#xFF1A;<br>$$\eqalign{
  &amp; {{\tilde y}_i} =  - {\left[ {{{\partial L\left( {{y_i},F\left( {{{\bf{x}}_i}} \right)} \right)} \over {\partial F\left( {{{\bf{x}}_i}} \right)}}} \right]_{F\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right)}}  \cr 
  &amp; \;\;\;\; = \left\{ {\matrix{
   {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right),\;\;\;\;\left| {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right| \le \delta }  \cr 
   {\delta  \cdot {\mathop{\rm sign}\nolimits} \left( {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right),\;\;\left| {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right| \le \delta }  \cr } } \right. \cr} $$<br>&#x6839;&#x636E;<em>pseudo-response</em>&#x62DF;&#x5408;$h({\bf x}; {\bf a})$&#xFF1A;<br>$${\rho _m} = \arg \mathop {\min }\limits_\rho  \sum\limits_{i = 1}^N {L\left( {{y_i},{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \rho h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)} \right)} $$<br>&#x5173;&#x4E8E;Huber &#x51FD;&#x6570;&#x5177;&#x4F53;&#x7EC6;&#x8282;&#x53C2;&#x770B;&#x5F15;&#x6587;[2]&#xFF0C;$\delta$&#x5B9A;&#x4E49;&#x4E86;&#x6B8B;&#x5DEE;&#x91CC;&#x9762;&#x54EA;&#x90E8;&#x5206;&#x5C5E;&#x4E8E;outlier&#xFF0C;&#x8FD9;&#x90E8;&#x5206;&#x4F7F;&#x7528;LAD&#x7EA6;&#x675F;&#xFF0C;&#x5176;&#x4ED6;&#x5219;&#x4F7F;&#x7528;LS&#x635F;&#x5931;&#x51FD;&#x6570;&#x7EA6;&#x675F;&#x3002;&#x771F;&#x5B9E;&#x7684;$\delta$&#x5E94;&#x7531;$y-F^*({\bf x})$&#x51B3;&#x5B9A;&#xFF0C;&#x5176;&#x4E2D;$F^*({\bf x})$&#x7531;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x51B3;&#x5B9A;&#x3002;&#x5B9E;&#x8DF5;&#x4E2D;&#x901A;&#x5E38;&#x4F7F;&#x7528;$|y-F^*(x)|$&#x5206;&#x5E03;&#x7684;$\alpha$-&#x5206;&#x4F4D;&#x6570;&#x7684;&#x53D6;&#x503C;&#xFF1A;<br>$${\delta _m} = quantil{e_\alpha }\left\{ {\left| {{y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right|} \right\}_1^N$$<br>&#x5173;&#x4E8E;&#x4E2D;&#x4F4D;&#x6570;&#x7684;&#x731C;&#x60F3;&#x89C1;&#x9644;&#x5F55;&#x601D;&#x8003;4&#x3002;<br>&#x5F97;&#x5230;&#x7B2C;$M$&#x8F6E;&#x7684;<em>pseudo-response</em>&#x4E4B;&#x540E;&#x6211;&#x4EEC;&#x7528;&#x4E00;&#x9897;&#x56DE;&#x5F52;&#x6811;&#x8FDB;&#x884C;&#x62DF;&#x5408;&#x3002;&#x5728;&#x7B2C;$j$&#x4E2A;&#x8282;&#x70B9;$R_{jm}$&#xFF0C;Huber loss&#x5173;&#x4E8E;&#x516C;&#x5F0F;$(2)$&#x7684;&#x89E3;&#x53EF;&#x4EE5;&#x4E00;&#x6B65;&#x6807;&#x51C6;&#x8FED;&#x4EE3;&#x8FC7;&#x7A0B;&#x8FDB;&#x884C;&#x8FD1;&#x4F3C;&#x3002;&#x5148;&#x5F97;&#x5230;&#x8282;&#x70B9;$R_{jm}$&#x4E0A;&#x6B8B;&#x5DEE;$\{r_{m-1}({\bf x}_i)\}^N_i$&#x4E2D;&#x4F4D;&#x6570;&#xFF1A;<br>$${{\tilde r}_{jm}} = media{n_{{{\bf{x}}_i} \in {R_{jm}}}}\left\{ {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right\}$$<br>&#x5176;&#x4E2D;${r_{m - 1}}\left( {{{\bf{x}}_i}} \right) = {y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right)$&#x3002;&#x8FD1;&#x4F3C;&#x65B9;&#x6CD5;&#x5982;&#x4E0B;&#xFF1A;<br>$${\gamma _{jm}} = {{\tilde r}_{jm}} + {1 \over {{N_{jm}}}}\sum\limits_{{{\bf{x}}_i} \in {R_{jm}}}^{} {{\mathop{\rm sign}\nolimits} \left( {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right) - {{\tilde r}_{jm}}} \right)}  \cdot \min \left( {{\delta _m},abs\left( {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right) - {{\tilde r}_{jm}}} \right)} \right)$$<br>&#x5176;&#x4E2D;&#xFF0C;$N_{jm}$&#x4E3A;&#x7B2C;$j$&#x8282;&#x70B9;&#x4E0A;&#x89C2;&#x6D4B;&#x503C;&#x603B;&#x6570;&#x3002;&#x6709;&#x4E86;$\gamma_{jm}$&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6839;&#x636E;GBDT&#x6846;&#x67B6;&#x5199;&#x51FA;&#x6D41;&#x7A0B;&#xFF1A;<br>$$\eqalign{
  &amp; {F_0}\left( {\bf{x}} \right) = median\left\{ {{y_i}} \right\}_1^N  \cr 
  &amp; For\;m = 1\;to\;M\;do:  \cr 
  &amp; \;\;\;\;{r_{m - 1}}\left( {{{\bf{x}}_i}} \right) = {y_i} - {F_{m - 1}}\left( {{{\bf{x}}_i}} \right),i = 1,N  \cr 
  &amp; \;\;\;\;{\delta _m} = quantil{e_\alpha }\left\{ {\left| {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right|} \right\}_1^N  \cr 
  &amp; \;\;\;\;{{\tilde y}_i} = \left\{ {\matrix{
   {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right),\;\;\;\;\left| {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right| \le {\delta _m}}  \cr 
   {{\delta _m} \cdot {\mathop{\rm sign}\nolimits} \left( {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right),\left| {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right| &gt; {\delta _m}}  \cr 
 } } \right.,i = 1,N  \cr 
  &amp; \;\;\;\;\left\{ {{R_{jm}}} \right\}_1^J = J - node\;tree\left( {\left\{ {{{\tilde y}_i},{{\bf{x}}_i}} \right\}_1^N} \right)  \cr 
  &amp; \;\;\;\;{{\tilde r}_{jm}} = media{n_{{{\bf{x}}_i} \in {R_{jm}}}}\left\{ {{r_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right\},j = 1,J  \cr 
  &amp; \;\;\;\;{\gamma _{jm}} = {{\tilde r}_{jm}} + {1 \over {{N_{jm}}}}\sum\limits_{}^{} {{\mathop{\rm sign}\nolimits} \left( {{r_{m - 1}}\left( {{x_i}} \right) - {{\tilde r}_{jm}}} \right) \cdot \min \left( {{\delta _m},abs\left( {{r_{m - 1}}\left( {{x_i}} \right) - {{\tilde r}_{jm}}} \right)} \right)}   \cr 
  &amp; \;\;\;\;\;\;\;\;j = 1,N  \cr 
  &amp; \;\;\;\;{F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + \sum\limits_{j = 1}^J {{\gamma _{jm}}1\left( {{\bf{x}} \in {R_{jm}}} \right)}   \cr 
  &amp; endFor \cr} $$<br>  &#x4E0B;&#x56FE;&#x7ED8;&#x5236;&#x4E86;LS&#x3001;LAD&#x3001;huber&#x7684;LOSS&#x66F2;&#x7EBF;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x4EE5;$\delta$&#x4E3A;&#x5206;&#x754C;&#x70B9;&#xFF0C;&#x4E2D;&#x95F4;&#x5448;&#x73B0;LS&#x7684;&#x6027;&#x8D28;&#xFF0C;&#x4E24;&#x8FB9;&#x5448;&#x73B0;LAD&#x7684;&#x7EBF;&#x6027;&#x3002;<br>  <img src="/2016/10/02/gradient-boosting-decision-tree-2/./1475380493153.png" alt="loss function curve"></p>
<p>&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;GBDT&#x7528;&#x4E8E;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#xFF1A;</p>
<h4 id="GBDT&#x7528;&#x4E8E;&#x4E8C;&#x5206;&#x7C7B;"><a href="#GBDT&#x7528;&#x4E8E;&#x4E8C;&#x5206;&#x7C7B;" class="headerlink" title="GBDT&#x7528;&#x4E8E;&#x4E8C;&#x5206;&#x7C7B;"></a><strong>GBDT&#x7528;&#x4E8E;&#x4E8C;&#x5206;&#x7C7B;</strong></h4><p>&#x5982;&#x4F55;&#x7528;GB&#x65B9;&#x5F0F;&#x89E3;&#x51B3;&#x4E8C;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x3002;&#x6211;&#x4EEC;&#x9996;&#x5148;&#x5B9A;&#x4E49;<em>loss function</em>&#x4E3A;&#x8D1F;&#x4E8C;&#x5143;log&#x4F3C;&#x7136;&#x51FD;&#x6570;(negative binomial log-liklihood)&#xFF1A;<br>$$L(y,F)=log(1+exp(-2yF)), y \in \{-1, 1\}$$<br>&#x5176;&#x4E2D;$$F\left( {\bf{x}} \right) = {1 \over 2}\log \left[ {{{\Pr \left( {y = 1|{\bf{x}}} \right)} \over {\Pr \left( {y =  - 1|{\bf{x}}} \right)}}} \right]--(3)$$<br>&#x6709;&#x4E86;<em>loss function</em>&#x53EF;&#x4EE5;&#x8FDB;&#x4E00;&#x6B65;&#x5F97;&#x5230;<em>pseudo-responce</em><br>$${y_i} =  - {\left[ {{{\partial L\left( {{y_i},F\left( {{{\bf{x}}_i}} \right)} \right)} \over {\partial F\left( {{{\bf{x}}_i}} \right)}}} \right]_{F\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right)}} = {{2{y_i}} \over {1 + \exp \left( {2{y_i}{F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right)}}$$<br>&#x6B65;&#x957F;&#x901A;&#x8FC7;&#x7EBF;&#x641C;&#x7D22;&#x5F97;&#x5230;&#xFF1A;<br>$${\rho _m} = \arg \mathop {\min }\limits_\rho  \sum\limits_{i = 1}^N {\log \left( {1 + \exp \left( { - 2{y_i}\left( {{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \rho h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)} \right)} \right)} \right)} $$<br>&#x5BF9;&#x4E8E;GBDT&#xFF0C;&#x6211;&#x4EEC;&#x7528;&#x6811;&#x6A21;&#x578B;&#x4F5C;&#x4E3A;${h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)}$&#x3002;&#x548C;&#x56DE;&#x5F52;&#x95EE;&#x9898;&#x7684;&#x5904;&#x7406;&#x7C7B;&#x4F3C;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5F97;&#x5230;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;$R_{jm}$&#x4E0A;&#x7684;&#x66F4;&#x65B0;&#x89C4;&#x5219;&#xFF1A;<br>$${\gamma _{jm}} = \arg \mathop {\min }\limits_\gamma  \sum\limits_{{{\bf{x}}_i} \in {R_{jm}}}^{} {\log \left( {1 + \exp \left( { - 2{y_i}\left( {{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \gamma } \right)} \right)} \right)} -- (4)$$<br>&#x516C;&#x5F0F;$(4)$&#x6CA1;&#x6709;&#x95ED;&#x5F0F;&#x89E3;&#xFF0C;&#x6211;&#x4EEC;&#x901A;&#x8FC7;&#x5355;&#x6B65;&#x62DF;&#x725B;&#x987F;&#x6CD5;&#x8FDB;&#x884C;&#x8FD1;&#x4F3C;&#xFF1A;<br>$${\gamma _{jm}} = \sum\limits_{{{\bf{x}}_i} \in {R_{jm}}} {{{{{\tilde y}_i}} \over {\sum\limits_{{{\bf{x}}_i} \in {R_{jm}}} {\left| {{{\tilde y}_i}} \right|\left( {2 - \left| {{{\tilde y}_i}} \right|} \right)} }}} $$<br>&#x8FD9;&#x91CC;&#x7684;${\tilde y}_i$&#x4E3A;<em>pseudo-response</em>&#x3002;&#x7B97;&#x6CD5;&#x6D41;&#x7A0B;&#x4E3A;&#xFF1A;<br>$$\eqalign{
  &amp; {F_0}\left( {\bf{x}} \right) = {1 \over 2}\log {{1 + \bar y} \over {1 - \bar y}}  \cr 
  &amp; For\;m = 1\;to\;M\;do:  \cr 
  &amp; \;\;\;\;{{\tilde y}_i} = {{2{y_i}} \over {1 + \exp \left( {2{y_i}{F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right)}},i = 1,N  \cr 
  &amp; \;\;\;\;\left\{ {{R_{jm}}} \right\}_1^J = J - tree\left( {\left\{ {{{\tilde y}_i},{{\bf{x}}_i}} \right\}_1^N} \right)  \cr 
  &amp; \;\;\;\;{\gamma _{jm}} = \sum\limits_{{{\bf{x}}_i} \in {R_{jm}}}^{} {{{{{\tilde y}_i}} \over {\sum\limits_{{{\bf{x}}_i} \in {R_{jm}}} {\left| {{{\tilde y}_i}} \right|\left( {2 - \left| {{{\tilde y}_i}} \right|} \right)} }}} ,j = 1,J  \cr 
  &amp; \;\;\;\;{F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + \sum\limits_{j = 1}^J {{\gamma _{jm}}1\left( {{\bf{x}} \in {R_{jm}}} \right)}   \cr 
  &amp; end\;For \cr} $$<br>  &#x5F97;&#x5230;&#x6700;&#x7EC8;&#x7684;$F_m({\bf x})$&#x4E3A;$F({\bf x})$&#x7684;&#x8FD1;&#x4F3C;&#xFF0C;$F({\bf x})$&#x4E3A;&#xFF1A;<br>  $$F\left( {\bf{x}} \right) = {1 \over 2}\log \left[ {{{\Pr \left( {y = 1|{\bf{x}}} \right)} \over {\Pr \left( {y =  - 1|{\bf{x}}} \right)}}} \right]--(3)$$<br>  &#x6765;&#x4E86;&#x4E00;&#x4E2A;&#x65B0;&#x6837;&#x672C;$x_j$&#xFF0C;&#x82E5;$F_m({x_j})&gt;0$&#xFF0C;&#x5219;$y=1$&#xFF0C;&#x53CD;&#x4E4B;&#x5219;$y=-1$&#x3002;<br>  &#x6839;&#x636E;$(3)$&#x5F0F;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x8BA1;&#x7B97;&#x5F97;&#x5230;&#x5206;&#x5C5E;&#x4E0D;&#x540C;&#x7C7B;&#x522B;&#x7684;&#x6982;&#x7387;&#xFF1A;<br>  $${p_ + }\left( {\bf{x}} \right) = \tilde Pr\left( {y = 1|{\bf{x}}} \right) = {1 \over {1 + \exp \left( { - 2{F_M}\left( {\bf{x}} \right)} \right)}}$$<br> $${p_ - }\left( {\bf{x}} \right) = \tilde Pr\left( {y =  - 1|{\bf{x}}} \right) = {1 \over {1 + \exp \left( {2{F_M}\left( {\bf{x}} \right)} \right)}}$$<br> &#x53EF;&#x4EE5;&#x6839;&#x636E;&#x4E0D;&#x540C;&#x7684;&#x5E94;&#x7528;&#xFF0C;&#x8FDB;&#x884C;&#x8C03;&#x6743;&#xFF1A;<br> $$\tilde y\left( {\bf{x}} \right) = 2 \cdot 1\left( {c\left( { - 1,1} \right){p_ + }\left( {\bf{x}} \right) &gt; c\left( {1, - 1} \right){p_ - }\left( {\bf{x}} \right)} \right) - 1$$<br> &#x5176;&#x4E2D;${c\left( {\tilde y, y} \right)}$&#x4E3A;&#x5C06;$y$&#x8BC6;&#x522B;&#x6210;$\tilde y$&#x7684;cost&#x3002;<br> <strong>&#x526A;&#x679D;</strong><br>GB&#x6846;&#x67B6;&#x89E3;&#x51B3;&#x4E8C;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x7684;<em>loss function</em>&#x5728;&#x7B2C;m&#x8F6E;&#x8FED;&#x4EE3;&#x4E2D;&#x5982;&#x4E0B;&#xFF1A;<br> $${\phi _m}\left( {\rho ,{\bf{a}}} \right) = \sum\limits_{i = 1}^N {\log \left[ {1 + \exp \left( { - 2{y_i}{F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right) \cdot \exp \left( { - 2{y_i}\rho h\left( {{{\bf{x}}_i};{\bf{a}}} \right)} \right)} \right]} $$<br> &#x968F;&#x7740;&#x8FED;&#x4EE3;&#x7EE7;&#x7EED;&#xFF0C;${{y_i}{F_{m - 1}}\left( {{{\bf{x}}_i}} \right)}$&#x4F1A;&#x53D8;&#x6210;&#x5F88;&#x5927;&#xFF0C;&#x4F7F;&#x5F97;&#x7ED3;&#x679C;&#x4E0D;&#x518D;&#x53D7;&#x65B0;&#x7684;&#x6837;&#x672C;&#x5F71;&#x54CD;&#x3002;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#xFF0C;&#x5F53;${{y_i}{F_{m - 1}}\left( {{{\bf{x}}_i}} \right)}$&#x5F88;&#x5927;&#xFF0C;$ \exp \left( { - 2{y_i}{F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right)$&#x4F1A;&#x76F8;&#x5BF9;&#x5F88;&#x5C0F;&#x3002;<br>&#x89C6;&#x5176;&#x4E3A;&#x6743;&#x91CD;${w_i} = \exp \left( { - 2{y_i}{F_{m - 1}}\left( {{{\bf{x}}_i}} \right)} \right)$&#xFF0C;&#x4F5C;&#x4E3A;&#x7B2C;$i$&#x4E2A;&#x6570;&#x636E;&#x7684;&#x5F71;&#x54CD;&#x529B;&#x3002;<br>&#x526A;&#x679D;&#x7684;&#x505A;&#x6CD5;&#x662F;&#x5C06;&#x6743;&#x91CD;$w_i \le w_{l(\alpha)}$&#xFF0C;&#x5176;&#x4E2D;$l(\alpha)$&#x4E3A;&#x4E0B;&#x5F0F;&#x7684;&#x89E3;&#xFF1A;<br>$$\sum\limits_{i = 1}^{l\left( \alpha  \right)} {{w_{\left( i \right)}}}  = \alpha \sum\limits_{i = 1}^N {{w_i}} $$<br>&#x901A;&#x5E38;$\alpha \in [0.05, 0.2]$&#xFF0C;&#x8FD9;&#x91CC;&#x7684;&#x526A;&#x679D;&#x548C;AdaBoost&#x7684;&#x201D;weight trimming&#x201D;&#x662F;&#x4E00;&#x6837;&#x7684;&#x3002;&#x5C06;&#x8FD1;90%&#x5230;95%&#x7684;&#x6837;&#x672C;&#x5019;&#x9009;&#x88AB;&#x526A;&#x679D;&#xFF0C;&#x5E26;&#x6765;10%&#x5230;20%&#x7684;&#x8BA1;&#x7B97;&#x901F;&#x5EA6;&#x63D0;&#x5347;&#x3002;&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;GBDT&#x7528;&#x4E8E;&#x591A;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x3002;</p>
<h4 id="GBDT&#x7528;&#x4E8E;&#x591A;&#x5206;&#x7C7B;"><a href="#GBDT&#x7528;&#x4E8E;&#x591A;&#x5206;&#x7C7B;" class="headerlink" title="GBDT&#x7528;&#x4E8E;&#x591A;&#x5206;&#x7C7B;"></a><strong>GBDT&#x7528;&#x4E8E;&#x591A;&#x5206;&#x7C7B;</strong></h4><p>&#x5BF9;&#x4E8E; $K$-&#x7C7B;&#x95EE;&#x9898;&#xFF0C;&#x540C;&#x6837;&#x5B9A;&#x4E49;<em>loss function</em>&#x662F;<br>$$L\left( {\left\{ {{y_k},{F_k}\left( {\bf{x}} \right)} \right\}_1^K} \right) =  - \sum\limits_{k = 1}^K {{y_k}\log {p_k}\left( {\bf{x}} \right)}--(4) $$<br>&#x5176;&#x4E2D;&#xFF0C;$y_k=1(class=k) \in \{0, 1\}$&#xFF0C;$p_k({\bf x})=Pr(y_k=1|{\bf x})$&#xFF0C;<br>$${p_k}\left( {\bf{x}} \right) = {{\exp \left( {{F_k}\left( {\bf{x}} \right)} \right)} \over {\sum\limits_{l = 1}^K {\exp \left( {{F_k}\left( {\bf{x}} \right)} \right)} }} -- (5)$$<br>$${F_k}\left( {\bf{x}} \right) = \log {p_k}\left( {\bf{x}} \right) - {1 \over K}\sum\limits_{l = 1}^K {\log {p_l}\left( {\bf{x}} \right)} --(6)$$<br>$(5)$&#x3001;$(6)$&#x662F;&#x7B49;&#x4EF7;&#x3002;<br>&#x5C06;$(6)$&#x5E26;&#x5165;&#x5230;$(4)$&#xFF0C;&#x6C42;&#x4E00;&#x9636;&#x5BFC;&#x53EF;&#x5F97;&#xFF1A;<br>$${{\tilde y}_{ik}} =  - {\left[ {{{\partial L\left( {\left\{ {{y_{il}},{F_l}\left( {{{\bf{x}}_i}} \right)} \right\}_{l = 1}^K} \right)} \over {\partial {F_k}\left( {{{\bf{x}}_i}} \right)}}} \right]_{\left\{ {{F_l}\left( {\bf{x}} \right) = {F_{l,m - 1}}\left( {\bf{x}} \right)} \right\}_1^K}} = {y_{ik}} - {p_{k,m - 1}}\left( {{{\bf{x}}_i}} \right)$$<br>&#x5176;&#x4E2D;&#xFF0C;$p_{k,m-1}$&#x4ECE;$F_{k,m-1}(x)$&#x7684;&#x51FD;&#x6570;$(5)$&#x5BFC;&#x51FA;&#x3002;&#x7B2C;$m$&#x8F6E;&#x7528;K&#x68F5;trees&#x9884;&#x6D4B;&#x5BF9;&#x5E94;&#x6BCF;&#x7C7B;&#x7684;&#x6B8B;&#x5DEE;&#xFF0C;&#x6BCF;&#x68F5;&#x6811;&#x6709;$J$&#x4E2A;&#x8282;&#x70B9;&#xFF0C;&#x8BB0;&#x4F5C;$\{R_{jkm}\}^J_{j=1}$&#x3002;&#x6A21;&#x578B;&#x7684;&#x53C2;&#x6570;$\gamma _{jkm}$&#x66F4;&#x65B0;&#x89C4;&#x5219;&#xFF1A;<br>$$\left\{ {{\gamma _{jkm}}} \right\} = \arg \mathop {\min }\limits_{\left\{ {{\gamma _{jk}}} \right\}} \sum\limits_{i = 1}^N {\sum\limits_{k = 1}^N {\phi \left( {{y_{ik}},{F_{k,m - 1}}\left( {{{\bf{x}}_i}} \right) + \sum\limits_{j = 1}^J {{\gamma _{jk}}1\left( {{{\bf{x}}_i} \in {R_{jm}}} \right)} } \right)} } (7)$$<br>&#x5176;&#x4E2D;&#xFF0C;$\phi \left( {{y_k},{F_k}} \right) =  - {y_k}\log {p_k}$&#xFF0C;${F_k}\left( {\bf{x}} \right) = \log {p_k}\left( {\bf{x}} \right) - {1 \over K}\sum\limits_{l = 1}^K {\log {p_l}\left( {\bf{x}} \right)} $&#x3002;$(7)$&#x65E0;&#x95ED;&#x5F0F;&#x89E3;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5355;&#x6B65;Newton-Raphson&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x5BF9;&#x89D2;&#x77E9;&#x9635;&#x8FD1;&#x4F3C;Hessian&#x77E9;&#x9635;&#x3002;<br>$${\gamma _{jkm}} = {{K - 1} \over K}{{\sum\limits_{{{\bf{x}}_i} \in {R_{jkm}}}^{} {{{\tilde y}_{ik}}} } \over {\sum\limits_{{{\bf{x}}_i} \in {R_{jkm}}}^{} {\left| {{{\tilde y}_{ik}}} \right|\left( {1 - \left| {{{\tilde y}_{ik}}} \right|} \right)} }}$$<br>&#x8FD9;&#x6837;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6784;&#x5EFA;&#x51FA;$K$&#x7C7B;&#x522B;&#x7684;logistic GBDT&#x6846;&#x67B6;&#x5982;&#x4E0B;&#xFF1A;<br>$$\eqalign{
  &amp; {F_{k0}}\left( {\bf{x}} \right) = 0,k = 1,K  \cr 
  &amp; For\;m = 1\;to\;M\;do:  \cr 
  &amp; \;\;\;\;{p_k}\left( {\bf{x}} \right) = {{\exp \left( {{F_k}\left( {\bf{x}} \right)} \right)} \over {\sum\limits_{l = 1}^K {\exp \left( {{F_l}\left( {\bf{x}} \right)} \right)} }},k = 1,K  \cr 
  &amp; \;\;\;\;For\;k = 1\;to\;K\;do:  \cr 
  &amp; \;\;\;\;\left\{ {{R_{jkm}}} \right\}_{j = 1}^J = J - tree\left( {\left\{ {{{\tilde y}_{ik}},{{\bf{x}}_i}} \right\}_1^N} \right)  \cr 
  &amp; \;\;\;\;{\gamma _{jkm}} = {{K - 1} \over K}{{\sum\limits_{{x_i} \in {R_{jkm}}} {{{\tilde y}_{ik}}} } \over {\sum\limits_{{{\bf{x}}_i} \in {R_{jkm}}} {\left| {{{\tilde y}_{ik}}} \right|\left( {1 - \left| {{{\tilde y}_{ik}}} \right|} \right)} }},j = 1,J  \cr 
  &amp; \;\;\;\;{F_{km}}\left( {\bf{x}} \right) = {F_{k,m - 1}}\left( {\bf{x}} \right) + \sum\limits_{j = 1}^J {{\gamma _{jkm}}1\left( {{\bf{x}} \in {R_{jkm}}} \right)}   \cr 
  &amp; \;\;\;\;endFor  \cr 
  &amp; endFor \cr} $$<br>&#x9884;&#x6D4B;&#x548C;&#x4E8C;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x7C7B;&#x4F3C;&#xFF0C;&#x6211;&#x4EEC;&#x5F97;&#x5230;$\left\{ {{F_{km}}\left( {\bf{x}} \right)} \right\}_1^K$&#x53EF;&#x4EE5;&#x7528;&#x4E8E;&#x9884;&#x4F30;$\left\{ {{p_{km}}\left( {\bf{x}} \right)} \right\}_1^K$&#x3002;&#x7C7B;&#x522B;&#x9884;&#x6D4B;&#x7ED3;&#x679C;&#x4E3A;&#xFF1A;$${\hat k}\left( {\bf{x}} \right) = \arg \mathop {\min }\limits_{1 \le k \le K} \sum\limits_{k&apos; = 1}^K {c\left( {k,k&apos;} \right)} {p_{k&apos;M}}\left( {\bf{x}} \right)$$<br>$c(k,k&apos;)$&#x8868;&#x793A;&#x771F;&#x5B9E;label($k&apos;$)&#x9884;&#x6D4B;&#x4E3A;predict($k$)&#x7684;cost&#x3002;</p>
<blockquote>
<p>&#x5BF9;&#x4E8E;$p_{k&apos;M}\left( {\bf{x}} \right)$&#x4E3A;&#x6837;&#x672C;$\bf x$&#x9884;&#x6D4B;&#x4E3A;$k$&#x7C7B;&#x7684;&#x6982;&#x7387;&#x3002;&#x800C;${\hat k}(x)$&#x7684;$argmin$&#x4E0D;&#x592A;&#x597D;&#x7406;&#x89E3;&#x3002;&#x5982;&#x679C;&#x662F;&#x6C42;&#x6700;&#x7EC8;cost&#x7684;&#x8BDD;&#xFF0C;&#x80FD;&#x7406;&#x89E3;&#x3002;&#x4F46;&#x662F;&#x5BF9;&#x4E8E;&#x524D;&#x9762;&#x4ECB;&#x7ECD;&#x8FC7;&#x7684;&#x4E8C;&#x5206;&#x7C7B;&#x6807;&#x7B7E;&#x7684;&#x5224;&#x65AD;&#x516C;&#x5F0F;&#xFF0C;&#x4F3C;&#x4E4E;&#x6709;&#x96BE;&#x901A;&#x987A;&#x7684;&#x5730;&#x65B9;&#xFF0C;&#x662F;&#x4E0D;&#x662F;&#x8FD9;&#x91CC;&#x7684;&#x6BD4;&#x8F83;&#x90E8;&#x5206;&#x5E94;&#x8BE5;&#x662F;&#x5C0F;&#x4E8E;&#x53F7;$<$？：<br>$$\tilde y\left( {\bf{x}} \right) = 2 \cdot 1\left( {c\left( { - 1,1} \right){p_ + }\left( {\bf{x}} \right) &gt; c\left( {1, - 1} \right){p_ - }\left( {\bf{x}} \right)} \right) - 1$$</$？：<br></p>
</blockquote>
<ol>
<li>&#x601D;&#x8003;&#xFF1A;&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x504F;&#x5DEE;&#x7684;&#x5BFC;&#x6570;&#x4E3A;&#x4EC0;&#x4E48;&#x662F;sign(y-F)  &#x4E0B;&#x9762;&#x56FE;&#x4E3A;|1-x|&#x7684;&#x66F2;&#x7EBF;&#xFF0C;&#x5BFC;&#x6570;&#x4E3A;&#x5206;&#x6BB5;&#x51FD;&#x6570;&#xFF0C;&#x503C;&#x57DF;&#x4E3A;{-1,+1}</li>
</ol>
<p><img src="/2016/10/02/gradient-boosting-decision-tree-2/./1473923878477.png" alt="Alt text"></p>
<ol>
<li>&#x601D;&#x8003;&#xFF1A;LAD (least absolut deviation)&#x7684;&#x62DF;&#x5408;H(x;a, $\rho$)&#x4E2D;$\rho$&#x4E3A;&#x4F55;&#x662F;&#x4E2D;&#x4F4D;&#x6570;&#x3002;<br>H(X; a)&#x4E3A;&#x7B26;&#x53F7;&#x51FD;&#x6570;&#xFF0C;&#x800C;&#x5BF9;&#x4E8E;$\sum\nolimits_i {\left| {{y_i} - \rho } \right|} $&#xFF0C;&#x6700;&#x4F18;&#x89E3;&#x4E3A;$median_y$</li>
<li>&#x601D;&#x8003;&#xFF1A; &#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x8BEF;&#x5DEE;&#x7684;&#x5747;&#x503C;&#x6BD4;LAD&#x91CC;&#x504F;&#x5DEE;&#x7684;&#x4E2D;&#x4F4D;&#x6570;&#x66F4;&#x5BB9;&#x6613;&#x8BA1;&#x7B97;&#x3002;LAD&#x91CC;&#x504F;&#x5DEE;&#x7684;&#x4E2D;&#x4F4D;&#x6570;&#x66F4;&#x9C81;&#x68D2;&#x3002;</li>
<li>&#x601D;&#x8003;&#xFF1A;M-regression[huber]&#x7684;$\alpha$&#x5206;&#x4F4D;&#x6570;&#x662F;&#x4EC0;&#x4E48;&#x6982;&#x5FF5;<br> &#x731C;&#x60F3;&#x914D;&#x5408;&#x524D;&#x9762;<em>loss function</em>&#x5B9A;&#x4E49;&#x8FD9;&#x91CC;&#x5E94;&#x8BE5;&#x662F;&#x7528;&#x7684;&#x53CC;&#x4FA7;&#x5206;&#x4F4D;&#x6570;&#x3002;$\alpha$-&#x53CC;&#x4FA7;&#x5206;&#x4F4D;&#x6570;&#x7684;&#x5B9A;&#x4E49;&#xFF1A;&#x5F53;&#x968F;&#x673A;&#x53D8;&#x91CF;$X$&#x7684;&#x5206;&#x5E03;&#x51FD;&#x6570;&#x4E3A; $F(x)$&#xFF0C;$0 \lt \alpha \lt 1$&#xFF0C;$\alpha$&#x5206;&#x4F4D;&#x6570;&#x662F;&#x4F7F;$P\{X \lt \delta\}=F(X)=0.5\alpha$ &amp;$P\{X &gt; \delta\}=F(X)=0.5\alpha$&#x3002;&#x5047;&#x5B9A;&#x6211;&#x4EEC;&#x4EE4;$\alpha=0.2$&#xFF0C;&#x90A3;&#x4E48;&#x6211;&#x4EEC;&#x5C06;&#x5BF9;$\delta$&#x6EE1;&#x8DB3;$P\{X \lt \delta\}<0.1$&amp;$p\{x> \delta\}<0.1$的样本使用 <em="">loss function $\delta(|y-F|-\delta/2)$&#x3002;&#x5176;&#x4F59;&#x6837;&#x672C;&#x4F7F;&#x7528;LS loss&#x3002;&#x8FD8;&#x9700;&#x8981;&#x8FDB;&#x4E00;&#x6B65;&#x786E;&#x8BA4;</0.1$的样本使用></0.1$&amp;$p\{x></li>
<li>&#x601D;&#x8003;&#xFF1A;GBDT&#x548C;ADAboost&#x4EC0;&#x4E48;&#x5173;&#x7CFB;&#xFF1A;&#x53C2;&#x770B;&#x5F15;&#x6587;[1]&#x7B2C;14&#x9875;</li>
<li>&#x6B63;&#x5219;&#x5316;&#xFF0C;&#x5728;&#x6BCF;&#x6B21;&#x8FED;&#x4EE3;&#x8FC7;&#x7A0B;&#x4E2D;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x5B66;&#x4E60;&#x7387;&#x53C2;&#x6570;&#xFF1A;$${F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + v \cdot {\rho _m}h\left( {{\bf{x}};{{\bf{a}}_m}} \right),\;\;0 &lt; v \le 1$$</li>
</ol>
<p>&#x5F15;&#x6587;&#xFF1A;<br>[1] Friedman J H. Greedy Function Approximation: A Gradient Boosting Machine[J]. Annals of Statistics, 2000, 29(5):1189&#x2013;1232.<br>[2]Huber, P. (1964). Robust estimation ofa location parameter. Ann. Math. Statist. 35 73&#x2013;101.<br>[3]Friedman J, Tibshirani R. Special Invited Paper. Additive Logistic Regression: A Statistical View of Boosting: Discussion[J]. Annals of Statistics, 2000, 28(2):pages. 374-376.</p>
<p>ShawnXiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x8FD9;&amp;#x7BC7;&amp;#x7B14;&amp;#x8BB0;&amp;#x91CC;&amp;#x9762;&amp;#x4F1A;&amp;#x7EE7;&amp;#x7EED;&amp;#x4ECB;&amp;#x7ECD;&lt;a href=&quot;https://qiugen.github.io/2016/09/24/grad
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="gbdt" scheme="https://mlnote.com/tags/gbdt/"/>
    
      <category term="gradient boosting framework" scheme="https://mlnote.com/tags/gradient-boosting-framework/"/>
    
      <category term="huber" scheme="https://mlnote.com/tags/huber/"/>
    
      <category term="LST" scheme="https://mlnote.com/tags/LST/"/>
    
      <category term="LAD" scheme="https://mlnote.com/tags/LAD/"/>
    
      <category term="classify" scheme="https://mlnote.com/tags/classify/"/>
    
  </entry>
  
  <entry>
    <title>Gradient Boosting Decision Tree[上篇]</title>
    <link href="https://mlnote.com/2016/09/24/gradient-boosting-decision-tree-1/"/>
    <id>https://mlnote.com/2016/09/24/gradient-boosting-decision-tree-1/</id>
    <published>2016-09-23T16:00:00.000Z</published>
    <updated>2016-12-20T13:59:55.661Z</updated>
    
    <content type="html"><![CDATA[<p><a href="https://qiugen.github.io/2016/09/18/gbRank-logsitRank-from-up-to-bottom/" target="_blank" rel="external">&#x524D;&#x6587;</a>&#x4ECB;&#x7ECD;&#x4E86;gbrank&#x548C;logisticRank&#xFF0C;&#x987A;&#x7740;logisticRank&#x601D;&#x8DEF;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x63A5;&#x89E6;&#x5230;gradient boosting&#x6846;&#x67B6;&#x4EE5;&#x53CA;&#x7ECF;&#x5178;&#x7684;gradient boosting decision tree(GBDT)&#x3002;<br>&#x540E;&#x7EED;&#x7684;&#x4ECB;&#x7ECD;&#x4E3B;&#x8981;&#x56DE;&#x7B54;&#x4E0B;&#x9762;&#x4E09;&#x4E2A;&#x95EE;&#x9898;&#xFF1A;</p>
<ol>
<li>gradient boosting&#x662F;&#x4EC0;&#x4E48;&#x6846;&#x67B6; [&#x4E0A;&#x7BC7;]</li>
<li>&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;LAD&#xFF0C; &#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;LST&#xFF0C; HUBER-M&#x51FD;&#x6570;&#xFF0C;&#x4E09;&#x8005;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;[&#x4E0B;&#x7BC7;]</li>
<li>gbdt&#x600E;&#x4E48;&#x5904;&#x7406;&#x5206;&#x7C7B;&#x95EE;&#x9898;[&#x4E0B;&#x7BC7;]</li>
</ol>
<blockquote>
<p>&#x672C;&#x7BC7;&#x5B66;&#x4E60;&#x8DEF;&#x5F84;&#x8F83;&#x6DF1;&#xFF0C;&#x5EFA;&#x8BAE;&#x5148;&#x770B;&#x5F15;&#x6587;[2]<a href="http://blog.csdn.net/acdreamers/article/details/44664481" target="_blank" rel="external">&#x51B3;&#x7B56;&#x6811;&#x4E4B;CART&#x7B97;&#x6CD5;</a>&#x548C;[3] <a href="http://blog.csdn.net/w28971023/article/details/8240756" target="_blank" rel="external">GBDT(MART)&#x8FED;&#x4EE3;&#x51B3;&#x7B56;&#x6811;&#x5165;&#x95E8;&#x6559;&#x7A0B;</a>&#x3002;<br>&#x8BA1;&#x5212;&#x6309;&#x63D0;&#x51FA;&#x8005;<em>Jerome H. Friedman</em>&#x8BBA;&#x6587;[1]&#x601D;&#x8DEF;&#x4ECB;&#x7ECD;gbdt&#xFF0C;&#x5E0C;&#x671B;&#x901A;&#x8FC7;&#x603B;&#x7ED3;&#x8FD9;&#x7BC7;&#x7B14;&#x8BB0;&#xFF0C;&#x5F97;&#x5230;&#x5BF9;&#x7B97;&#x6CD5;&#x66F4;&#x5177;&#x4F53;&#x7684;&#x8BA4;&#x8BC6;&#xFF0C;&#x53C8;&#x80FD;&#x66F4;&#x62BD;&#x8C61;&#x5730;&#x8BB0;&#x5FC6;&#x3002;</p>
</blockquote>
<h4 id="&#x7EA7;&#x8054;&#x51FD;&#x6570;&#x7684;&#x4ECB;&#x7ECD;"><a href="#&#x7EA7;&#x8054;&#x51FD;&#x6570;&#x7684;&#x4ECB;&#x7ECD;" class="headerlink" title="&#x7EA7;&#x8054;&#x51FD;&#x6570;&#x7684;&#x4ECB;&#x7ECD;"></a>&#x7EA7;&#x8054;&#x51FD;&#x6570;&#x7684;&#x4ECB;&#x7ECD;</h4><p>&#x7ED9;&#x5B9A;${\bf{x}} = \left\{ {{x_1},...,{x_n}} \right\}$&#x548C;&#x5BF9;&#x5E94;&#x7684;&#x8F93;&#x51FA;$y$&#xFF0C;&#x8FDB;&#x884C;&#x5B66;&#x4E60;&#x9884;&#x6D4B;&#x3002;&#x6839;&#x636E;&#x6837;&#x672C;&#x96C6;$\left\{ {{y_i},{{\bf{x}}_i}} \right\}_1^N$&#x4F30;&#x8BA1;&#xFF08;&#x903C;&#x8FD1;&#xFF09;&#x51FD;&#x6570;$\hat F\left( x \right)$&#x3002;&#x5728;&#x6837;&#x672C;&#x96C6;&#x4E0A;&#x5F97;&#x5230;&#x6700;&#x5C0F;&#x5316;<em> loss function</em> &#x5F97;&#x5230;&#x7684;&#x51FD;&#x6570;&#xFF0C;&#x8BB0;&#x4E3A; ${F^*}\left( x \right)$&#x3002;<br>$$\begin{equation}{F^*}\left( x \right) = \arg \mathop {\min }\limits_F {E_{y,{\bf{x}}}}L\left( {y,F\left( {\bf{x}} \right)} \right) = \arg \mathop {\min }\limits_F {E_{\bf{x}}}\left[ {{E_y}\left( {L\left( {y,F\left( x \right)} \right)} \right)|x} \right]\end{equation}$$<br>&#x5BF9;&#x4E8E;&#x56DE;&#x5F52;&#x95EE;&#x9898;&#xFF0C;<em>loss function</em>&#x6700;&#x5E38;&#x7528;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x8BEF;&#x5DEE;$(y-F)^2$&#x548C;$|y-F|$&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;&#x3002;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x5E38;&#x7528;&#x4E8C;&#x5143;&#x8D1F;log&#x4F3C;&#x7136;<em>loss function</em>&#xFF0C;$log(1+e^{-2yF})$&#xFF0C;&#x5176;&#x4E2D; $y \in \left\{ { - 1,1} \right\}$&#xFF0C;&#x540E;&#x9762;&#x8FD8;&#x4F1A;&#x4ECB;&#x7ECD;&#x591A;&#x5143;log&#x4F3C;&#x7136;<em>loss function</em>&#x3002;<br>&#x901A;&#x5E38;&#x505A;&#x6CD5;&#x662F;&#x5C06;$F(\bf x)$&#x9650;&#x5236;&#x4E3A;&#x5E26;&#x53C2;&#x51FD;&#x6570;&#x65CF;$F(x; \bf{P})$&#x3002;&#x5176;&#x4E2D;${\bf{P}} = \{ {p_1},{p_2},...\}$ &#xFF0C;$p_i$&#x9009;&#x5B9A;&#x4EE5;&#x540E;&#x5C31;&#x53EF;&#x4EE5;&#x5F97;&#x5230;$F(x)$&#x4E2D;&#x7684;&#x6BCF;&#x4E2A;&#x7EC4;&#x6210;&#x51FD;&#x6570;&#x3002;GBDT&#x91C7;&#x7528;&#x5982;&#x4E0B;&#x7EA7;&#x8054;&#x5F62;&#x5F0F;&#x7684;&#x516C;&#x5F0F;&#xFF1A;$$\begin{equation}F\left( {{\bf{x}};\left\{ {{\beta _m},{{\bf{a}}_m}} \right\}_1^M} \right) = \sum\limits_{m = 1}^M {{\beta _m}h\left( {{\bf{x}};{{\bf{a}}_m}} \right)} \end{equation}$$<br>&#x516C;&#x5F0F;$(2)$&#x4E2D;&#x7684;&#x901A;&#x7528;&#x5F0F;$h\left( {{\bf{x}};{{\bf{a}}_m}} \right)$&#x662F;&#x5173;&#x4E8E;$x$&#x7684;&#x5E26;&#x53C2;&#x51FD;&#x6570;&#xFF0C;&#x53C2;&#x6570;&#x7A7A;&#x95F4;&#x4E3A;$a={a_1, a_2, ...}$&#x3002;&#x901A;&#x8FC7;&#x9009;&#x5B9A;&#x4E0D;&#x540C;&#x7684;$a_m$&#xFF0C;&#x5F97;&#x5230;&#x4E0D;&#x540C;&#x7684;&#x7EA7;&#x8054;&#x51FD;&#x6570;&#x5B50;&#x9879;&#x3002;&#x51FD;&#x6570;&#x5B50;&#x9879;&#x5982;&#x679C;&#x4F7F;&#x7528;$CART$[2]&#x4F5C;&#x4E3A;&#x56DE;&#x5F52;&#x6811;&#x8FDB;&#x884C;&#x5B66;&#x4E60;&#xFF0C;&#x90A3;&#x4E48;&#x53C2;&#x6570;$a_m$&#x5305;&#x542B;&#x9009;&#x62E9;&#x4F5C;&#x4E3A;&#x5206;&#x88C2;&#x70B9;&#x7684;&#x53D8;&#x91CF;&#xFF08;&#x7528;&#x4F55;&#x9879;&#x5206;&#x88C2;&#xFF09;&#x3001;&#x5206;&#x88C2;&#x70B9;&#x7684;&#x5206;&#x88C2;&#x503C;&#xFF08;&#x7528;&#x4F55;&#x503C;&#x8FDB;&#x884C;&#x5206;&#x88C2;&#xFF09;&#x3001;&#x6BCF;&#x68F5;&#x6811;&#x53F6;&#x7ED3;&#x70B9;&#x7684;&#x5747;&#x503C;&#xFF08;&#x4F55;&#x65F6;&#x7EC8;&#x6B62;&#x5206;&#x88C2;&#xFF09;&#xFF0C;&#x8FD9;&#x5C31;&#x662F;GBDT&#x7684;&#x6784;&#x9020;&#x601D;&#x8DEF;&#x3002;</p>
<blockquote>
<p> &#x4F5C;&#x8005;&#x4ECB;&#x7ECD;&#x4E86;&#x521D;&#x59CB;&#x76EE;&#x6807;&#x51FD;&#x6570;$(1)$&#x7684;&#x4E24;&#x79CD;&#x4F18;&#x5316;&#x65B9;&#x6CD5;&#xFF0C;&#x6570;&#x503C;&#x4F18;&#x5316;&#x548C;&#x51FD;&#x6570;&#x7A7A;&#x95F4;&#x7684;&#x6570;&#x503C;&#x4F18;&#x5316;&#xFF0C;&#x518D;&#x5F15;&#x5165;GBDT&#x7684;&#x89E3;&#x6CD5;&#x3002;&#x524D;&#x8005;&#x9002;&#x5408;&#x8F85;&#x52A9;&#x7406;&#x89E3;GBDT&#x7684;&#x6784;&#x9020;&#xFF0C;&#x540E;&#x8005;&#x53EF;&#x4EE5;&#x5728;&#x539F;&#x6587;&#x4E2D;&#x627E;&#x5230;&#x63CF;&#x8FF0;&#x3002;</p>
</blockquote>
<h4 id="&#x5E26;&#x53C2;&#x51FD;&#x6570;&#x5728;&#x6570;&#x503C;&#x7A7A;&#x95F4;&#x7684;&#x4F18;&#x5316;"><a href="#&#x5E26;&#x53C2;&#x51FD;&#x6570;&#x5728;&#x6570;&#x503C;&#x7A7A;&#x95F4;&#x7684;&#x4F18;&#x5316;" class="headerlink" title="&#x5E26;&#x53C2;&#x51FD;&#x6570;&#x5728;&#x6570;&#x503C;&#x7A7A;&#x95F4;&#x7684;&#x4F18;&#x5316;"></a>&#x5E26;&#x53C2;&#x51FD;&#x6570;&#x5728;&#x6570;&#x503C;&#x7A7A;&#x95F4;&#x7684;&#x4F18;&#x5316;</h4><p>&#x5F15;&#x5165;&#x53C2;&#x6570;&#x8868;&#x8FBE;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x628A;&#x76EE;&#x6807;&#x4F18;&#x5316;&#x51FD;&#x6570;$(1)$&#x5F0F;&#x6539;&#x9020;&#x4E3A;<br>$$\begin{equation}{F^*}\left( x \right) = F\left( {x;{{\bf{P}}^*}} \right) = \arg \mathop {\min }\limits_p {E_{y,{\bf{x}}}}L\left( {y,F\left( {x;{\bf{P}}} \right)} \right)\end{equation}$$<br>&#x5BF9;&#x4E8E;&#x5927;&#x591A;&#x6570;$F(x;\bf{P})$&#x548C;<em>loss function</em> $L$&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x6570;&#x503C;&#x4F18;&#x5316;&#x7B97;&#x6CD5;&#x8FDB;&#x884C;&#x6C42;&#x89E3;&#x3002;&#x901A;&#x5E38;&#x89E3;&#x7684;&#x5F62;&#x5F0F;&#x5982;&#x4E0B;&#xFF1A;$${{\bf{P}}^*} = \sum\limits_{m = 0}^M {{{\bf{p}}_m}} $$<br>&#x5176;&#x4E2D;$\bf{p_0}$&#x968F;&#x673A;&#x521D;&#x59CB;&#x5316;&#xFF0C;$\left\{ {{{\bf{p}}_m}} \right\}_1^M$&#x4E3A;&#x968F;&#x540E;&#x6BCF;&#x4E00;&#x6B65;&#x7684;&#x589E;&#x91CF;&#xFF0C;&#x5176;&#x503C;&#x7531;&#x4F18;&#x5316;&#x7B97;&#x6CD5;&#x51B3;&#x5B9A;&#x3002;</p>
<h4 id="&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x6CD5;"><a href="#&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x6CD5;" class="headerlink" title="&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x6CD5;"></a>&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x6CD5;</h4><p>&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x6CD5;&#x662F;&#x6700;&#x5E38;&#x7528;&#x7684;&#x6570;&#x503C;&#x6700;&#x5C0F;&#x5316;&#x65B9;&#x6CD5;&#xFF0C;&#x8BB0;&#x80FD;&#x91CF;&#x51FD;&#x6570;&#x4E3A;$\Phi (x) = {E_{y,{\bf{x}}}}L\left( {y,F\left( {x;{\bf{P}}} \right)} \right)$&#xFF0C;&#x901A;&#x8FC7;&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x6CD5;&#x53EF;&#x4EE5;&#x6309;&#x5982;&#x4E0B;&#x5957;&#x8DEF;&#x8FDB;&#x884C;&#x6C42;&#x89E3;&#xFF1A;</p>
<ol>
<li>&#x8BA1;&#x7B97;&#x68AF;&#x5EA6;$g_m$&#x4E3A;$${g_m} = \left\{ {{g_{jm}}} \right\} = \left\{ {{{\left[ {{{\partial \Phi (x)} \over {\partial {P_j}}}} \right]}_{{\bf{P}} = {{\bf{P}}_{m - 1}}}}} \right\}$$&#x8FD9;&#x91CC;${{\bf{P}}_{m - 1}} = \sum\limits_{i = 0}^{m - 1} {{{\bf{P}}_i}} $</li>
<li>&#x5F97;&#x5230;&#x4E0B;&#x964D;&#x68AF;&#x5EA6;&#x65B9;&#x5411;&#xFF0C;&#x901A;&#x8FC7;&#x7EBF;&#x641C;&#x7D22;&#x7B97;&#x6CD5;&#x786E;&#x5B9A;&#x6B65;&#x957F;&#xFF1A;<br>$${{\bf{p}}_m} =  - {\rho _m}{{\bf{g}}_m}$$&#xFF0C;&#x5176;&#x4E2D;${\rho _m} = \arg \mathop {\min }\limits_\rho  \Phi ({{\bf{P}}_{m - 1}} - \rho {{\bf{g}}_m})$&#x3002;</li>
</ol>
<h4 id="&#x6709;&#x9650;&#x96C6;&#x5408;&#x7684;&#x6C42;&#x89E3;"><a href="#&#x6709;&#x9650;&#x96C6;&#x5408;&#x7684;&#x6C42;&#x89E3;" class="headerlink" title="&#x6709;&#x9650;&#x96C6;&#x5408;&#x7684;&#x6C42;&#x89E3;"></a>&#x6709;&#x9650;&#x96C6;&#x5408;&#x7684;&#x6C42;&#x89E3;</h4><p>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x5728;&#x4E00;&#x4E2A;&#x6709;&#x9650;&#x96C6;&#x5408;$\left\{ {{y_i},{{\bf{x}}_i}} \right\}_1^N$&#x4F30;&#x8BA1;$\left( {y,{\bf{x}}} \right)$&#x7684;&#x8054;&#x5408;&#x5206;&#x5E03;&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x96C6;&#x5408;&#x4E0A;&#x4E0D;&#x80FD;&#x5F97;&#x5230;&#x786E;&#x5B9A;&#x7684;&#x89E3;${E_y}\left[ { \cdot |{\bf{x}}} \right]$&#x3002;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x5B66;&#x4E60;&#x8FD9;&#x4E9B;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x5F97;&#x5230;&#x6700;&#x4F18;&#x51FD;&#x6570;&#x8868;&#x8FBE;$F^*({\bf x})$&#xFF0C;&#x8FDB;&#x800C;&#x53BB;&#x4F30;&#x8BA1;&#x65B0;&#x7684;&#x70B9;${\bf x}$&#x3002;&#x6837;&#x672C;&#x70B9;&#x901A;&#x8FC7;&#x5F71;&#x54CD;&#x6700;&#x7EC8;&#x7684;&#x51FD;&#x6570;&#x5BF9;&#x6D4B;&#x8BD5;&#x6837;&#x672C;&#x70B9;&#x7684;&#x503C;&#x65BD;&#x52A0;&#x7EA6;&#x675F;&#x3002;&#xFF08;&#x6309;&#xFF0C;&#x540C;&#x6837;&#x662F;&#x7EA6;&#x675F;&#xFF0C;&#x6211;&#x7406;&#x89E3;GBDT&#x662F;&#x5224;&#x522B;&#x5F62;&#x5F0F;&#xFF0C;&#x800C;&#x9AD8;&#x65AF;&#x8FC7;&#x7A0B;&#x662F;&#x4EA7;&#x751F;&#x5F62;&#x5F0F;&#xFF0C;&#x901A;&#x8FC7;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x70B9;&#x548C;&#x6D4B;&#x8BD5;&#x6837;&#x672C;&#x70B9;&#x7684;&#x5173;&#x7CFB;&#x53BB;&#x65BD;&#x52A0;&#x7EA6;&#x675F;&#xFF0C;&#x5148;&#x4F30;&#x8BA1;&#x8054;&#x5408;&#x9AD8;&#x65AF;&#x5206;&#x5E03;&#x3002;&#xFF09;&#x6211;&#x4EEC;&#x524D;&#x9762;&#x4ECB;&#x7ECD;&#x8FC7;&#x53C2;&#x6570;&#x4F30;&#x8BA1;&#x548C;&#x4F18;&#x5316;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x53EF;&#x4EE5;&#x5199;&#x6210;&#x5982;&#x4E0B;&#x5F62;&#x5F0F;&#xFF1A;<br>$$\begin{equation}\left\{ {{\beta _m},{{\bf{a}}_m}} \right\}_1^M = \arg \mathop {\min }\limits_{\left\{ {\beta {&apos;_m},a{&apos;_m}} \right\}_1^M} \sum\limits_{i = 1}^N {L\left( {{y_i},{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \beta &apos;h\left( {{{\bf{x}}_i};{\bf{a}}&apos;} \right)} \right)} \end{equation}$$<br>&#x8FD9;&#x4E2A;&#x89E3;&#x53EF;&#x4EE5;&#x5C1D;&#x8BD5;&#x8FDB;&#x884C;&#x8D2A;&#x5FC3;&#x7684;&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x65B9;&#x6CD5;&#xFF0C;&#x901A;&#x8FC7;&#x6BCF;&#x4E00;&#x7EA7;&#x7684;&#x903C;&#x8FD1;&#xFF0C;&#x5BF9;&#x4E8E;$m=1,2,...M$&#xFF0C;&#x6BCF;&#x4E00;&#x7EA7;&#x53C2;&#x6570;&#x4F30;&#x8BA1;&#x5982;&#x4E0B;&#xFF1A;$$\begin{equation}\left\{ {{\beta _m},{{\bf{a}}_m}} \right\} = \arg \mathop {\min }\limits_{\beta ,{\bf{a}}} \sum\limits_{i = 1}^N {L\left( {{y_i},{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \beta h\left( {{{\bf{x}}_i};{\bf{a}}} \right)} \right)} \end{equation}$$<br>&#x6700;&#x540E;&#x5F97;&#x5230;&#x89E3;&#x51FD;&#x6570;&#x7684;&#x5F62;&#x5F0F;&#x4E3A;&#xFF1A;<br>$${F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \beta &apos;h\left( {{{\bf{x}}_i};{\bf{a}}&apos;} \right)$$<br>&#x5728;&#x6BCF;&#x4E00;&#x7EA7;&#x7684;&#x589E;&#x52A0;&#x8FC7;&#x7A0B;&#xFF0C;&#x9010;&#x7EA7;&#x7B56;&#x7565;&#x548C;&#x6570;&#x503C;&#x4F18;&#x5316;&#x4ECB;&#x7ECD;&#x7684;&#x9010;&#x6B65;&#x7D2F;&#x52A0;&#x7684;&#x65B9;&#x5F0F;&#x6709;&#x6240;&#x533A;&#x522B;&#x3002;&#x8FD9;&#x79CD;&#x65B9;&#x6CD5;&#x4E5F;&#x53EB;<em>boosting</em>&#xFF0C;$h(x;a)$&#x4E3A;&#x5F31;&#x5206;&#x7C7B;&#x5668;&#xFF0C;&#x901A;&#x5E38;&#x4E3A;&#x5206;&#x7C7B;&#x6811;&#xFF0C;&#x5982;&#x679C;&#x4E0D;&#x5F15;&#x53D1;&#x6B67;&#x4E49;&#xFF0C;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x4E3A;&#x5B50;&#x51FD;&#x6570;&#x3002;</p>
<h4 id="&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;GB&#x7684;&#x4E00;&#x822C;&#x5957;&#x8DEF;"><a href="#&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;GB&#x7684;&#x4E00;&#x822C;&#x5957;&#x8DEF;" class="headerlink" title="&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;GB&#x7684;&#x4E00;&#x822C;&#x5957;&#x8DEF;"></a>&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;<em>GB</em>&#x7684;&#x4E00;&#x822C;&#x5957;&#x8DEF;</h4><p>&#x5047;&#x8BBE;&#x7ED9;&#x5B9A;&#x4E86;&#x524D;$m-1$&#x7EA7;&#x7684;&#x903C;&#x8FD1;&#x51FD;&#x6570;$F_{m-1}({\bf x})$&#xFF0C;&#x5F53;&#x524D;&#x7684;&#x5B50;&#x51FD;&#x6570;$\beta_mh({\bf x;a})$&#x53EF;&#x4EE5;&#x89C6;&#x4E3A;&#x6700;&#x4F18;&#x89E3;&#x51FD;&#x6570;$F^*(x)$&#x5728;&#x68AF;&#x5EA6;&#x65B9;&#x5411;&#x8D2A;&#x5FC3;&#x7B56;&#x7565;&#x7684;&#x4E00;&#x6B65;&#x6700;&#x4F73;&#x903C;&#x8FD1;&#xFF0C;&#x8FD9;&#x65F6;&#x5B50;&#x51FD;&#x6570;$h({\bf x;a})$&#x89C6;&#x4E3A;&#x53C2;&#x6570;&#x5316;&#x51FD;&#x6570;&#x7C7B;$h({\bf x;a})$&#x7684;&#x6210;&#x5458;&#xFF0C;&#x6BCF;&#x4E00;&#x4E2A;&#x7EA7;&#x8054;&#x8FC7;&#x7A0B;&#x5C31;&#x7B49;&#x540C;&#x4E8E;&#x6700;&#x901F;&#x4E0B;&#x964D;&#x6CD5;&#x7684;&#x6BCF;&#x4E00;&#x6B65;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x68AF;&#x5EA6;&#x5F97;&#x5230;&#x5B50;&#x51FD;&#x6570;&#x7684;&#x53C2;&#x6570;&#x4F30;&#x8BA1;&#x3002;<br>$$ - {g_m}\left( {{{\bf{x}}_i}} \right) =  - {\left[ {{{\partial L\left( {{y_i},F\left( {{{\bf{x}}_i}} \right)} \right)} \over {\partial F\left( {{{\bf{x}}_i}} \right)}}} \right]_{F\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right)}}$$<br>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5F97;&#x5230;&#x7B2C;$M$&#x6B65;&#x5728;&#x8BAD;&#x7EC3;&#x96C6;&#x4E0A;&#x5173;&#x4E8E;$F_{m-1}(x)$&#x7684;&#x6700;&#x4F73;&#x68AF;&#x5EA6;$-{\bf g}_m=\{-g_m({\bf x}_i) \} _1^N$&#x3002;&#x8FD9;&#x4E9B;&#x5F97;&#x5230;&#x7684;&#x68AF;&#x5EA6;&#x662F;&#x4ECE;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x96C6;&#x4E2D;&#x83B7;&#x53D6;&#xFF0C;&#x5E76;&#x4E0D;&#x80FD;&#x6CDB;&#x5316;&#x5230;&#x5176;&#x4ED6;&#x672A;&#x77E5;&#x6837;&#x672C;&#x70B9;&#x3002;&#x6211;&#x4EEC;&#x901A;&#x8FC7;&#x7EA6;&#x675F;&#x5B50;&#x51FD;&#x6570;$h({\bf x;a})$&#xFF0C;&#x4F7F;&#x5B83;&#x6EE1;&#x8DB3;&#x5728;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x4E0A;&#x7684;&#x503C;${\bf h}_m=\{h({\bf x_i;a_m})\}_1^N$&#x4E0E;$-{\bf g}_m \in R^N$&#x5E73;&#x884C;&#x3002;&#x6839;&#x636E;&#x4E0A;&#x9762;&#x7684;&#x8BBA;&#x8FF0;&#xFF0C;&#x5B50;&#x51FD;&#x6570;$h({\bf x;a})$&#x548C;$-{\bf g}_m(x)$&#x5F3A;&#x76F8;&#x5173;&#xFF0C;&#x53EF;&#x4EE5;&#x4ECE;&#x4E0B;&#x9762;&#x5F0F;&#x5B50;&#x4E2D;&#x89E3;&#x51FA;&#x6765;&#xFF1A;$$\begin{equation} {{\bf{a}}_m} = \arg \mathop {\min }\limits_{{\bf{a}},\beta } {\sum\limits_{i = 1}^N {\left[ { - {g_m}\left( {{{\bf{x}}_i}} \right) - \beta h\left( {{{\bf{x}}_i};{\bf{a}}} \right)} \right]} ^2} \end{equation}$$<br>&#x8D1F;&#x68AF;&#x5EA6;$\{h({\bf x_i;a_m})\}_1^N$&#x66FF;&#x6362;$-{\bf g}_m \in R^N$&#xFF0C;&#x524D;&#x9762;&#x8BF4;&#x8FC7;&#xFF0C;&#x6709;&#x4E86;&#x68AF;&#x5EA6;&#x65B9;&#x5411;&#xFF0C;&#x6211;&#x4EEC;&#x8FD8;&#x9700;&#x8981;&#x901A;&#x8FC7;&#x7EBF;&#x641C;&#x7D22;&#x5F97;&#x5230;&#x6700;&#x4F73;&#x6B65;&#x957F;<br>$$\begin{equation} {\rho _m} = \arg \mathop {\min }\limits_\rho  \sum\limits_{i = 1}^N {L\left( {{y_i},{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \rho h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)} \right)} \end{equation}$$<br>&#x90A3;&#x4E48;&#x7B2C;$m$&#x7EA7;&#x7684;&#x51FD;&#x6570;&#x903C;&#x8FD1;&#x4E3A;&#xFF1A;$${F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + {\rho _m}h\left( {{\bf{x}};{{\bf{a}}_m}} \right)$$</p>
<blockquote>
<p>&#x5C06;&#x516C;&#x5F0F;$(5)$&#x4E2D;&#x7684;&#x89E3;&#x66FF;&#x6362;&#x4E3A;$(6)(7)$&#x5E26;&#x6765;&#x7684;&#x53D8;&#x5316; &#xFF0C;&#x4F5C;&#x8005;&#x63CF;&#x8FF0;&#x4E3A;&#xFF1A;&#x201D;Basically, instead ofobtaining the solution under a smoothness constraint, the constraint is applied to the unconstrained (rough) solution&#x201D;&#xFF0C;&#x9700;&#x8981;&#x540E;&#x7EED;&#x7422;&#x78E8;&#x4E0B;</p>
</blockquote>
<p>&#x901A;&#x8FC7;$h({\bf x;a})$&#x62DF;&#x5408;<em>pseudo-responses</em>&#xFF1A;$\left\{ {{{\tilde y}_i} =  - {g_m}\left( {{x_i}} \right)} \right\}_{i = 1}^N$&#xFF0C;&#x5728;&#x524D;&#x9762;&#x535A;&#x5BA2;&#x5F15;&#x7528;&#x7684;wiki&#x9875;&#x4E2D;&#x4E5F;&#x79F0;&#x4E3A;<em>pseudo -residuals</em>&#xFF0C;&#x662F;&#x4E00;&#x4E2A;&#x6982;&#x5FF5;&#x3002;&#x8FD9;&#x6837;&#x7684;&#x53D8;&#x5316;&#x628A;&#x516C;&#x5F0F;$(5)$&#x96BE;&#x4F18;&#x5316;&#x7684;&#x95EE;&#x9898;&#x8F6C;&#x4E3A;&#x4E86;$(6)$&#x4E2D;&#x8F83;&#x5BB9;&#x6613;&#x4F18;&#x5316;&#x7684;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x8BEF;&#x5DEE;&#x548C;$(7)$&#x4E2D;&#x8F83;&#x4E3A;&#x7B80;&#x5355;&#x7684;&#x5355;&#x53C2;&#x6570;&#x4F18;&#x5316;&#x3002;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x9010;&#x7EA7;&#x7684;&#x65B9;&#x5F0F;&#x6700;&#x5C0F;&#x5316;&#x4EFB;&#x4F55;&#x53EF;&#x5BFC;&#x7684;<em>loss function</em>$L(y,F)$&#x3002;&#x5728;&#x6BCF;&#x4E00;&#x7EA7;&#x4E2D;&#xFF0C;&#x7528;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x8BEF;&#x5DEE;&#x4ECE;&#x516C;&#x5F0F;$(6)$&#x4E2D;&#x89E3;&#x51FA;$h({\bf x;a})$&#x3002;&#x6240;&#x4EE5;&#x5BFC;&#x51FA;&#x4E0B;&#x9762;&#x7684;&#x901A;&#x7528;GB&#x6D41;&#x7A0B;&#xFF1A;</p>
<ol>
<li>${F_0}\left( {\bf{x}} \right) = \arg {\min _\rho }\sum\nolimits_{i = 1}^N {L\left( {{y_i},\rho } \right)} $</li>
<li>$For\;m = 1\;to\;M\;do:$</li>
<li>${{\tilde y}_i} =  - {\left[ {{{\partial L\left( {{y_i},F\left( {{{\bf{x}}_i}} \right)} \right)} \over {\partial F\left( {{{\bf{x}}_i}} \right)}}} \right]_{F\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right)}},i = 1,N$</li>
<li>${{\bf{a}}_m} = \arg {\min _{{\bf{a}},\beta }}{\sum\nolimits_{i = 1}^N {\left[ {{{\tilde y}_i} - \beta h\left( {{{\bf{x}}_i};{\bf{a}}} \right)} \right]} ^2}$</li>
<li>${\rho _m} = \arg \mathop {\min }\limits_\rho  \sum\nolimits_{i = 1}^N {L\left( {{y_i},{F_{m - 1}}\left( {{{\bf{x}}_i}} \right) + \rho h\left( {{{\bf{x}}_i};{{\bf{a}}_m}} \right)} \right)} $</li>
<li>${F_m}\left( {\bf{x}} \right) = {F_{m - 1}}\left( {\bf{x}} \right) + {\rho _m}h\left( {{\bf{x}};{{\bf{a}}_m}} \right)$</li>
<li>$end For$
</li>
</ol>
<p>&#x6839;&#x636E;&#x4E0D;&#x540C;&#x7684;loss&#x51FD;&#x6570;&#xFF0C;&#x7B2C;4&#x884C;&#x7684;&#x8D1F;&#x68AF;&#x5EA6;&#x8BA1;&#x7B97;&#x4E5F;&#x4E0D;&#x540C;&#xFF0C;&#x5176;&#x4ED6;&#x8BA1;&#x7B97;&#x6761;&#x4EF6;&#x671F;&#x671B;&#x7684;&#x62DF;&#x5408;&#x65B9;&#x6CD5;&#x4E5F;&#x53EF;&#x4EE5;&#x7528;&#xFF0C;&#x4F8B;&#x5982;&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;(LAD)&#xFF0C;Huber(M)&#x3002;&#x8FD9;&#x91CC;&#x4F7F;&#x7528;&#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;(LS)&#x8868;&#x793A;&#x53EA;&#x662F;&#x56E0;&#x4E3A;&#x6BD4;&#x8F83;&#x81EA;&#x7136;&#xFF0C;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x4E2D;&#x8FD8;&#x53EF;&#x4EE5;&#x6709;$L(y,F)=L(yF)$&#x3002;</p>
<blockquote>
<p>&#x4E0B;&#x4E00;&#x7BC7;&#x4ECB;&#x7ECD;&#xFF0C;&#x6700;&#x5C0F;&#x7EDD;&#x5BF9;&#x503C;&#x8BEF;&#x5DEE;LAD&#xFF0C; &#x6700;&#x5C0F;&#x5747;&#x65B9;&#x5DEE;LST&#xFF0C; HUBER-M&#x51FD;&#x6570;&#x8FD9;&#x4E09;&#x4E2A;&#x4E0D;&#x540C;<em>loss function</em>&#x5BF9;&#x5E94;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x4EE5;&#x53CA; gbdt&#x600E;&#x4E48;&#x5904;&#x7406;&#x5206;&#x7C7B;&#x548C;&#x56DE;&#x5F52;&#x95EE;&#x9898;</p>
</blockquote>
<h4 id="&#x53C2;&#x8003;"><a href="#&#x53C2;&#x8003;" class="headerlink" title="&#x53C2;&#x8003;"></a>&#x53C2;&#x8003;</h4><p>[1] Friedman J H. Greedy Function Approximation: A Gradient Boosting Machine[J]. Annals of Statistics, 2000, 29(5):1189&#x2013;1232.<br>[2] <a href="http://blog.csdn.net/acdreamers/article/details/44664481" target="_blank" rel="external">&#x51B3;&#x7B56;&#x6811;&#x4E4B;CART&#x7B97;&#x6CD5;</a><br>[3] <a href="http://blog.csdn.net/w28971023/article/details/8240756" target="_blank" rel="external">GBDT&#xFF08;MART&#xFF09;&#x8FED;&#x4EE3;&#x51B3;&#x7B56;&#x6811;&#x5165;&#x95E8;&#x6559;&#x7A0B;</a></p>
<p>ShawnXiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&lt;a href=&quot;https://qiugen.github.io/2016/09/18/gbRank-logsitRank-from-up-to-bottom/&quot; target=&quot;_blank&quot; rel=&quot;external&quot;&gt;&amp;#x524D;&amp;#x6587;&lt;/a&gt;&amp;#x
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="learning to rank" scheme="https://mlnote.com/tags/learning-to-rank/"/>
    
      <category term="gbdt" scheme="https://mlnote.com/tags/gbdt/"/>
    
      <category term="gradient boosting framework" scheme="https://mlnote.com/tags/gradient-boosting-framework/"/>
    
  </entry>
  
  <entry>
    <title>gbRank &amp; logsitcRank自顶向下</title>
    <link href="https://mlnote.com/2016/09/18/gbRank-logsitRank-from-up-to-bottom/"/>
    <id>https://mlnote.com/2016/09/18/gbRank-logsitRank-from-up-to-bottom/</id>
    <published>2016-09-17T16:00:00.000Z</published>
    <updated>2016-11-17T16:40:36.059Z</updated>
    
    <content type="html"><![CDATA[<p>&#x4E0A;&#x4E00;&#x7BC7;<a href="https://qiugen.github.io/2016/09/13/Ranking-Relevance-in-Yahoo-Search/" target="_blank" rel="external">Ranking Relevance in Yahoo Search</a>&#x4E00;&#x6587;&#x4E2D;&#x63D0;&#x5230;&#x7684;logistRank&#x65B9;&#x6CD5;&#x5403;&#x4E0D;&#x592A;&#x900F;&#xFF0C;&#x6CA1;&#x5C55;&#x5F00;&#x3002;&#x8FD9;&#x4E24;&#x5929;&#x521A;&#x597D;&#x4E2D;&#x79CB;&#xFF0C;&#x6574;&#x7406;&#x51FA;&#x6765;&#x3002;<br>&#x4ECB;&#x7ECD;&#x601D;&#x8DEF;&#x5982;&#x4E0B;&#xFF1A;    </p>
<ol>
<li>gbrank&#xFF1A;gbdt&#x600E;&#x4E48;&#x7528;&#x5728;&#x6392;&#x5E8F;&#xFF0C;&#x5982;&#x4F55;&#x8FDB;&#x884C;pair-wise&#x8BAD;&#x7EC3;</li>
<li>logistRank&#xFF1A;logistRank&#x548C;gbrank&#x7684;&#x533A;&#x522B;&#xFF0C;&#x548C;&#x5173;&#x4E8E;scale&#x56E0;&#x5B50;&#x7684;&#x601D;&#x8003;</li>
</ol>
<p>&#x672C;&#x7BC7;&#x535A;&#x6587;&#x5206;&#x4E24;&#x7BC7;&#x5C06;&#x4ECE;&#x5E94;&#x7528;&#x51FA;&#x53D1;&#xFF0C;&#x5F80;&#x7B97;&#x6CD5;&#x7EC6;&#x8282;&#x6DF1;&#x5165;&#x4E86;&#x89E3;&#x7684;&#x987A;&#x5E8F;&#x8FDB;&#x884C;&#x4ECB;&#x7ECD;&#x3002;&#x4E0A;&#x7BC7;&#xFF1A;&#x7B2C;1&#x90E8;&#x5206;&#xFF0C;&#x4ECB;&#x7ECD;&#x57FA;&#x7840;&#x7684;gbrank&#xFF0C;&#x53EF;&#x4EE5;&#x77E5;&#x9053;gbdt&#x7528;&#x5728;learning to rank&#x9886;&#x57DF;&#x7684;&#x5E94;&#x7528;&#x6CD5;&#x5B50;&#x3002;&#x7B2C;2&#x90E8;&#x5206;&#xFF0C;&#x4ECB;&#x7ECD;logistRank&#xFF0C;&#x5E0C;&#x671B;&#x8FDB;&#x4E00;&#x6B65;&#x7406;&#x89E3;&#x524D;&#x4E00;&#x7BC7;&#x7B14;&#x8BB0;&#x4E2D;&#x4F5C;&#x8005;&#x63D0;&#x51FA;&#x6539;&#x8FDB;&#x3002;&#x4E0B;&#x7BC7;&#xFF1A;&#x4E3B;&#x8981;&#x6309;&#x63D0;&#x51FA;&#x8005;<code>Jerome H. Friedman</code>&#x8BBA;&#x6587;&#x601D;&#x8DEF;&#x4ECB;&#x7ECD;gbdt</p>
<blockquote>
<p>&#x76F8;&#x5173;&#x62D3;&#x5C55;&#xFF1A;&#x7EB5;&#x5411;&#x53EF;&#x4EE5;&#x5F80;&#x524D;&#x770B;adboost&#x53CA;&#x5728;learning to rank(ltr)&#x5E94;&#x7528;[2], &#x6216;&#x8005;&#x5F80;&#x540E;&#x770B;xgboost&#x3001;FastBDT&#x3001;LightGBM&#x3002;&#x6A2A;&#x5411;&#x53EF;&#x4EE5;&#x770B;&#x770B;bagging&#x7684;&#x4E00;&#x4E9B;&#x7B97;&#x6CD5;&#xFF0C;&#x5305;&#x62EC;&#x968F;&#x673A;&#x68EE;&#x6797;&#x3002;<br>ltr&#x4E2D;&#x5E38;&#x7528;&#x7684;&#x8FD8;&#x6709;rankSVM&#xFF08;&#x5E94;&#x7528;svm&#x5206;&#x7C7B;&#x5668;&#xFF09;[3,4,5]&#x3001;rankNet(&#x5E94;&#x7528;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;)[6]&#x3001;LambdaMART[9]</p>
</blockquote>
<h3 id="gbrank&#xFF1A;&#x5982;&#x4F55;&#x8FDB;&#x884C;pair-wise&#x8BAD;&#x7EC3;"><a href="#gbrank&#xFF1A;&#x5982;&#x4F55;&#x8FDB;&#x884C;pair-wise&#x8BAD;&#x7EC3;" class="headerlink" title="gbrank&#xFF1A;&#x5982;&#x4F55;&#x8FDB;&#x884C;pair-wise&#x8BAD;&#x7EC3;"></a><strong>gbrank&#xFF1A;&#x5982;&#x4F55;&#x8FDB;&#x884C;pair-wise&#x8BAD;&#x7EC3;</strong></h3><p>learning to rank&#x9700;&#x8981;&#x89E3;&#x51B3;&#x7684;&#x95EE;&#x9898;&#x662F;&#x7ED9;&#x5B9A;&#x4E00;&#x4E2A;query&#xFF0C;&#x5982;&#x4F55;&#x9009;&#x62E9;&#x6700;&#x76F8;&#x5173;&#x7684;document&#x3002;gbrank&#x6838;&#x5FC3;&#x4E3A;&#x5C06;&#x6392;&#x5E8F;&#x95EE;&#x9898;&#x8F6C;&#x5316;&#x4E3A;&#x4E00;&#x7EC4;&#x56DE;&#x5F52;&#x95EE;&#x9898;&#xFF0C;&#x5BF9;&#x4E8E;&#x56DE;&#x5F52;&#x95EE;&#x9898;&#x53EF;&#x4EE5;&#x7528;gbdt&#x8FDB;&#x884C;&#x6C42;&#x89E3;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x7528;&#x5176;&#x4ED6;&#x7684;&#x56DE;&#x5F52;&#x51FD;&#x6570;[7]&#x3002;<br>&#x5148;&#x4ECB;&#x7ECD;&#x4E00;&#x7EC4;&#x8BB0;&#x53F7;&#xFF0C;&#x5BF9;&#x4E8E;&#x6240;&#x6709;&#x7684;query-document pair&#xFF0C;&#x6211;&#x4EEC;&#x4ECE;pair&#x62BD;&#x53D6;&#x51FA;&#x4E00;&#x7CFB;&#x5217;&#x7279;&#x5F81;&#x5BF9;&#x5176;&#x8FDB;&#x884C;&#x8868;&#x793A;&#x3002;&#x4F8B;&#x5982;query1-document1&#x8BB0;&#x4E3A;$x$&#xFF0C;query1-document2&#x8BB0;&#x4E3A;$y$&#x3002;&#x8BB0;$x \succ y$&#x8868;&#x793A;&#xFF0C;&#x7528;&#x6237;&#x53D1;&#x8D77;&#x67E5;&#x8BE2;query1&#x65F6;&#xFF0C;$x$&#x6BD4;$y$&#x66F4;&#x9002;&#x5408;&#xFF0C;&#x66F4;&#x52A0;&#x6EE1;&#x8DB3;query1&#x7684;&#x9700;&#x6C42;&#x3002;&#x8BB0;&#x8BAD;&#x7EC3;&#x96C6;&#x5408;&#x4E3A;$$S = \left\{ {\left\langle {{x_i},{y_i}} \right\rangle |{x_i} \succ {y_i},i = 1,...,N} \right\}$$<br>&#x7ED9;&#x5B9A;&#x6392;&#x5E8F;&#x51FD;&#x6570;&#x7A7A;&#x95F4; $H$&#xFF0C;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x5F97;&#x5230;&#x4E00;&#x4E2A;&#x6392;&#x5E8F;&#x51FD;&#x6570;$h$($h \in H$)&#xFF0C;&#x5F53;$x_i \succ y_i$&#x65F6;&#xFF0C;&#x6211;&#x4EEC;&#x6709;$h\left( {{x_i}} \right) \ge h\left( {{y_i}} \right)$&#x3002;&#x635F;&#x5931;&#x51FD;&#x6570;&#x5B9A;&#x4E49;&#x4E3A;&#x5982;&#x4E0B;&#x5F62;&#x5F0F;&#xFF1A;$$ R\left( h \right) = {1 \over 2}{\sum\limits_{i = 1}^N {\left( {\max \left\{ {0,h\left( {{y_i}} \right) - h\left( {{x_i}} \right)} \right\} } \right)}^2}$$<br>&#x8FD9;&#x4E2A;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x89E3;&#x8BFB;&#x4E3A;&#xFF0C;&#x5BF9;&#x4E8E;&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#x4E2D;&#x7684;&#x4E00;&#x4E2A; $\left\langle {{x_i},{y_i}} \right\rangle $&#xFF0C;&#x5982;&#x679C;$h$&#x5B66;&#x5230;&#x4E86;&#x8FD9;&#x79CD;&#x504F;&#x5E8F;&#x5173;&#x7CFB;&#xFF0C;&#x90A3;&#x4E48;&#x6709;$h(x_i)&gt;h(y_i)$&#xFF0C;$h$&#x5BF9;&#x4E8E;&#x635F;&#x5931;&#x51FD;&#x6570;&#x7684;&#x8D21;&#x732E;&#x4E3A;0&#xFF0C;&#x5426;&#x5219;&#x4E3A;${\left( {h\left( {{y_i}} \right) - h\left( {{x_i}} \right)} \right)^2}$&#x3002;&#x76F4;&#x63A5;&#x4F18;&#x5316;loss&#x6BD4;&#x8F83;&#x56F0;&#x96BE;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x6539;&#x53D8;$h(x_i)$&#x6216;&#x8005;$h(y_i)$&#x8FBE;&#x5230;&#x51CF;&#x5C11;loss&#x7684;&#x76EE;&#x7684;&#xFF0C;&#x4F8B;&#x5982;&#x7528;&#x56DE;&#x5F52;&#x7684;&#x65B9;&#x5F0F;&#x6765;&#x62DF;&#x5408;$h(x_i)$&#x3001;$h(y_i)$&#x3002;<br><img src="/2016/09/18/gbRank-logsitRank-from-up-to-bottom/./1474116479694.png" alt="h(yi)-h(xi)"></p>
<p>&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x4F18;&#x5316;&#x51FD;&#x6570;$h$&#x662F;&#x4E00;&#x4E2A;&#x5E38;&#x91CF;&#xFF0C;&#x5728;loss fuction&#x4E0A;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x5E73;&#x6ED1;&#x9879;$\tau $&#xFF0C; $0 &lt; \tau \le 1$&#x3002;&#x5728;&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x4E2D;$\tau$&#x4E3A;&#x56FA;&#x5B9A;&#x5E38;&#x6570;&#x3002;$$R\left( {h,\tau } \right) = {1 \over 2}{\sum\limits_{i = 1}^N {\left( {\max \left\{ {0,h\left( {{y_i}} \right) - h\left( {{x_i}} \right) + \tau } \right\}} \right)} ^2} - \lambda {\tau ^2}$$</p>
<blockquote>
<p>&#x56E0;&#x4E3A;&#x5F53;$h$&#x4E3A;&#x5E38;&#x91CF;&#x51FD;&#x6570;&#x65F6;&#xFF0C;&#x539F;$R(h)=0$&#x5C31;&#x6CA1;&#x6709;&#x518D;&#x4F18;&#x5316;&#x7684;&#x7A7A;&#x95F4;&#x4E86;&#x3002;<br>&#x5176;&#x5B9E;&#x52A0;&#x4E86;&#x5E73;&#x8861;&#x9879;&#xFF0C;&#x5C31;&#x53D8;&#x76F8;&#x8F6C;&#x4E3A;&#xFF1A;&#x5982;&#x679C;&#x5E0C;&#x671B;${{x_i} \succ {y_i}}$&#xFF0C;&#x5C31;&#x5F97;&#x6709;$h\left( {{x_i}} \right) \ge h\left( {{y_i}} \right)+\tau$&#xFF0C;&#x66F4;&#x52A0;&#x4E25;&#x683C;&#x3002;&#x591A;&#x4E86;&#x4E00;&#x4E2A;gap[8]</p>
</blockquote>
<p>&#x6309;&#x4E00;&#x822C;&#x5957;&#x8DEF;&#xFF0C;&#x7528;&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x7684;&#x65B9;&#x6CD5;&#x53BB;&#x6700;&#x5C0F;&#x5316;loss function&#x3002;&#x5047;&#x8BBE;&#x6709;&#x672A;&#x77E5;&#x51FD;&#x6570;$h(x_i)$&#xFF0C;$h(y_i)$&#xFF0C;$i=1,...,N$&#xFF0C;loss $R(h)$&#x5BF9;$h(x_i)$&#xFF0C;$h(y_i)$&#x7684;&#x8D1F;&#x68AF;&#x5EA6;&#x5206;&#x522B;&#x4E3A;$$\max \left\{ {0,h\left( {{y_i}} \right) - h\left( {{x_i}} \right)} \right\},-\max \left\{ {0,h\left( {{y_i}} \right) - h\left( {{x_i}} \right)} \right\}$$&#x3002;&#x5F53;$h$&#x6EE1;&#x8DB3;$&lt; {x_i},{y_i} &gt;$&#x504F;&#x5E8F;&#x5173;&#x7CFB;&#xFF0C;$h\left( {{y_i}} \right) - h\left( {{x_i}} \right) &lt; 0$&#xFF0C;&#x4E0A;&#x9762;&#x4E24;&#x4E2A;&#x68AF;&#x5EA6;&#x90FD;&#x4F1A;&#x4E3A;0&#x3002;&#x5F53;$h$&#x4E0D;&#x6EE1;&#x8DB3;$&lt; {x_i},{y_i} &gt;$&#x504F;&#x5E8F;&#x5173;&#x7CFB;&#x65F6;&#xFF0C;&#x68AF;&#x5EA6;&#x4E3A;$$h\left( {{y_i}} \right) - h\left( {{x_i}} \right),h\left( {{x_i}} \right) - h\left( {{y_i}} \right)$$<br>&#x63A5;&#x4E0B;&#x6765;&#xFF0C;&#x8FD8;&#x9700;&#x8981;&#x77E5;&#x9053;&#x5982;&#x4F55;&#x5C06;&#x68AF;&#x5EA6;&#x4F5C;&#x7528;&#x5230;$h$&#x7684;&#x66F4;&#x65B0;&#x4E0A;&#xFF0C;&#x901A;&#x8FC7;&#x8BBE;&#x5B9A;$x_i$&#x7684;&#x76EE;&#x6807;&#x503C;&#x4E3A;$h\left( {{y_i}} \right) + \tau $&#x3002;$y_i$&#x7684;&#x76EE;&#x6807;&#x503C;&#x4E3A;$h\left( {{x_i}} \right) - \tau $&#x3002;&#x56E0;&#x6B64;&#x5728;&#x6BCF;&#x8F6E;&#x8FED;&#x4EE3;&#x4E2D;&#xFF0C;&#x5F53;$h$&#x4E0D;&#x6EE1;&#x8DB3;$&lt; {x_i},{y_i} &gt;$&#x4F1A;&#x4EA7;&#x751F;&#x4E00;&#x7EC4;&#x6570;&#x636E;&#xFF1A;$$\left\{ {\left( {{x_i},h\left( {{y_i}} \right) + \tau } \right),\left( {{y_i},h\left( {{x_i}} \right) - \tau } \right)} \right\}$$ &#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x62DF;&#x5408;&#x672C;&#x8F6E;&#x4EA7;&#x751F;&#x7684;&#x6240;&#x6709;&#x8D1F;&#x4F8B;&#x3002;&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;&#x8BE6;&#x7EC6;&#x7B97;&#x6CD5;<br><strong>gbRank&#x7B97;&#x6CD5;</strong>&#xFF1A;</p>
<ol>
<li>&#x4F30;&#x8BA1;&#x4E00;&#x4E2A;&#x521D;&#x59CB;&#x51FD;&#x6570;$h_0$&#xFF08;&#x4EFB;&#x610F;&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x90FD;&#x53EF;&#x4EE5;&#xFF09;&#x3002;</li>
<li>&#x6839;&#x636E;&#x4E0A;&#x4E00;&#x8F6E;&#x7684;$h_{k-1}$&#xFF0C;&#x5C06;&#x6570;&#x636E;&#x5206;&#x4E3A;&#x4E24;&#x4E2A;&#x4E0D;&#x76F8;&#x4EA4;&#x7684;&#x5B50;&#x96C6;&#xFF08;&#x6B63;&#x4F8B;&#x548C;&#x8D1F;&#x4F8B;&#x4E24;&#x4E2A;&#x96C6;&#x5408;&#xFF09;&#xFF1A; $${S^ + } = \{ \left\langle {{x_i},{y_i}} \right\rangle  \in S|{h_{k - 1}}({x_i}) \ge {h_{k - 1}}({y_i}) + \tau \} $$&#x548C;$$S^-=\{\left \langle x_i,y_i \right \rangle \in S | h_{k-1}(x_i) &lt; h_{k-1}(y_i)+\tau \}$$&#x3002;&#x5176;&#x4E2D;$S^-$&#x4F5C;&#x4E3A;&#x6211;&#x4EEC;&#x4E0B;&#x4E00;&#x6B65;&#x7684;&#x8BAD;&#x7EC3;&#x96C6;&#x3002;</li>
<li>&#x4F7F;&#x7528;GBDT&#x62DF;&#x5408;&#x8D1F;&#x4F8B;&#x96C6;&#x5408;&#x4E2D;&#x7684;&#x6570;&#x636E;$$\{(x_i,h_{k-1}(y_i)+\tau),(y_i,h_{k-1}(x_i)-\tau) | (x_i,y_i) \in S^- \}$$&#x5F97;&#x5230;$g_k(x)$&#x3002;&#xFF08;&#x4F5C;&#x8005;&#x8BBE;&#x7F6E;$\tau=0.1$&#xFF0C;&#x5176;&#x4ED6;&#x503C;&#x4E5F;&#x53EF;&#x4EE5;&#x5C1D;&#x8BD5;&#x3002;&#xFF09;</li>
<li>&#x8FDB;&#x884C;&#x6A21;&#x578B;&#x7684;&#x66F4;&#x65B0;&#xFF1A;$$h_k(x) = \frac{kh_{k-1}(x)+\eta g_k(x)}{k+1}$$ &#x5176;&#x4E2D;&#xFF0C;$\eta$&#x4E3A;&#x4F38;&#x7F29;&#x56E0;&#x5B50;&#x3002;</li>
</ol>
<p>&#x53EF;&#x4EE5;&#x770B;&#x5230;step3&#x91CC;&#x9762;&#x6BCF;&#x8F6E;&#x90FD;&#x62DF;&#x5408;&#x8BEF;&#x5224;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x5728;&#x8FED;&#x4EE3;&#x4E2D;&#x8FD9;&#x4E2A;&#x96C6;&#x5408;&#x4F1A;&#x8D8A;&#x6765;&#x8D8A;&#x5C0F;&#x3002;&#x8FD8;&#x6709;&#x4E00;&#x79CD;&#x505A;&#x6CD5;&#x662F;&#x5C06;&#x66FE;&#x7ECF;&#x8BEF;&#x5224;&#x7684;&#x96C6;&#x5408;&#x7EF4;&#x6301;&#x5728;&#x8BAD;&#x7EC3;&#x96C6;&#x4E2D;&#xFF0C;&#x90A3;&#x4E48;&#x8BAD;&#x7EC3;&#x96C6;&#x5C31;&#x4F1A;&#x59CB;&#x7EC8;&#x589E;&#x957F;&#x3002;&#x5728;&#x8FD9;&#x4E2A;&#x6B65;&#x9AA4;&#x4E2D;&#x4F7F;&#x7528;GBDT&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x56DE;&#x5F52;&#x9884;&#x6D4B;&#xFF0C;&#x5F53;&#x7136;&#x5176;&#x4ED6;&#x7684;&#x56DE;&#x5F52;&#x65B9;&#x6CD5;&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x3002;</p>
<h3 id="logistRank&#xFF1A;logistRank&#x548C;gbrank&#x7684;&#x533A;&#x522B;&#xFF0C;&#x548C;&#x5173;&#x4E8E;scale&#x56E0;&#x5B50;&#x7684;&#x601D;&#x8003;"><a href="#logistRank&#xFF1A;logistRank&#x548C;gbrank&#x7684;&#x533A;&#x522B;&#xFF0C;&#x548C;&#x5173;&#x4E8E;scale&#x56E0;&#x5B50;&#x7684;&#x601D;&#x8003;" class="headerlink" title="logistRank&#xFF1A;logistRank&#x548C;gbrank&#x7684;&#x533A;&#x522B;&#xFF0C;&#x548C;&#x5173;&#x4E8E;scale&#x56E0;&#x5B50;&#x7684;&#x601D;&#x8003;"></a>logistRank&#xFF1A;logistRank&#x548C;gbrank&#x7684;&#x533A;&#x522B;&#xFF0C;&#x548C;&#x5173;&#x4E8E;scale&#x56E0;&#x5B50;&#x7684;&#x601D;&#x8003;</h3><p>logistRank&#x590D;&#x7528;&#x4E86;gbdt&#x6846;&#x67B6;&#xFF0C;&#x6587;&#x4E2D;&#x4ECB;&#x7ECD;&#x7BC7;&#x5E45;&#x6BD4;&#x8F83;&#x77ED;&#xFF0C;&#x53CD;&#x590D;&#x770B;&#x4E86;&#x770B;&#x548C;gbrank&#x7684;&#x4E3B;&#x8981;&#x533A;&#x522B;&#x5728;point-wise&#x4E0E;pair-wise&#x4E24;&#x79CD;&#x4E0D;&#x540C;&#x7684;&#x65B9;&#x5F0F;&#x3002;&#x901A;&#x5E38;&#xFF0C;Logistic loss&#x51FD;&#x6570;&#x6211;&#x4EEC;&#x7528;&#x5728;&#x63CF;&#x8FF0;&#x4E8C;&#x5206;&#x7C7B;&#x95EE;&#x9898;(&#x8FD9;&#x90E8;&#x5206;&#x611F;&#x5174;&#x8DA3;&#x53EF;&#x4EE5;&#x770B;&#x5F15;&#x6587;[11,12])&#x3002;$$L\left( {y,F} \right) = \log \left( {1 + \exp \left( { - yF} \right)} \right),y \in \left\{ {1, - 1} \right\}$$<br>&#x4F5C;&#x8005;&#x8BA4;&#x4E3A;&#xFF0C;&#x5B83;&#x80FD;&#x5C06;positive/negative&#x5F80;positive/negative&#x4E24;&#x4E2A;&#x65B9;&#x5411;&#x62C9;&#x5F00;&#xFF0C;&#x5982;&#x679C;&#x4E00;&#x4E2A;url&#x7684;&#x76F8;&#x5173;&#x6027;&#x662F;perfect&#xFF0C;&#x5BF9;&#x5E94;&#x7684;&#x6253;&#x5206;&#x4F1A;&#x8DDD;&#x79BB;&#x51B3;&#x7B56;&#x5E73;&#x9762;&#x8FDC;&#x4E00;&#x4E9B;&#x3002;&#x63A5;&#x4E0B;&#x6765;&#x7ED3;&#x5408;gbdt&#x6846;&#x67B6;&#x4ECB;&#x7ECD;&#x5176;&#x5177;&#x4F53;&#x505A;&#x6CD5;&#xFF08;&#x7B26;&#x53F7;&#x7EDF;&#x4E00;&#x4E3A;freidman&#x6587;&#x7AE0;&#x7528;&#x6CD5;&#xFF0C;gbdt&#x5C06;&#x4F1A;&#x5728;&#x4E0B;&#x4E00;&#x7BC7;&#x4E2D;&#x8BF4;&#x8BE6;&#x7EC6;&#x4E9B;&#xFF09;&#x3002;<br>&#x5728;&#x8BAD;&#x7EC3;&#x9636;&#x6BB5;&#x7B2C;$m$&#x8F6E;&#x7684;&#x5B66;&#x4E60;&#x76EE;&#x6807;<em>pseudo-response</em>&#xFF0C;&#x5373;&#x68AF;&#x5EA6;&#x4E3A;&#xFF1A;$$ - {h_m}\left( {{x_i}} \right) =  - {\left[ {{{\partial L\left( {{y_i},F\left( {{x_i}} \right)} \right)} \over {\partial F\left( {{x_i}} \right)}}} \right]_{F\left( x \right) = {F_{m - 1}}\left( x \right)}} = {{y_i} \over {1 + \exp \left( {{y_i}{F_{m - 1}}\left( {{x_i}} \right)} \right)}}$$<br>&#x4E3A;&#x4E86;&#x523B;&#x753B;{perfec, excellent,good}&#x4E09;&#x79CD;&#x4E0D;&#x540C;&#x7684;&#x76F8;&#x5173;&#x6027;label&#xFF0C;&#x5F15;&#x5165;&#x68AF;&#x5EA6;scale&#x56E0;&#x5B50;&#xFF0C;&#x5BF9;&#x4E8E;&#x4E0D;&#x540C;&#x7684;label&#x7ED9;&#x4E88;&#x4E0D;&#x540C;&#x7684;&#x68AF;&#x5EA6;scale&#x56E0;&#x5B50;{&#x4F8B;&#x5982;&#xFF1A;perfect:3, excellent:2, good:1}&#x3002;&#x7ECF;&#x8FC7;&#x8C03;&#x6574;&#x4EE5;&#x540E;&#xFF0C;&#x7B2C;$m$&#x8F6E;&#x7684;&#x5B66;&#x4E60;&#x76EE;&#x6807;<em>pseudo-response</em>&#x4E3A;&#xFF1A;<br>$$pseudo - response \left( x \right) =  - {g_m}\left( {{x_i}} \right) \times scale\left( {label} \right)$$<br>&#x5176;&#x4E2D;&#xFF1A;scale(<em>perfect</em>)=3&#xFF0C;scale(<em>excellent</em>)=2&#xFF0C;scale(<em>good | fair | bad </em>)= 1.&#x8FD9;&#x79CD;&#x65B9;&#x6CD5;&#x7B49;&#x4EF7;&#x4E8E;&#x7ED9;&#x4E0D;&#x540C;&#x7684;label&#x6837;&#x672C;&#x7684;loss&#x8FDB;&#x884C;&#x52A0;&#x6743;&#xFF0C;&#x5728;&#x6BCF;&#x4E00;&#x8F6E;&#x6811;&#x7684;&#x751F;&#x957F;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x4EA7;&#x751F;&#x5F71;&#x54CD;&#x3002;<br>&#x6811;&#x7684;&#x8282;&#x70B9;&#x901A;&#x8FC7;$\gamma$&#x7CFB;&#x6570;&#x8FDB;&#x884C;&#x7EC4;&#x5408;&#xFF1A;<br>$${\gamma _{jm}} = \arg \mathop {\min }\limits_\gamma  \sum\limits_{{x_i} \in {R_{jm}}} {\log \left( {1 + \exp \left( { - {y_i}\left( {{F_{m - 1}}\left( {{x_i}} \right) + \gamma } \right)} \right)} \right)} $$<br>&#x8FD9;&#x4E2A;&#x516C;&#x5F0F;&#x65E0;&#x89E3;&#x6790;&#x89E3;&#x3002;&#x901A;&#x8FC7;&#x4E0B;&#x8FF0;&#x725B;&#x987F;-&#x62C9;&#x592B;&#x68EE;&#x516C;&#x5F0F;&#x8FDB;&#x884C;&#x903C;&#x8FD1;&#xFF1A;<br>$${\gamma _{jm}} = \sum\limits_{{x_i} \in {R_{jm}}} {{{{{\tilde y}_i}} \over {\sum\limits_{{x_i} \in {R_{jm}}} {\left| {{{\tilde y}_i}\left( {2 - \left| {{{\tilde y}_i}} \right|} \right)} \right|} }}} , j=1,...,J$$<br><strong>logistRank&#x7B97;&#x6CD5;</strong>&#xFF1A;<br>&#x521D;&#x59CB;&#x5316;${F_0}\left( x \right) = \bar y$<br>&#x5BF9;&#x4E8E;$m = 1...N$&#x6B21;&#x8FED;&#x4EE3;&#x4E2D;&#xFF1A;</p>
<ol>
<li>$pseudo-response: {{\tilde y}_i} = {{{y_i}} \over {1 + \exp \left( {{y_i}{F_{m - 1}}\left( {{x_i}} \right)} \right)}}\times scale\left( {label} \right)$</li>
<li>$\left\{ {{R_{jm}}} \right\}_1^J = J &#x4E2A;&#x53F6;&#x7ED3;&#x70B9;&#x7684;&#x56DE;&#x5F52;&#x6811;tree\left\{ {{{\tilde y}_i},{x_i}} \right\}_1^N$</li>
<li>${\gamma _{jm}} = \sum\limits_{{x_i} \in {R_{jm}}} {{{{{\tilde y}_i}} \over {\sum\limits_{{x_i} \in {R_{jm}}} {\left| {{{\tilde y}_i}\left( {2 - \left| {{{\tilde y}_i}} \right|} \right)} \right|} }}} , j=1,...,J$</li>
<li>${F_m}\left( x \right) = {F_{m - 1}}\left( x \right) + \sum\limits_{j = 1}^J {{\gamma _{jm}}1\left( {x \in {R_{jm}}} \right)} $
</li>
</ol>
<p>&#x5F97;&#x5230;$F_m(x)$&#x4F5C;&#x4E3A;&#x6A21;&#x578B;&#x6253;&#x5206;&#x3002;<br>&#x5173;&#x4E8E;scale&#x5BF9;&#x4E0D;&#x540C;label&#x7684;&#x52A0;&#x6743;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#xFF0C;&#x5BF9;&#x4E8E;perfect&#x6216;&#x8005;excellent&#x8FD9;&#x7C7B;&#x6837;&#x672C;&#xFF0C;&#x56DE;&#x5F52;&#x7684;&#x503C;&#x4F1A;&#x66F4;&#x5927;&#xFF0C;&#x4E0D;&#x540C;&#x7B49;&#x7EA7;&#x7684;&#x6B63;&#x4F8B;&#x4E4B;&#x95F4;&#x76F8;&#x5173;&#x6027;&#x7684;&#x533A;&#x522B;&#x5EA6;&#x76F8;&#x5BF9;&#x660E;&#x663E;&#x3002;&#x4E0B;&#x56FE;&#x4E3A;&#x4F5C;&#x8005;&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;&#x5C55;&#x793A;&#xFF1A;<br><img src="/2016/09/18/gbRank-logsitRank-from-up-to-bottom/./1474190976059.png" alt="&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;"><br>&#x96C5;&#x864E;&#x7EBF;&#x4E0A;&#x7ED3;&#x679C;&#x663E;&#x793A;&#xFF0C;LogistRank&#x51CF;&#x5C11;&#x4E86;40%&#x7684;bad document&#xFF0C;&#x5728;DCG5&#x6307;&#x6807;&#x4E0A;&#x63D0;&#x9AD8;&#x4E86;5%&#x3002;</p>
<blockquote>
<p>&#x6709;&#x70B9;&#x56F0;&#x60D1;&#xFF0C;point-wise&#x76EE;&#x524D;&#x4E0D;&#x662F;&#x5F88;&#x6D41;&#x884C;&#x7684;rank&#x65B9;&#x6CD5;&#x3002;&#x6709;&#x4E24;&#x4E2A;&#x7F3A;&#x70B9;&#xFF1A;1.&#x9AD8;&#x9891;query&#x5BF9;&#x5E94;&#x5019;&#x9009;&#x7684;&#x6587;&#x6863;&#x5F88;&#x591A;&#xFF0C;&#x76F8;&#x5173;&#x5EA6;&#x9AD8;&#x7684;&#x6587;&#x6863;&#x5728;&#x8BAD;&#x7EC3;&#x96C6;&#x91CC;&#x9762;&#x7684;label&#x53EF;&#x80FD;&#x88AB;&#x4F4E;&#x4F30;&#xFF0C;&#x800C;&#x5BF9;&#x4E8E;&#x4F4E;&#x9891;&#x957F;&#x5C3E;query&#xFF0C;&#x53EF;&#x6EE1;&#x8DB3;&#x7684;documet&#x76F8;&#x5173;&#x5EA6;&#x8F83;&#x9AD8;&#xFF0C;&#x56E0;&#x6B64;&#x4EBA;&#x5DE5;&#x6807;&#x51C6;&#x91CC;&#x9762;&#x7684;label&#x53EF;&#x80FD;&#x88AB;&#x9AD8;&#x4F30;&#x3002;&#x8FD9;&#x6837;&#x5E26;&#x6765;&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#x7684;&#x4E0D;&#x4E00;&#x81F4;&#x6027;&#x3002;&#x6B64;&#x5916;&#xFF0C;&#x540C;&#x4E00;&#x6863;&#x7684;&#x6587;&#x6863;&#xFF08;&#x4F8B;&#x5982;perfect&#x91CC;&#x9762;&#x7684;&#x4E24;&#x7BC7;&#x6587;&#x7AE0;&#xFF09;&#x4E0D;&#x80FD;&#x76F8;&#x4E92;&#x533A;&#x5206;&#x3002;<br>&#x5F53;&#x7136;pair-wise&#x4E5F;&#x6709;&#x5B83;&#x7684;&#x95EE;&#x9898;&#x3002;1. &#x53EA;&#x6709;<query1, document1="">&#xFF0C; <query1, document2="">pair&#x4E4B;&#x95F4;&#x7684;&#x987A;&#x5E8F;&#xFF0C;&#x5E76;&#x4E0D;&#x8003;&#x8651;&#x5728;&#x5168;&#x5C40;&#x7684;&#x987A;&#x5E8F;&#xFF0C;&#x5B9E;&#x9645;&#x4E0A;&#x6392;&#x7B2C;1&#x4F4D;&#x7F6E;&#x548C;&#x6392;&#x5728;&#x7B2C;5&#x4F4D;&#x7F6E;&#x7684;&#x53D1;&#x751F;&#x9519;&#x8BEF;&#x5E94;&#x8BE5;&#x8FDB;&#x884C;&#x4E0D;&#x540C;&#x7A0B;&#x5EA6;&#x7684;&#x60E9;&#x7F5A;&#xFF0C;&#x9700;&#x8981;&#x5F15;&#x5165;&#x4F4D;&#x7F6E;&#x56E0;&#x7D20;&#x3002;2. &#x5BF9;&#x4E8E;&#x4E0D;&#x540C;&#x7684;&#x67E5;&#x8BE2;&#x76F8;&#x5173;&#x6587;&#x6863;&#x96C6;&#x7684;&#x6570;&#x91CF;&#x5DEE;&#x5F02;&#x5F88;&#x5927;&#xFF0C;&#x8F6C;&#x6362;&#x4E3A;&#x6587;&#x6863;&#x5BF9;&#x540E;&#xFF0C;&#x4F1A;&#x5E26;&#x6765;&#x8BAD;&#x7EC3;&#x96C6;&#x6709;&#x504F;&#x3002;&#x6709;&#x7684;&#x67E5;&#x8BE2;&#x53EF;&#x80FD;&#x53EA;&#x6709;&#x5341;&#x51E0;&#x4E2A;&#x6587;&#x6863;&#x5BF9;&#xFF0C;&#x800C;&#x6709;&#x7684;&#x67E5;&#x8BE2;&#x53EF;&#x80FD;&#x4F1A;&#x6709;&#x6570;&#x767E;&#x4E2A;&#x5BF9;&#x5E94;&#x7684;&#x6587;&#x6863;&#x5BF9;&#xFF0C;&#x8FD9;&#x5BF9;&#x5B66;&#x4E60;&#x7CFB;&#x7EDF;&#x7684;&#x6548;&#x679C;&#x8BC4;&#x4EF7;&#x5E26;&#x6765;&#x4E86;&#x504F;&#x7F6E;&#x3002;&#x5047;&#x8BBE;&#x67E5;&#x8BE2;1&#x5BF9;&#x5E94;500&#x4E2A;&#x6587;&#x6863;&#x5BF9;&#xFF0C;&#x67E5;&#x8BE2;2&#x5BF9;&#x5E94;10&#x4E2A;&#x6587;&#x6863;&#x5BF9;&#xFF0C;&#x5047;&#x8BBE;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x7CFB;&#x7EDF;&#x5BF9;&#x5E94;&#x67E5;&#x8BE2;1&#x80FD;&#x591F;&#x5224;&#x65AD;&#x6B63;&#x786E;480&#x4E2A;&#x6587;&#x6863;&#x5BF9;&#xFF0C;&#x5BF9;&#x5E94;&#x67E5;&#x8BE2;2&#x80FD;&#x591F;&#x5224;&#x65AD;&#x6B63;&#x786E;2&#x4E2A;&#x3002;&#x5BF9;&#x4E8E;&#x603B;&#x7684;&#x6587;&#x6863;&#x5BF9;&#x8BE5;&#x7CFB;&#x7EDF;&#x51C6;&#x786E;&#x7387;&#x662F;&#xFF08;480+2&#xFF09;/&#xFF08;500+10&#xFF09;=95%&#xFF0C;&#x4F46;&#x4ECE;&#x67E5;&#x8BE2;&#x7684;&#x89D2;&#x5EA6;&#xFF0C;&#x4E24;&#x4E2A;&#x67E5;&#x8BE2;&#x5BF9;&#x5E94;&#x7684;&#x51C6;&#x786E;&#x7387;&#x5206;&#x522B;&#x4E3A;&#xFF1A;96%&#x548C;20%&#xFF0C;&#x5E73;&#x5747;&#x4E3A;58%&#xFF0C;&#x4E0E;&#x603B;&#x7684;&#x6587;&#x6863;&#x5BF9;&#x5224;&#x65AD;&#x51C6;&#x786E;&#x7387;&#x76F8;&#x5DEE;&#x5DE8;&#x5927;&#xFF0C;&#x8FD9;&#x5C06;&#x4F7F;&#x5F97;&#x6A21;&#x578B;&#x504F;&#x5411;&#x4E8E;&#x76F8;&#x5173;&#x6587;&#x6863;&#x96C6;&#x5927;&#x7684;&#x67E5;&#x8BE2;[10]&#x3002;<br>&#x8BF7;&#x6559;l2r&#x7684;&#x540C;&#x4E8B;&#xFF0C;&#x5B9E;&#x9A8C;&#x91CC;&#x9762;&#x6CA1;&#x6709;&#x5BF9;gbrank&#x505A;&#x540C;&#x6837;&#x7684;&#x6B63;&#x4F8B;&#x52A0;&#x6743;(scale)&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x6BD4;&#x8F83;&#x53EF;&#x80FD;&#x4E0D;&#x592A;&#x516C;&#x5141;&#xFF0C;&#x56E0;&#x4E3A;&#x5F88;&#x96BE;&#x786E;&#x5B9A;&#x63D0;&#x5347;&#x90E8;&#x5206;&#x662F;&#x6765;&#x81EA;scale&#x8FD8;&#x662F;&#x8BF4;loss function&#x7684;&#x6539;&#x53D8;&#x3002;</query1,></query1,></p>
</blockquote>
<p>&#x9644;&#x5F55;&#xFF1A;&#x725B;&#x987F;-&#x62C9;&#x592B;&#x68EE;&#x8FED;&#x4EE3;&#xFF08;<a href="http://baike.baidu.com/view/643093.htm" target="_blank" rel="external">&#x767E;&#x79D1;&#x5730;&#x5740;</a>&#xFF09;<br><img src="/2016/09/18/gbRank-logsitRank-from-up-to-bottom/./1474034034847.png" alt="&#x725B;&#x987F;-&#x62C9;&#x592B;&#x68EE;&#x767E;&#x79D1;"></p>
<p>[1]J. Friedman. Greedy function approximation: a gradient boosting machine. Ann. Statist.,  2001<br>[2]Y. Freund, R. Iyer, R. Schapire and Y. Singer. An ecient boosting algorithm for combining preferences. Journal of Machine 2Learning Research,  2003.<br>[3]T. Joachims. Optimizing search engines using clickthrough data. Proceedings of the ACM Conference on Knowledge Discovery and Data Mining, 2002.<br>[4]T. Joachims. Evaluating retrieval performance using clickthrough data. Proceedings of the SIGIR Workshop on Mathematical/Formal Methods in Information Retrieval, 2002.<br>[5] T. Joachims, L. Granka, B. Pang, H. Hembrooke, and G. Gay. Accurately Interpreting Clickthrough Data as Implicit Feedback. Proceedings of the Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 2005.<br>[6]C. Burges, T. Shaked, E. Renshaw, A. Lazier, M. Deeds, N. Hamilton, and G. Hullender. Learning to rank using gradient descent. Proceedings of international conference on Machine learning, 89{96, 2005.<br>[7]Zheng Z, Zha H, Chen K, et al. Regression Framework for Learning Ranking Functions using Relative Preferences[J]. 2008.&#x5BF9;&#x5E94;&#x4E13;&#x5229;:<a href="http://pan.baidu.com/s/1pLPGHtx" target="_blank" rel="external">&#x767E;&#x5EA6;&#x4E91;&#x76D8;&#x94FE;&#x63A5;</a><br>[8] <a href="http://kubicode.me/2016/05/08/Machine%20Learning/GBRank-A-PairWsie-LTR-Base-on-Regression-Framework/" target="_blank" rel="external">GBRank:&#x4E00;&#x79CD;&#x57FA;&#x4E8E;&#x56DE;&#x5F52;&#x7684;&#x5B66;&#x4E60;&#x6392;&#x5E8F;&#x7B97;&#x6CD5;</a>, 2016<br>[9] C. J. C. Burges. From RankNet to LambdaRank to LambdaMART: An overview. Technical report, Microsoft Research, 2010.<br>[10] <a href="http://blog.csdn.net/nanjunxiao/article/details/8976195" target="_blank" rel="external">&#x5B66;&#x4E60;&#x6392;&#x5E8F; Learning to Rank &#x5C0F;&#x7ED3;</a><br>[11] <a href="http://mlnote.com/2016/09/24/gradient-boosting-decision-tree-1/">gradient boosting decision tree[&#x4E0A;&#x7BC7;]</a><br>[12] <a href="http://mlnote.com/2016/10/02/gradient-boosting-decision-tree-2/">gradient boosting decision tree[&#x4E0B;&#x7BC7;]</a></p>
<p>ShawnXiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x4E0A;&amp;#x4E00;&amp;#x7BC7;&lt;a href=&quot;https://qiugen.github.io/2016/09/13/Ranking-Relevance-in-Yahoo-Search/&quot; target=&quot;_blank&quot; rel=&quot;external&quot;&gt;R
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="learning to rank" scheme="https://mlnote.com/tags/learning-to-rank/"/>
    
      <category term="gbRank" scheme="https://mlnote.com/tags/gbRank/"/>
    
      <category term="logisticRank" scheme="https://mlnote.com/tags/logisticRank/"/>
    
  </entry>
  
  <entry>
    <title>[笔记]Ranking Relevance in Yahoo Search</title>
    <link href="https://mlnote.com/2016/09/13/Ranking-Relevance-in-Yahoo-Search/"/>
    <id>https://mlnote.com/2016/09/13/Ranking-Relevance-in-Yahoo-Search/</id>
    <published>2016-09-12T16:00:00.000Z</published>
    <updated>2016-10-23T16:15:13.329Z</updated>
    
    <content type="html"><![CDATA[<p>&#x6587;&#x7AE0;&#x4ECB;&#x7ECD;&#x4E86;&#x96C5;&#x864E;&#x5728;&#x4F18;&#x5316;&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x6392;&#x5E8F;&#x7684;&#x90E8;&#x5206;&#x5DE5;&#x4F5C;&#xFF0C;&#x4E3B;&#x8981;&#x4ECB;&#x7ECD;&#x4E86;&#x6392;&#x5E8F;&#x51FD;&#x6570;(ranking function), &#x8BED;&#x4E49;&#x76F8;&#x4F3C;&#x7279;&#x5F81;(semantic matching features), &#x6539;&#x5199;(query rewriting)&#x3002;&#x7ED9;&#x51FA;&#x4E86;&#x68C0;&#x7D22;&#x7ED3;&#x679C;&#x540C;&#x65F6;&#x6EE1;&#x8DB3;&#x65F6;&#x6548;&#x6027;&#x548C;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x76F8;&#x5173;&#x5EA6;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x3002;</p>
<h4 id="&#x80CC;&#x666F;&#x4ECB;&#x7ECD;&#xFF0C;&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x4E2D;query&#x68C0;&#x7D22;&#x7684;&#x4E3B;&#x8981;&#x95EE;&#x9898;&#xFF1A;"><a href="#&#x80CC;&#x666F;&#x4ECB;&#x7ECD;&#xFF0C;&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x4E2D;query&#x68C0;&#x7D22;&#x7684;&#x4E3B;&#x8981;&#x95EE;&#x9898;&#xFF1A;" class="headerlink" title="&#x80CC;&#x666F;&#x4ECB;&#x7ECD;&#xFF0C;&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x4E2D;query&#x68C0;&#x7D22;&#x7684;&#x4E3B;&#x8981;&#x95EE;&#x9898;&#xFF1A;"></a>&#x80CC;&#x666F;&#x4ECB;&#x7ECD;&#xFF0C;&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x4E2D;query&#x68C0;&#x7D22;&#x7684;&#x4E3B;&#x8981;&#x95EE;&#x9898;&#xFF1A;</h4><ol>
<li>query&#x548C;document&#x6784;&#x8BCD;&#x4E0D;&#x592A;&#x4E00;&#x6837;&#x3002;&#x4F8B;&#x5982;query&#x4E2D;&#x4E3A;&#x201D;how much tesla&#x201D;&#xFF0C;&#x800C;&#x6587;&#x6863;&#x4E2D;&#x66F4;&#x591A;&#x7684;&#x662F;&#x201D;price of tesla&#x201D;&#x3002;</li>
<li>&#x4F4E;&#x9891;&#x957F;&#x5C3E;&#x7F51;&#x9875;&#x7684;&#x7528;&#x6237;&#x70B9;&#x51FB;&#x4E0D;&#x53EF;&#x7528;&#xFF0C;click modeling&#x5931;&#x6548;</li>
<li>&#x7528;&#x6237;&#x7684;&#x4E00;&#x4E9B;&#x63D0;&#x95EE;&#x8868;&#x8FBE;&#x6216;&#x8005;&#x53E3;&#x8BED;&#x5316;&#x8868;&#x8FBE;&#xFF0C;&#x5982;&#x4F55;&#x8FDB;&#x884C;&#x610F;&#x56FE;&#x7406;&#x89E3;</li>
<li>&#x65F6;&#x95F4;&#x7EF4;&#x5EA6;&#x7684;&#x6EE1;&#x8DB3;&#xFF0C;&#x4F8B;&#x5982;&#x201D;the safest cat&#x201D;&#xFF0C;&#x8FD4;&#x56DE;&#x201D;the safest cat is the 1998 toyota celica&#x201D;&#x53EF;&#x80FD;&#x4E0D;&#x6EE1;&#x8DB3;&#x7528;&#x6237;&#x7684;&#x9700;&#x6C42;&#x3002;</li>
<li>&#x7A7A;&#x95F4;&#x7EF4;&#x5EA6;&#x7684;&#x6EE1;&#x8DB3;&#xFF0C;&#x5F53;&#x7528;&#x6237;&#x641C;&#x7D22;&#x201D;restaurant&#x201D;&#x548C;&#x201D;walmart&#x201D;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x4ECE;&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x4E2D;&#x5F97;&#x5230;&#x7ED3;&#x679C;&#xFF0C;&#x6309;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x5C31;&#x8FD1;&#x6EE1;&#x8DB3;</li>
</ol>
<h4 id="&#x6587;&#x7AE0;&#x5BF9;&#x4E8E;&#x4E0A;&#x8FF0;&#x95EE;&#x9898;&#x5C55;&#x5F00;&#x4E86;&#x53D9;&#x8FF0;"><a href="#&#x6587;&#x7AE0;&#x5BF9;&#x4E8E;&#x4E0A;&#x8FF0;&#x95EE;&#x9898;&#x5C55;&#x5F00;&#x4E86;&#x53D9;&#x8FF0;" class="headerlink" title="&#x6587;&#x7AE0;&#x5BF9;&#x4E8E;&#x4E0A;&#x8FF0;&#x95EE;&#x9898;&#x5C55;&#x5F00;&#x4E86;&#x53D9;&#x8FF0;"></a>&#x6587;&#x7AE0;&#x5BF9;&#x4E8E;&#x4E0A;&#x8FF0;&#x95EE;&#x9898;&#x5C55;&#x5F00;&#x4E86;&#x53D9;&#x8FF0;</h4><ol>
<li>&#x4ECB;&#x7ECD;&#x4E86;&#x96C5;&#x864E;&#x6700;work&#x7684;&#x6392;&#x5E8F;&#x51FD;&#x6570;&#xFF0C;&#x63D0;&#x51FA;&#x7EBF;&#x4E0B;&#x8BC4;&#x4F30;&#x7ED3;&#x679C;&#x548C;&#x5728;&#x7EBF;&#x641C;&#x7D22;&#x4F53;&#x9A8C;&#x7684;&#x4F18;&#x5316;&#x70B9;&#x3002;</li>
<li>&#x63A2;&#x7D22;&#x5982;&#x4F55;&#x5C06;&#x7528;&#x6237;&#x7684;&#x70B9;&#x51FB;&#x4FE1;&#x606F;&#x4ECE;&#x9AD8;&#x9891;query&#x8F6C;&#x79FB;&#x5230;&#x4F4E;&#x9891;query&#x3002;</li>
<li>&#x901A;&#x8FC7;&#x6539;&#x5199;&#x63D0;&#x9AD8;&#x76F8;&#x5173;&#x6027;&#xFF0C;&#x5C24;&#x5176;&#x662F;&#x4F4E;&#x9891;query&#x7684;&#x76F8;&#x5173;&#x6027;&#x3002;</li>
<li>&#x63D0;&#x51FA;&#x4E86;&#x65F6;&#x95F4;&#x7A7A;&#x95F4;(LBS)&#x76F8;&#x5173;&#x6027;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;</li>
</ol>
<h4 id="&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x57FA;&#x7840;&#x77E5;&#x8BC6;&#xFF1A;"><a href="#&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x57FA;&#x7840;&#x77E5;&#x8BC6;&#xFF1A;" class="headerlink" title="&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x57FA;&#x7840;&#x77E5;&#x8BC6;&#xFF1A;"></a>&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x57FA;&#x7840;&#x77E5;&#x8BC6;&#xFF1A;</h4><ol>
<li>&#x641C;&#x7D22;&#x5F15;&#x64CE;&#x7684;&#x6574;&#x4F53;&#x67B6;&#x6784;&#xFF1A;<br>&#x91C7;&#x7528;&#x5206;&#x6CBB;&#x601D;&#x8DEF;&#xFF0C;&#x6587;&#x6863;&#x901A;&#x8FC7;url&#x8BA1;&#x7B97;md5&#xFF0C;&#x6839;&#x636E;md5&#x8FDB;&#x884C;&#x5206;&#x5E03;&#x5F0F;&#x5B58;&#x50A8;&#xFF0C;&#x6BCF;&#x4E2A;&#x673A;&#x5668;&#x89C6;&#x4E3A;&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#xFF0C;&#x53EF;&#x4EE5;&#x5E76;&#x884C;&#x5DE5;&#x4F5C;&#x3002;&#x5F53;&#x53D1;&#x751F;query&#x67E5;&#x8BE2;&#x65F6;&#xFF0C;&#x7B2C;&#x4E00;&#x8F6E;<strong>&#x7C97;&#x6392;&#x5E8F;</strong>&#xFF0C;&#x5148;&#x5728;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x4E2D;&#x627E;&#x5230;&#x6240;&#x6709;&#x5339;&#x914D;&#x8BE5;query&#x7684;&#x6587;&#x6863;&#xFF0C;&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x5B8C;&#x6210;&#x6587;&#x6863;&#x53EC;&#x56DE;&#xFF0C;&#x8FD9;&#x91CC;&#x4F1A;&#x5BF9;&#x6587;&#x6863;&#x8FDB;&#x884C;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7684;&#x6253;&#x5206;&#x548C;&#x53BB;&#x91CD;&#xFF0C;&#x8FD4;&#x56DE;&#x6307;&#x5B9A;&#x6570;&#x76EE;&#x7684;&#x5019;&#x9009;&#x6587;&#x6863;&#xFF0C;&#x540C;&#x65F6;&#x5BF9;&#x8FD9;&#x4E9B;&#x9009;&#x5B9A;&#x6587;&#x6863;&#x8FDB;&#x884C;query&#x76F8;&#x5173;&#x7279;&#x5F81;&#x62BD;&#x53D6;&#x3002;&#x8FDB;&#x5165;&#x7B2C;&#x4E8C;&#x8F6E;<strong>&#x7CBE;&#x6392;&#x5E8F;</strong>&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x6838;&#x5FC3;&#x6392;&#x5E8F;&#x51FD;&#x6570;(Core Ranking Function)&#x6253;&#x5206;&#xFF0C;&#x5F97;&#x5230;&#x6700;&#x4F73;&#x7684;&#x6587;&#x6863;&#x3002;</li>
<li><p>&#x6240;&#x7528;&#x5230;&#x7684;&#x7279;&#x5F81;&#x5982;&#x4E0B;&#xFF1A;</p>
<ol>
<li>Web graph, &#x901A;&#x8FC7;www&#x7684;&#x94FE;&#x63A5;&#x60C5;&#x51B5;&#x8FDB;&#x884C;&#x6587;&#x6863;&#x8D28;&#x91CF;&#x6253;&#x5206;&#xFF0C;&#x8FD9;&#x91CC;&#x6709;&#x5927;&#x540D;&#x9F0E;&#x9F0E;&#x7684;pagerank</li>
<li>Document statistics&#xFF0C;&#x4E00;&#x4E9B;&#x6587;&#x6863;&#x76F8;&#x5173;&#x7684;&#x57FA;&#x7840;&#x7EDF;&#x8BA1;&#x7279;&#x5F81;&#xFF0C;&#x5982;&#x8BCD;&#x9891;&#xFF0C;&#x8BCD;&#x7684;&#x6570;&#x76EE;&#x7B49;&#x7B49;</li>
<li>Document classifier&#xFF0C;&#x4F1A;&#x7528;&#x5230;&#x4E00;&#x7CFB;&#x5217;&#x5206;&#x7C7B;&#x5668;&#xFF0C;&#x5224;&#x65AD;&#x662F;&#x5426;&#x4F5C;&#x5F0A;&#x6587;&#x6863;&#xFF0C;&#x662F;&#x5426;&#x8272;&#x60C5;&#xFF0C;&#x6587;&#x6863;&#x8BED;&#x8A00;&#xFF0C;&#x4E3B;&#x9898;&#xFF0C;&#x8D28;&#x91CF;&#x548C;&#x9875;&#x9762;&#x7C7B;&#x578B;&#x3002;</li>
<li>Query features&#xFF0C; &#x8BCD;&#x7684;&#x6570;&#x76EE;&#xFF0C;query&#x9891;&#x6B21;&#x548C;&#x5176;&#x4E2D;&#x4E0D;&#x540C;&#x8BCD;&#x7684;&#x8BCD;&#x9891;</li>
<li>Text match&#xFF0C; &#x5305;&#x62EC;&#x8BCD;&#x4E4B;&#x95F4;&#x7684;&#x5339;&#x914D;&#xFF0C;&#x4F8B;&#x5982;(query-doc.title), (query-doc.url), (query, doc.keywords), (query, doc.abstract)&#x7B49;&#x7B49;&#x3002;&#x8FD9;&#x4E9B;&#x7279;&#x5F81;&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x7EC4;&#x5408;&#x5F62;&#x6210;&#x65B0;&#x7684;&#x7279;&#x5F81;&#xFF0C;&#x4F8B;&#x5982;BM25. &#x4EE5;&#x6B64;&#x5224;&#x65AD;&#x6587;&#x6863;&#x548C;query&#x7684;&#x5339;&#x914D;&#x7A0B;&#x5EA6;</li>
<li>Topical matching&#xFF0C; &#x8BED;&#x4E49;&#x5C42;&#x9762;&#x7684;&#x5339;&#x914D;&#x3002;</li>
<li>Click&#xFF0C; &#x5229;&#x7528;&#x7528;&#x6237;&#x7684;&#x70B9;&#x51FB;&#x4FE1;&#x606F;&#xFF0C;&#x9884;&#x6D4B;&#x5305;&#x62EC;prob of click, first click, last click, long dwell time click or only click&#x3002;</li>
<li>Time&#xFF0C; &#x5BF9;&#x4E8E;&#x5F3A;&#x65F6;&#x6548;&#x6027;&#x9700;&#x6C42;&#x7684;query&#xFF0C;&#x6587;&#x6863;&#x7684;&#x65F6;&#x6548;&#x6027;&#x8981;&#x6C42;&#x5F88;&#x9AD8;&#x3002;</li>
</ol>
</li>
<li><p>&#x6392;&#x5E8F;&#x7ED3;&#x679C;&#x7684;&#x8BC4;&#x4EF7;&#x6307;&#x6807;&#x2013;&#x641C;&#x7D22;&#x76F8;&#x5173;&#x6027;<br>&#x9010;&#x6761;&#x5BF9;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x8FDB;&#x884C;&#x5206;&#x7B49;&#x7EA7;&#x7684;&#x6253;&#x5206;, &#x5206;&#x6570;&#x6709;&#x4E94;&#x6863;{Perfect: 5&#x5206;, Excellent: 4&#x5206;, Good: 3&#x5206;, Fair: 2&#x5206;, Bad: 1&#x5206;}&#xFF0C;&#x5047;&#x8BBE;&#x6587;&#x6863;&#x5728;&#x6392;&#x5E8F;&#x540E;&#x7684;&#x7ED3;&#x679C;&#x5217;&#x8868;&#x4E2D;&#x4F4D;&#x7F6E;&#x4E3A;[1,N]&#xFF0C;&#x7528;&#x5982;&#x4E0B;DCG(Discounted Cumulative Gain)&#x4F5C;&#x4E3A;&#x8861;&#x91CF;&#x6307;&#x6807;&#xFF1A;</p>
$$DC{G_N} = \sum\limits_{i = 1}^N {{{{G_i}} \over {{{\log }_2}\left( {i + 1} \right)}}} $$
<p>&#x6309;&#xFF1A;&#x4E3A;&#x4E86;&#x4F7F;&#x5F97;&#x4E0D;&#x540C;query&#x4E0B;&#x7684;&#x7ED3;&#x679C;&#x5BB9;&#x6613;&#x6BD4;&#x8F83;&#xFF0C;&#x5BF9;DCG&#x8FDB;&#x884C;&#x5F52;&#x4E00;&#x5316;&#x5F97;&#x5230;$NDCG = {{DCG} \over {\max \_DCG}}$&#x3002;&#x4F5C;&#x8005;&#x4E3A;&#x4E86;&#x8BC4;&#x4F30;&#x65F6;&#x95F4;&#x76F8;&#x5173;&#x6027;&#xFF0C;&#x5F15;&#x5165;&#x65F6;&#x95F4;&#x7684;&#x8BC4;&#x4EF7;&#x6307;&#x6807;DCR&#x548C;&#x4E8C;&#x8005;&#x7684;&#x7EFC;&#x5408;&#x6307;&#x6807;RDDCG&#xFF0C;&#x540E;&#x7EED;&#x5185;&#x5BB9;&#x4F1A;&#x8FDB;&#x4E00;&#x6B65;&#x4ECB;&#x7ECD;&#x3002;<br>&#x4E0B;&#x9762;&#x4ECB;&#x7ECD;&#x4E0B;&#x6D4B;&#x8BD5;&#x96C6;&#xFF0C;&#x4ECE;&#x4E00;&#x5E74;log&#x91CC;&#x9762;&#x968F;&#x673A;&#x62BD;&#x53D6;&#x51FA;2000query&#xFF0C;&#x6309;query&#x7684;&#x9891;&#x6B21;&#x53C8;&#x53EF;&#x4EE5;&#x7EC6;&#x5206;&#x4E3A;&#x9AD8;&#x9891;&#xFF0C;&#x4E2D;&#x9891;&#xFF0C;&#x4F4E;&#x9891;&#x4E09;&#x6863;&#x3002;&#x4E2D;&#x9891;query&#x57FA;&#x672C;&#x4E0A;&#x4E00;&#x5E74;&#x5C31;&#x51E0;&#x6B21;&#x70B9;&#x51FB;&#xFF0C;&#x4F4E;&#x9891;&#x7684;&#x8BDD;&#x5E73;&#x5747;&#x4E00;&#x5E74;&#x4E0D;&#x5230;&#x4E00;&#x6B21;&#x7528;&#x6237;&#x70B9;&#x51FB;&#xFF0C;&#x7528;&#x6237;&#x70B9;&#x51FB;&#x4FE1;&#x606F;&#x5BF9;&#x4F4E;&#x9891;query&#x57FA;&#x672C;&#x65E0;&#x6548;&#x3002;&#x6587;&#x7AE0;&#x4E3B;&#x8981;&#x5BF9;&#x4E2D;&#x4F4E;&#x9891;query&#x76F8;&#x5173;&#x6027;&#x8FDB;&#x884C;&#x4F18;&#x5316;&#x3002;</p>
</li>
</ol>
<h4 id="&#x7528;&#x4E8E;&#x6392;&#x5E8F;&#x7684;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x6A21;&#x578B;&#x2013;gradient-boosting-decision-trees"><a href="#&#x7528;&#x4E8E;&#x6392;&#x5E8F;&#x7684;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x6A21;&#x578B;&#x2013;gradient-boosting-decision-trees" class="headerlink" title="&#x7528;&#x4E8E;&#x6392;&#x5E8F;&#x7684;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x6A21;&#x578B;&#x2013;gradient boosting decision trees"></a>&#x7528;&#x4E8E;&#x6392;&#x5E8F;&#x7684;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x6A21;&#x578B;&#x2013;gradient boosting decision trees</h4><p>GBDT&#x4F5C;&#x4E3A;&#x7B2C;&#x4E8C;&#x8F6E;&#x6392;&#x5E8F;&#x7684;&#x6253;&#x5206;&#x6A21;&#x578B;&#xFF0C;&#x4E3A;&#x4E86;&#x51CF;&#x5C11;bad/fair url&#xFF0C;&#x4F5C;&#x8005;&#x9009;&#x7528;(logistic loss)&#x635F;&#x5931;&#x51FD;&#x6570;&#x3002;&#x5982;&#x679C;&#x5C06;&#x4E94;&#x6863;&#x6253;&#x5206;&#x4E2D;&#x7684;{perfect, excellent, good}&#x89C6;&#x4E3A;&#x6B63;&#x4F8B;(positive, +1)&#xFF0C;{fair, bad}&#x89C6;&#x4E3A;&#x8D1F;&#x4F8B;(negative, -1)&#xFF0C;&#x5F97;&#x5230;&#x7684;&#x635F;&#x5931;&#x51FD;&#x6570;&#x4E3A;&#xFF1A;<br>$$L\left( {y,F} \right) = \log \left( {1 + \exp \left( { - yF} \right)} \right),y \in \left\{ {1, - 1} \right\}$$<br>&#x5728;&#x8BAD;&#x7EC3;&#x9636;&#x6BB5;&#x7B2C;$m$&#x8F6E;&#x7684;&#x5B66;&#x4E60;&#x76EE;&#x6807;<em>pseudo-residuals</em>&#xFF0C;&#x5373;&#x68AF;&#x5EA6;&#x4E3A;&#xFF1A;$$ - {g_m}\left( {{x_i}} \right) =  - {\left[ {{{\partial L\left( {{y_i},F\left( {{x_i}} \right)} \right)} \over {\partial F\left( {{x_i}} \right)}}} \right]_{F\left( x \right) = {F_{m - 1}}\left( x \right)}} = {{yi} \over {1 + \exp \left( {{y_i}{F_{m - 1}}\left( {{x_i}} \right)} \right)}}$$<br>Logistic loss&#x5728;2&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x4E2D;&#xFF0C;&#x80FD;&#x6709;&#x6548;&#x964D;&#x4F4E;&#x4E0D;&#x76F8;&#x5173;url&#x5728;&#x6392;&#x5E8F;&#x7ED3;&#x679C;&#x4E2D;&#x5934;&#x90E8;&#x5360;&#x6BD4;&#xFF0C;&#x8BE5;loss&#x9664;&#x4E86;&#x7528;&#x5728;&#x5206;&#x7C7B;&#xFF0C;&#x8FD8;&#x80FD;&#x63D0;&#x4F9B;&#x8F83;&#x4E3A;&#x53EF;&#x9760;&#x7684;&#x6392;&#x5E8F;&#x3002;&#x548C;hinge loss&#x4E0D;&#x540C;&#xFF0C;&#x5B83;&#x80FD;&#x5C06;positive/negative&#x5F80;positive/negative&#x4E24;&#x4E2A;&#x65B9;&#x5411;&#x62C9;&#x5F00;&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x8BDD;&#xFF0C;&#x5982;&#x679C;&#x4E00;&#x4E2A;url&#x7684;&#x76F8;&#x5173;&#x6027;&#x662F;perfect&#xFF0C;&#x90A3;&#x4E48;&#x5B83;&#x4F1A;&#x8DDD;&#x79BB;&#x51B3;&#x7B56;&#x5E73;&#x9762;&#x8FDC;&#x4E00;&#x4E9B;&#xFF08;&#x6309;&#xFF1A;&#x653E;&#x5230;&#x4E0B;&#x4E00;&#x7BC7;&#x8FDB;&#x4E00;&#x6B65;&#x63A2;&#x8BA8;&#xFF09;&#x3002;<br>&#x5F53;&#x7136;&#x4EC5;&#x6709;&#x6B63;&#x8D1F;&#x4E8C;&#x7C7B;&#x5BF9;&#x4E8E;&#x6392;&#x5E8F;&#x800C;&#x8A00;&#x662F;&#x4E0D;&#x8DB3;&#x7684;&#xFF0C;&#x4E3A;&#x4E86;&#x523B;&#x753B;{perfec, excellent,good}&#x4E09;&#x79CD;&#x4E0D;&#x540C;&#x7684;&#x76F8;&#x5173;&#x6027;label&#xFF0C;&#x4F5C;&#x8005;&#x5F15;&#x5165;&#x4E86;&#x68AF;&#x5EA6;scale&#x56E0;&#x5B50;&#xFF0C;&#x5BF9;&#x4E8E;&#x4E0D;&#x540C;&#x7684;label&#x7ED9;&#x4E88;&#x4E0D;&#x540C;&#x7684;&#x68AF;&#x5EA6;scale&#x56E0;&#x5B50;{&#x4F8B;&#x5982;&#xFF1A;perfect:3, excellent:2, good:1}&#x3002;&#x7ECF;&#x8FC7;&#x8C03;&#x6574;&#x4EE5;&#x540E;&#xFF0C;&#x7B2C;$m$&#x8F6E;&#x7684;&#x5B66;&#x4E60;&#x76EE;&#x6807;<em>pseudo-residuals</em>&#x4E3A;&#xFF1A;<br>$$pseudo - residuals\left( x \right) =  - {g_m}\left( {{x_i}} \right) \times scale\left( {label} \right)$$<br>&#x5176;&#x4E2D;&#xFF1A;scale(<em>perfect</em>)=3&#xFF0C;scale(<em>excellent</em>)=2&#xFF0C;scale(<em>good | fair | bad </em>)= 1.&#x8FD9;&#x79CD;&#x65B9;&#x6CD5;&#x7B49;&#x4EF7;&#x4E8E;&#x7ED9;&#x4E0D;&#x540C;&#x7684;label&#x6837;&#x672C;&#x8FDB;&#x884C;&#x52A0;&#x6743;&#xFF0C;&#x5F71;&#x54CD;&#x6BCF;&#x4E00;&#x8F6E;&#x6811;&#x7684;&#x6784;&#x9020;&#x3002;scale&#x56E0;&#x5B50;&#x5728;&#x4F20;&#x7EDF;GBDT&#x8BAD;&#x7EC3;&#x8FC7;&#x7A0B;&#x4E2D;(&#x6B65;&#x9AA4;2.1)&#x53D1;&#x751F;&#x4F5C;&#x7528;&#x3002;&#x4F5C;&#x8005;&#x5C06;&#x8FD9;&#x79CD;&#x65B9;&#x6CD5;&#x547D;&#x540D;&#x4E3A;<em>LogisticRank</em>&#x3002;&#x9644;&#x4E0A;&#x4F20;&#x7EDF;GBDT&#x8BAD;&#x7EC3;<a href="https://en.wikipedia.org/wiki/Gradient_boosting" target="_blank" rel="external">&#x4F2A;&#x4EE3;&#x7801;(wikipedia)</a>&#xFF1A;<img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473595291665.png" alt="&#x56FE;1"><br><strong>&#x5B9E;&#x9A8C;&#x8BBE;&#x5B9A;</strong>&#xFF1A;<br>&#x53C2;&#x7167;&#x6A21;&#x578B;1 GBrank[34]&#xFF1A;loss&#x4E3A;pointwise+pairwise&#x3002;&#x53C2;&#x7167;&#x6A21;&#x578B;2 LambdaMart[4]<br><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473596376949.png" alt="&#x5B9E;&#x9A8C;&#x6548;&#x679C;&#x56FE;"><br>&#x4F5C;&#x8005;&#x89C2;&#x5BDF;&#x5B9E;&#x9A8C;&#x4E2D;LogisticRank&#x4E3B;&#x8981;&#x6536;&#x76CA;&#x5728;&#x6392;&#x9664;&#x4E0D;&#x76F8;&#x5173;&#x7684;&#x7ED3;&#x679C;&#x3002;&#x5B9E;&#x9A8C;&#x73AF;&#x5883;&#x548C;&#x7EBF;&#x4E0A;&#x771F;&#x5B9E;&#x73AF;&#x5883;&#x4E0D;&#x4E00;&#x6837;&#xFF0C;&#x610F;&#x5473;&#x7740;&#x7EBF;&#x4E0B;&#x6709;&#x8FD9;&#x4E48;&#x5927;&#x63D0;&#x5347;&#xFF0C;&#x7EBF;&#x4E0A;&#x7684;&#x63D0;&#x5347;&#x5E45;&#x5EA6;&#x53EF;&#x80FD;&#x6CA1;&#x90A3;&#x4E48;&#x4E50;&#x89C2;&#x3002;&#x4E0B;&#x9762;&#x7684;&#x5B9E;&#x9A8C;&#x4E2D;&#x6A21;&#x578B;&#x56FA;&#x5B9A;&#x4E3A;LogistcalRank&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x57FA;&#x7840;&#x4E0A;&#x5C55;&#x5F00;&#x5176;&#x4ED6;&#x65B9;&#x9762;&#x7684;&#x63A2;&#x7D22;&#x3002;</p>
<h4 id="&#x57FA;&#x4E8E;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x91CD;&#x6392;&#x5E8F;-Contextual-Reranking"><a href="#&#x57FA;&#x4E8E;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x91CD;&#x6392;&#x5E8F;-Contextual-Reranking" class="headerlink" title="&#x57FA;&#x4E8E;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x91CD;&#x6392;&#x5E8F;(Contextual Reranking)"></a>&#x57FA;&#x4E8E;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x91CD;&#x6392;&#x5E8F;(Contextual Reranking)</h4><p>&#x6211;&#x4EEC;&#x524D;&#x9762;&#x4ECB;&#x7ECD;&#x8FC7;&#x68C0;&#x7D22;&#x7684;&#x4E24;&#x5C42;&#x7ED3;&#x6784;&#xFF0C;&#x7B2C;&#x4E00;&#x5C42;&#x7C97;&#x6392;&#x5E8F;&#xFF0C;&#x7B2C;&#x4E8C;&#x5C42;&#x7CBE;&#x6392;&#x5E8F;&#x3002;&#x8FD9;&#x4E24;&#x5C42;&#x6240;&#x7528;&#x5230;&#x7684;&#x7279;&#x5F81;&#x4E3A;<query,url>&#x7684;&#x5339;&#x914D;&#x7279;&#x5F81;&#xFF0C;url&#x8868;&#x793A;&#x6587;&#x6863;&#x3002;&#x540C;&#x4E00;&#x4E2A;query&#x53EC;&#x56DE;&#x7684;&#x5176;&#x4ED6;url&#x8FD9;&#x90E8;&#x5206;&#x4E0A;&#x4E0B;&#x6587;&#x4FE1;&#x606F;&#x6CA1;&#x6709;&#x5229;&#x7528;&#x5230;&#x3002;&#x63A5;&#x4E0B;&#x6765;&#xFF0C;&#x4ECB;&#x7ECD;&#x57FA;&#x4E8E;&#x4E0A;&#x4E0B;&#x6587;&#x7684;&#x91CD;&#x6392;&#x5E8F;&#x8FC7;&#x7A0B;&#x3002;<br>&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x4E2D;&#x7684;&#x5019;&#x9009;&#x662F;&#x6765;&#x81EA;&#x7CBE;&#x6392;&#x5E8F;&#x7684;top-N&#x7ED3;&#x679C;(&#x4F8B;&#x5982;N=30)&#x3002;&#x4E3B;&#x8981;&#x7528;&#x5230;&#x7684;&#x7279;&#x5F81;&#x6709;&#xFF1A;</query,url></p>
<ol>
<li>&#x4F4D;&#x7F6E;&#xFF1A;url&#x5728;&#x7CBE;&#x6392;&#x5E8F;&#x4E2D;&#x7684;&#x4F4D;&#x7F6E;</li>
<li>&#x5747;&#x503C;&#xFF1A;&#x7CBE;&#x6392;&#x5E8F;&#x4E2D;&#x5404;&#x4E2A;&#x7279;&#x5F81;&#x7684;&#x5747;&#x503C;</li>
<li>&#x65B9;&#x5DEE;&#xFF1A;&#x7CBE;&#x6392;&#x5E8F;&#x4E2D;&#x5404;&#x4E2A;&#x7279;&#x5F81;&#x7684;&#x65B9;&#x5DEE;</li>
<li>&#x5F52;&#x4E00;&#x5316;&#x7279;&#x5F81;&#xFF1A;&#x901A;&#x8FC7;&#x6807;&#x51C6;&#x5DEE;&#x548C;&#x5747;&#x503C;&#x5F52;&#x4E00;&#x5316;&#x540E;&#x7684;&#x7279;&#x5F81;</li>
<li>&#x4E3B;&#x9898;&#x6A21;&#x578B;&#x7279;&#x5F81;&#xFF1A;&#x5C06;top30url&#x7684;&#x4E3B;&#x9898;&#x5206;&#x5E03;&#x7D2F;&#x52A0;&#x8D77;&#x6765;&#x4F5C;&#x4E3A;query&#x7684;topic&#x5206;&#x5E03;&#xFF0C;&#x5355;&#x72EC;&#x8BA1;&#x7B97;&#x5404;url&#x4E0E;query&#x7684;topic&#x5206;&#x5E03;&#x7684;&#x76F8;&#x4F3C;&#x5EA6;<br>&#x4F5C;&#x8005;&#x89E3;&#x91CA;&#x4E3A;&#x4EC0;&#x4E48;&#x4F7F;&#x7528;&#x7B2C;&#x4E8C;&#x8F6E;&#x7684;&#x6392;&#x5E8F;&#x4F4D;&#x7F6E;&#x800C;&#x4E0D;&#x662F;&#x6A21;&#x578B;&#x6253;&#x5206;&#x4F5C;&#x4E3A;&#x91CD;&#x6392;&#x5E8F;&#x7684;&#x8F93;&#x5165;&#xFF0C;&#x4E3B;&#x8981;&#x662F;&#x5B9E;&#x8DF5;&#x7ED3;&#x8BBA;&#xFF0C;&#x5C3D;&#x7BA1;&#x6A21;&#x578B;&#x6253;&#x5206;&#x5305;&#x542B;&#x66F4;&#x5B8C;&#x6574;&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x4F46;&#x662F;&#x8FD9;&#x4E2A;&#x503C;&#x5F88;&#x5BB9;&#x6613;&#x53D1;&#x751F;&#x6CE2;&#x52A8;&#x3002;&#xFF08;&#x6309;&#xFF1A;&#x539F;&#x6587;<em>Though the core-ranking phase score is more informative than the rank, its value can drift as the index refreshes, degrading third phase performance</em>&#x7D22;&#x5F15;&#x8FD9;&#x91CC;&#x731C;&#x6D4B;&#x662F;&#x5EFA;&#x5E93;&#x7684;&#x7D22;&#x5F15;&#xFF0C;&#x53EA;&#x662F;query-url&#x5E94;&#x8BE5;&#x4E0D;&#x53D7;&#x5F71;&#x54CD;&#xFF0C;&#x8D39;&#x89E3;&#xFF09;&#x3002;&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;&#x663E;&#x793A;&#x5728;table2&#xFF0C;&#x5728;&#x90E8;&#x7F72;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x7CBE;&#x6392;&#x5E8F;&#x7684;&#x6A21;&#x578B;&#x6253;&#x5206;&#x53EF;&#x4EE5;&#x5E76;&#x884C;&#x8FDB;&#x884C;&#xFF0C;&#x4F46;&#x91CD;&#x6392;&#x5E8F;&#x53EA;&#x80FD;&#x5728;&#x4E00;&#x4E2A;&#x673A;&#x5668;&#x8282;&#x70B9;&#x4E2D;&#x5B8C;&#x6210;&#xFF0C;Yahoo&#x5728;&#x91CD;&#x6392;&#x5E8F;&#x4E2D;&#x7528;&#x4E86;30-50&#x7EC4;&#x539F;&#x59CB;&#x7279;&#x5F81;&#x3002;</li>
</ol>
<p><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473600571491.png" alt="&#x5B9E;&#x9A8C;&#x6548;&#x679C;&#x56FE;"></p>
<h4 id="&#x8BED;&#x4E49;&#x5339;&#x914D;&#x7279;&#x5F81;"><a href="#&#x8BED;&#x4E49;&#x5339;&#x914D;&#x7279;&#x5F81;" class="headerlink" title="&#x8BED;&#x4E49;&#x5339;&#x914D;&#x7279;&#x5F81;"></a>&#x8BED;&#x4E49;&#x5339;&#x914D;&#x7279;&#x5F81;</h4><p>&#x8FD9;&#x90E8;&#x5206;&#x7279;&#x5F81;&#x4E3B;&#x8981;&#x89E3;&#x51B3;&#x957F;&#x5C3E;query&#x4E2D;&#x7F3A;&#x5C11;&#x7528;&#x6237;&#x884C;&#x4E3A;&#x4FE1;&#x606F;&#xFF0C;url&#x6587;&#x672C;&#x4FE1;&#x606F;&#x4F8B;&#x5982;anchor&#x6587;&#x672C;&#x7F3A;&#x5931;&#x7B49;&#xFF0C;&#x4EE5;&#x53CA;&#x6587;&#x672C;&#x5339;&#x914D;&#x4E2D;&#x957F;&#x5C3E;query&#x8868;&#x8FBE;&#x548C;url&#x8868;&#x8FBE;&#x4E0D;&#x540C;&#x3002;&#x4E09;&#x7C7B;&#x8BED;&#x4E49;&#x5339;&#x914D;&#x7279;&#x5F81;&#xFF1A;&#x70B9;&#x51FB;&#x76F8;&#x4F3C;(click similarity)&#x3001;&#x7FFB;&#x8BD1;&#x6587;&#x672C;&#x5339;&#x914D;&#x5EA6;(translated text matching)&#x3001;&#x6DF1;&#x5C42;&#x8BED;&#x4E49;&#x5339;&#x914D;(deep semantic matching)&#x3002;<br><strong>&#x70B9;&#x51FB;&#x7279;&#x5F81;(click similarity)</strong><br>&#x4F5C;&#x8005;&#x4F7F;&#x7528;query&#x7684;&#x8BCD;&#x8868;(vocabulary)&#x5C06;query, document&#x8868;&#x793A;&#x5728;&#x540C;&#x4E00;&#x4E2A;&#x5411;&#x91CF;&#x7A7A;&#x95F4;&#x4E2D;&#x3002;query&#x548C;document&#x4E4B;&#x95F4;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x70B9;&#x51FB;&#x884C;&#x4E3A;&#x5EFA;&#x4E00;&#x4E2A;&#x4E8C;&#x90E8;&#x56FE;&#x3002;&#x8FB9;&#x4E0A;&#x7684;&#x70B9;&#x51FB;&#x6B21;&#x6570;&#x8D8A;&#x591A;&#xFF0C;&#x8868;&#x793A;&#x6587;&#x6863;&#x548C;query&#x8D8A;&#x63A5;&#x8FD1;&#x3002;<img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473602403615.png" alt="&#x56FE;2"><br>&#x6784;&#x6210;&#x8FD9;&#x4E2A;&#x4E8C;&#x90E8;&#x56FE;&#x7684;&#x51FA;&#x53D1;&#x70B9;&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x5411;&#x91CF;&#x7A7A;&#x95F4;&#x4E2D;&#xFF0C;document&#x8FDE;&#x63A5;&#x7740;&#x76F8;&#x540C;&#x7684;query&#x8D8A;&#x591A;&#xFF0C;&#x8D8A;&#x76F8;&#x4F3C;&#x3002;&#x5BF9;query&#x4E5F;&#x4E00;&#x6837;&#xFF0C;&#x8FDE;&#x63A5;&#x7684;&#x76F8;&#x540C;&#x7684;document&#x8D8A;&#x591A;&#xFF0C;&#x610F;&#x56FE;&#x4E5F;&#x8D8A;&#x53D1;&#x76F8;&#x8FD1;&#x3002;&#x610F;&#x5473;&#x7740;&#x53EF;&#x4EE5;&#x4ECE;document&#x5411;&#x91CF;&#x4E2D;&#x5C06;&#x8BCD;&#x4E49;&#x8F6C;&#x8D4B;&#x7ED9;&#x76F8;&#x8FDE;&#x7684;query&#xFF0C;&#x90A3;&#x4E48;&#x56E0;&#x4E3A;document&#x4EA7;&#x751F;&#x76F8;&#x4E92;&#x8054;&#x7CFB;&#x7684;query&#x53EF;&#x4EE5;&#x8868;&#x51FA;&#x5728;&#x5411;&#x91CF;&#x7A7A;&#x95F4;&#x4E2D;&#x7684;&#x76F8;&#x4F3C;&#x5EA6;&#x3002;<br>&#x4E8C;&#x90E8;&#x56FE;&#x8BB0;&#x4E3A;$G$&#xFF0C;&#x56FE;&#x4E2D;&#x7684;&#x70B9;$V = D \cup Q$ $D$&#x8868;&#x793A;document&#xFF0C;$Q$&#x8868;&#x793A;query&#x3002;$C$&#x8868;&#x793A;&#x90BB;&#x63A5;&#x77E9;&#x9635;&#x3002;$Q{V^n}$&#x662F;&#x4E00;&#x4E2A;$\left| Q \right| \times V$&#x77E9;&#x9635;&#xFF0C;&#x5176;&#x4E2D;&#x7B2C;$i$&#x5217;$QV_i^n$&#x8868;&#x793A;&#x5728;&#x7B2C;$n$&#x8F6E;&#x8FED;&#x4EE3;query&#x5411;&#x91CF;$q_i$&#x3002;&#x540C;&#x6837;&#x7684;&#xFF0C;$DV$&#x662F;$\left| D \right| \times V$&#x77E9;&#x9635;&#xFF0C;&#x6BCF;&#x4E00;&#x884C;&#x90FD;&#x662F;&#x4E00;&#x4E2A;document&#x5411;&#x91CF;&#x3002;<br>&#x6BCF;&#x4E2A;&#x5411;&#x91CF;&#x90FD;&#x8FDB;&#x884C;&#x4E86;&#x5F52;&#x4E00;&#x5316;&#xFF0C;&#x521D;&#x59CB;&#x7684;query&#x77E9;&#x9635;&#x4E3A;$Q{V^0}$&#xFF0C;&#x5728;&#x7B2C;$n$&#x8F6E;&#x8FED;&#x4EE3;&#x4E2D;&#xFF0C;$DV_i^n$&#x66F4;&#x65B0;&#x516C;&#x5F0F;&#x4E3A;&#xFF1A;<br>$$DV_i^n = {1 \over {{{\left\| {\sum\nolimits_{i = 1}^{\left| Q \right|} {{C_{ij}} \cdot QV_i^n} } \right\|}_2}}}\sum\nolimits_{i = 1}^{\left| Q \right|} {{C_{i,j}} \cdot QV_i^n} $$<br>&#x518D;&#x901A;&#x8FC7;&#x7D2F;&#x52A0;&#x4E0E;query&#x76F8;&#x8FDE;&#x7684;document&#x5411;&#x91CF;&#x8FDB;&#x884C;query&#x5411;&#x91CF;&#x7684;&#x66F4;&#x65B0;&#xFF1A;<br>$$QV_i^{n + 1} = {1 \over {{{\left\| {\sum\nolimits_{j = 1}^{\left| D \right|} {{C_{ij}} \cdot DV_j^n} } \right\|}_2}}}\sum\nolimits_{j = 1}^{\left| D \right|} {{C_{i,j}} \cdot DV_j^n} $$<br>&#x5728;&#x8FD9;&#x4E2A;&#x8FED;&#x4EE3;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;query&#x5F97;&#x5230;&#x65B0;&#x7684;terms&#x540C;&#x65F6;&#x8FD8;&#x80FD;&#x5F97;&#x5230;&#x6743;&#x91CD;&#x3002;document&#x4E5F;&#x4ECE;query&#x4E2D;&#x5F97;&#x5230;&#x66F4;&#x4E30;&#x5BCC;&#x7684;terms&#x3002;&#x5982;&#x6B64;&#x5BF9;query&#x548C;document&#x540C;&#x6B65;&#x8FDB;&#x884C;&#x4E86;&#x8BED;&#x4E49;&#x8868;&#x8FBE;&#x4E0A;&#x7684;&#x8865;&#x5168;&#x3002;&#x5B9E;&#x8DF5;&#x4E2D;&#xFF0C;&#x56E0;&#x4E3A;&#x4E3A;&#x96F6;&#x7684;&#x9879;&#x592A;&#x591A;&#xFF0C;&#x5BF9;&#x6743;&#x91CD;&#x4F7F;&#x7528;&#x7A00;&#x758F;&#x8868;&#x8FBE;&#x65B9;&#x5F0F;&#x5B58;&#x50A8;&#x3002;&#x7531;&#x4E8E;&#x5C11;&#x6570;&#x7684;&#x8BCD;(term)&#x62E5;&#x6709;&#x6700;&#x5927;&#x91CF;&#x7684;&#x6743;&#x91CD;&#xFF0C;&#x5176;&#x4ED6;&#x7684;terms&#x90FD;&#x5F88;&#x5C0F;&#xFF0C;&#x6211;&#x4EEC;&#x5728;&#x6BCF;&#x8F6E;&#x8FED;&#x4EE3;&#x4E2D;&#x4FDD;&#x7559;&#x6743;&#x91CD;top-K&#x7684;&#x8BCD;(terms)&#x3002;&#x8FD9;&#x4E2A;&#x526A;&#x679D;&#x4F18;&#x5316;&#x52A0;&#x901F;&#x4E86;&#x6536;&#x655B;&#x3002;<br><strong>&#x8BC4;&#x4F30;</strong>&#xFF1A;&#x5F97;&#x5230;query&#x548C;document&#x5411;&#x91CF;&#x8868;&#x8FBE;&#x4E4B;&#x540E;&#xFF0C;&#x901A;&#x8FC7;&#x70B9;&#x51FB;&#x53EF;&#x4EE5;&#x5F97;&#x5230;&#x5176;&#x76F8;&#x4F3C;&#x5EA6;&#xFF0C;&#x8BB0;&#x4E3A;&#x7279;&#x5F81;<strong>CS</strong>&#x3002;&#x5728;&#x7CBE;&#x6392;&#x5E8F;&#x4E2D;&#x5B9E;&#x9A8C;&#x6548;&#x679C;&#x5982;&#x4E0B;&#x8868;&#xFF1A;<br><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473606878519.png" alt="CS TTM&#x7279;&#x5F81;&#x5B9E;&#x9A8C;&#x6548;&#x679C;"><br>&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x5728;torso&#x548C;tail&#x90E8;&#x5206;&#x63D0;&#x5347;&#x6BD4;&#x8F83;&#x660E;&#x663E;&#x3002;&#x5728;&#x6240;&#x6709;&#x7279;&#x5F81;&#x91CD;&#x8981;&#x6027;&#x4E2D;&#xFF0C;<strong>CS</strong>&#x7279;&#x5F81;&#x6392;&#x7B2C;&#x4E00;&#x4F4D;&#x3002;&#x5B9E;&#x8DF5;&#x4E2D;&#x5BF9;query/document&#x5411;&#x91CF;&#x6309;&#x6708;&#x8FDB;&#x884C;&#x4F8B;&#x884C;&#x66F4;&#x65B0;&#x3002;<br><strong>&#x7FFB;&#x8BD1;&#x6587;&#x672C;&#x5339;&#x914D;&#x5EA6;(TTM)</strong><br><strong>CS</strong>&#x7279;&#x5F81;&#x65E0;&#x6CD5;&#x7528;&#x5728;&#x672A;&#x51FA;&#x73B0;&#x5728;&#x70B9;&#x51FB;&#x65E5;&#x5FD7;&#x7684;query&#x548C;document&#x4E4B;&#x95F4;&#x3002;&#x7EDF;&#x8BA1;&#x673A;&#x5668;&#x7FFB;&#x8BD1;&#x5C06;query&#x7FFB;&#x8BD1;&#x5230;document&#xFF0C;&#x901A;&#x8FC7;&#x673A;&#x5668;&#x7FFB;&#x8BD1;&#x5E26;&#x6765;&#x4E00;&#x7CFB;&#x5217;&#x7279;&#x5F81;&#xFF0C;&#x79F0;&#x4E3A;&#x201D;Translated Text Matching(TTM)&#x201D;.<br>&#x4F7F;&#x7528;query&#x548C;&#x70B9;&#x51FB;title&#x8BAD;&#x4E00;&#x4E2A;&#x7FFB;&#x8BD1;&#x6A21;&#x578B;&#xFF0C;&#x5BF9;&#x4E8E;&#x4EFB;&#x4E00;query&#x6211;&#x4EEC;&#x901A;&#x8FC7;&#x7FFB;&#x8BD1;&#x6A21;&#x578B;&#x5F97;&#x5230;$\left\{ {q_w^1,...,q_w^k} \right\}$&#x8FD9;&#x4E2A;&#x5411;&#x91CF;&#x7A7A;&#x95F4;&#x4E3A;document&#x6807;&#x9898;&#x7684;&#xFF0C;&#x7ED9;&#x5B9A;document $d$&#xFF0C;&#x6211;&#x4EEC;&#x901A;&#x8FC7;&#x8BA1;&#x7B97;    $d$&#x7684;&#x6807;&#x9898;&#x548C;$\left\{ {q_w^1,...,q_w^k} \right\}$&#x4E2D;&#x6BCF;&#x4E00;&#x4E2A;query&#x7684;&#x76F8;&#x4F3C;&#x5EA6;&#x5F97;&#x5230;$\left\{ {{s_1},...,{s_k}} \right\}$&#x3002;&#x6700;&#x7EC8;&#x7684;&#x76F8;&#x4F3C;&#x5EA6;&#x6253;&#x5206;&#x51FD;&#x6570;&#x4E3A;$F\left( {\left\{ {{s_1},...,{s_k}} \right\}} \right)$&#x3002; $F$&#x8868;&#x793A;&#x4E00;&#x7EC4;&#x51FD;&#x6570;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;max, average, median&#x7B49;&#x7B49;&#x64CD;&#x4F5C;&#x3002; &#x7279;&#x5F81;&#x751F;&#x6210;&#x5982;&#x4E0B;&#x56FE;&#x3002;<img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473608467185.png" alt="&#x7FFB;&#x8BD1;&#x6587;&#x672C;&#x5339;&#x914D;&#x7279;&#x5F81;"><br>&#x5B9E;&#x9A8C;&#x4E2D;&#x8BBE;&#x5B9A;$k=10$&#x53D6;&#x524D;10&#x4E2A;&#x6539;&#x5199;&#x540E;&#x7684;query&#xFF0C;&#x5C1D;&#x8BD5;&#x4E86;&#x591A;&#x79CD;&#x7279;&#x5F81;&#x7EC4;&#x5408;&#xFF0C;&#x6700;&#x6210;&#x529F;&#x7684;&#x7279;&#x5F81;&#x4E3A; EXT_Q_TLM_1&#x6539;&#x5199;&#x540E;query&#x4E0E;document&#x6807;&#x9898;&#x7684;&#x6700;&#x5927;&#x76F8;&#x4F3C;&#x5EA6;&#x4F5C;&#x4E3A;&#x7279;&#x5F81;&#x3002;AGG_Q_TLM&#x96C6;&#x5408;&#x76F8;&#x4F3C;&#x5EA6;&#xFF0C;&#x4F7F;&#x7528;&#x6807;&#x9898;LM&#x6539;&#x5199;&#x540E;&#x7684;query&#x4E0E;&#x7ED9;&#x5B9A;document&#x5F97;&#x5230;10&#x4E2A;&#x4F7F;&#x7528;queryLM&#x6539;&#x5199;&#x540E;&#x7684;&#x6807;&#x9898;&#x8BA1;&#x7B97;&#x76F8;&#x4F3C;&#x5EA6;&#x3002;&#x5B9E;&#x9A8C;&#x6548;&#x679C;&#x5982;&#x4E0A;&#x9762;&#x7684;&#x8868;&#x4E2D;&#x7B2C;&#x4E8C;&#x884C;&#x3002;&#x5728;&#x7279;&#x5F81;&#x91CD;&#x8981;&#x6027;&#x8BC4;&#x4F30;&#x4E2D;&#xFF0C;EXT_Q_TLM_1&#xFF0C;AGG_Q_TLM&#x5206;&#x5217;&#x7B2C;7&#x548C;&#x7B2C;10.&#x5177;&#x4F53;&#x90E8;&#x7F72;&#x4E2D;&#x6709;&#x4E9B;&#x5DE5;&#x7A0B;&#x4F18;&#x5316;&#xFF0C;&#x4E0B;&#x6587;&#x4ECB;&#x7ECD;&#x6539;&#x5199;&#x6A21;&#x578B;&#x7684;&#x65F6;&#x5019;&#x4E00;&#x5E76;&#x63CF;&#x8FF0;&#x3002;<br><strong>&#x6DF1;&#x5C42;&#x8BED;&#x610F;&#x5339;&#x914D;</strong><br><strong>CS</strong>&#x7279;&#x5F81;&#x548C;<strong>TTM</strong>&#x90E8;&#x5206;&#x89E3;&#x51B3;&#x4E86;&#x4E2D;&#x957F;&#x5C3E;query&#x7684;&#x6587;&#x672C;&#x548C;&#x7528;&#x6237;&#x884C;&#x4E3A;&#x4FE1;&#x606F;&#x4E0D;&#x8DB3;&#xFF0C;<strong>CS</strong>&#x7528;&#x6765;&#x5E73;&#x6ED1;&#x70B9;&#x51FB;&#x4FE1;&#x606F;&#x5E76;&#x53BB;&#x9664;&#x566A;&#x97F3;&#x70B9;&#x51FB;&#xFF0C;&#x800C;<strong>TTM</strong>&#x662F;query&#x6539;&#x5199;&#x7684;&#x4E00;&#x4E2A;&#x5E94;&#x7528;&#x3002;&#x8FD9;&#x4E9B;&#x65B9;&#x6CD5;&#x505C;&#x7559;&#x5728;&#x8BCD;&#x7EA7;&#x522B;&#x3002;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x8FDB;&#x884C;&#x8BED;&#x610F;&#x7EA7;&#x522B;&#x7684;&#x5339;&#x914D;&#xFF0C;&#x8FD9;&#x91CC;&#x7528;DSSM[13]&#x8FDB;&#x884C;&#x5B66;&#x4E60;&#x3002;(&#x6309;&#xFF1A;DSSM&#x53EF;&#x4EE5;&#x770B;&#x9AD8;&#x5251;&#x950B;&#x8001;&#x5E08;&#x7684;&#x62A5;&#x544A;&#xFF0C;&#x5728;&#x5EA6;&#x5B66;&#x5802;&#x6709;)&#xFF0C;&#x8BB0;query&#x96C6;&#x5408;$Q$&#x548C;&#x5176;&#x5019;&#x9009;document&#x96C6;&#x5408;${D_ \pm }$&#x3002;&#x5F97;&#x5230;query&#x548C;document&#x7684;&#x5411;&#x91CF;&#x8868;&#x8FBE;&#x4E4B;&#x540E;&#x7528;&#x5982;&#x4E0B;softmax&#x51FD;&#x6570;&#x8BA1;&#x7B97;&#x4F3C;&#x7136;&#xFF1A;<br>$$L\left( {{D_ + }|Q} \right) = {{\exp \left( { - \cos \left( {{V_Q},{V_{D + }}} \right)} \right)} \over {\sum\nolimits_{D \pm } {\exp \left( { - \cos \left( {{V_Q},{V_{D \pm }}} \right)} \right)} }}$$<br>&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x5219;&#x901A;&#x8FC7;&#x5728;&#x6709;&#x5E8F;&#x7ED3;&#x679C;&#x5217;&#x8868;&#x4E2D;&#x4EE5;10-&#x7A97;&#x53E3;&#x6ED1;&#x52A8;&#x7684;&#x65B9;&#x5F0F;&#x4EA7;&#x751F;&#xFF0C;&#x7B2C;1&#x4E2A;&#x4E3A;&#x6B63;&#x4F8B;&#xFF0C;&#x540E;&#x7EED;9&#x4E2A;&#x6837;&#x672C;&#x4E3A;&#x8D1F;&#x4F8B;&#xFF0C;&#x6700;&#x540E;&#x5F97;&#x5230;30&#x4EBF;query-10-document&#x6837;&#x672C;&#x3002;input&#x4E3A; query, document&#x7684;&#x6807;&#x9898;&#x548C;&#x4E3B;&#x57DF;(&#x4F8B;&#x5982;&#xFF1A;wiki, weather, imdb&#x7B49;)&#x3002;&#x6A21;&#x578B;&#x4F7F;&#x7528;tri-letter&#x8BCD;&#x8868;&#xFF0C;&#x6BCF;&#x4E00;&#x4E2A;&#x6837;&#x672C;&#x8868;&#x8FBE;&#x4E3A;tri-letter&#x7684;&#x7EC4;&#x5408;&#xFF0C;&#x5177;&#x4F53;&#x7EC6;&#x8282;&#x770B;DSSM&#x7684;&#x53C2;&#x8003;&#x6587;&#x732E;[13]&#xFF08;&#x6309;&#xFF1A;&#x6A21;&#x578B;&#x56FE;&#x4E2D;&#x5BF9;&#x4E2D;&#x95F4;&#x4E24;&#x5C42;&#x505A;&#x4E86;&#x62BD;&#x8C61;&#xFF0C;&#x5B9E;&#x9645;&#x4E0A;&#x5E76;&#x975E;&#x516C;&#x7528;&#x4E24;&#x4E2A;&#x9690;&#x542B;&#x5C42;&#xFF0C;&#x4E5F;&#x5E76;&#x975E;&#x540C;&#x65F6;&#x8F93;&#x5165;&#x6B63;&#x8D1F;&#x4F8B;&#xFF09;&#x3002;<img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473611518696.png" alt="DSSM"></p>
<p><strong>&#x8BC4;&#x4F30;</strong>&#xFF1A;&#x4E0A;&#x8868;&#x4E2D;&#xFF0C;<strong>DSM</strong>&#x5E26;&#x6765;1.69%&#x7684;DCG5&#x6536;&#x76CA;&#x3002;&#x5728;&#x9AD8;&#x4E2D;&#x4F4E;&#x9891;query&#x4E2D;&#x90FD;&#x6709;&#x6536;&#x76CA;&#x3002;&#x8FD9;&#x7EF4;&#x7279;&#x5F81;&#x5728;&#x5168;&#x90E8;&#x7279;&#x5F81;&#x4E2D;&#x91CD;&#x8981;&#x6027;&#x5904;&#x4E8E;&#x7B2C;7&#x4F4D;&#x3002;&#x5728;&#x5177;&#x4F53;&#x7EBF;&#x4E0A;&#x5E94;&#x7528;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x5C06;document&#x7684;&#x5411;&#x91CF;&#x8868;&#x793A;&#x5148;&#x8BA1;&#x7B97;&#x5E76;&#x5B58;&#x50A8;&#x5728;&#x670D;&#x52A1;&#x5668;&#x4E2D;&#x3002;&#x5F53;&#x67E5;&#x8BE2;&#x53D1;&#x751F;&#x65F6;&#xFF0C;&#x5B9E;&#x65F6;&#x8BA1;&#x7B97;query&#x7684;&#x5411;&#x91CF;&#xFF0C;&#x8BA1;&#x7B97;&#x5185;&#x79EF;&#x4F5C;&#x4E3A;GBDT&#x6A21;&#x578B;&#x8F93;&#x5165;&#x3002;</p>
<h4 id="query&#x6539;&#x5199;"><a href="#query&#x6539;&#x5199;" class="headerlink" title="query&#x6539;&#x5199;"></a>query&#x6539;&#x5199;</h4><p>&#x7531;&#x4E8E;query&#x548C;document&#x7684;&#x884C;&#x6587;&#x98CE;&#x683C;&#x4E0D;&#x540C;&#xFF0C;&#x4F8B;&#x5982;&#x7528;&#x6237;&#x53EF;&#x80FD;&#x662F;&#x8F93;&#x5165;&#x201D;how much tesla&#x201D;&#xFF0C;&#x800C;document&#x5BF9;&#x5176;&#x6EE1;&#x8DB3;&#x8F83;&#x597D;&#x7684;&#x5185;&#x5BB9;&#x4E3A;&#x201D;price of tesla&#x201D;&#x3002;&#x6539;&#x5199;&#x7684;&#x76EE;&#x7684;&#x662F;&#x4E3A;&#x4E86;&#x6269;&#x5927;&#x53EC;&#x56DE;&#x3002;Query&#x6539;&#x5199;(Query Rewrite, QRW)&#x53EF;&#x4EE5;&#x770B;&#x6210;&#x4E00;&#x79CD;&#x673A;&#x5668;&#x7FFB;&#x8BD1;(MT)&#x95EE;&#x9898;&#xFF0C;&#x5206;&#x4E3A;&#x5B66;&#x4E60;&#x548C;&#x89E3;&#x7801;&#x4E24;&#x4E2A;&#x9636;&#x6BB5;&#x3002;<br><strong>&#x5B66;&#x4E60;&#x9636;&#x6BB5;</strong>&#xFF1A;<br>&#x6539;&#x5199;&#x7684;&#x8BED;&#x6599;&#x4E0D;&#x592A;&#x9002;&#x5408;&#x4EBA;&#x5DE5;&#x6807;&#x6CE8;&#xFF0C;&#x5176;&#x4E00;&#xFF0C;&#x7FFB;&#x8BD1;&#x8BED;&#x6599;&#x9700;&#x8981;&#x5927;&#x91CF;&#x7684;&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#x3002;&#x5176;&#x4E8C;&#xFF0C;&#x4EBA;&#x5DE5;&#x9009;&#x62E9;&#x5019;&#x9009;query&#x7684;&#x6548;&#x7387;&#x8F83;&#x4F4E;&#x3002;&#x8FD9;&#x91CC;&#x91C7;&#x7528;&#x70B9;&#x51FB;&#x884C;&#x4E3A;&#x6536;&#x96C6;&#x8BED;&#x6599;&#xFF0C;&#x7528;&#x6237;query&#x548C;&#x7528;&#x6237;&#x70B9;&#x51FB;document&#x7684;&#x6807;&#x9898;title&#x3002;&#x5728;query-title&#x4E2D;&#xFF0C;&#x8FDB;&#x884C;&#x5BF9;&#x9F50;&#x3001;&#x5BF9;&#x9F50;&#x7247;&#x6BB5;&#x62BD;&#x53D6;&#x3001;&#x7247;&#x6BB5;&#x6253;&#x5206;&#x3002;title&#x7ECF;&#x5E38;&#x5927;&#x4E8E;query&#x7684;&#x957F;&#x5EA6;&#xFF0C;&#x8FD9;&#x91CC;&#x5F15;&#x5165;null&#x7A7A;&#x4E32;&#xFF0C;&#x8FC7;&#x6EE4;&#x9519;&#x8BEF;&#x7684;&#x5BF9;&#x9F50;&#x3002;<br><strong>&#x89E3;&#x7801;&#x9636;&#x6BB5;</strong>&#xFF1A;<br>&#x7ED9;&#x5B9A;&#x4E00;&#x4E2A;&#x539F;&#x59CB;query&#xFF0C;&#x8BB0;&#x4E3A;$q$&#xFF0C;&#x53EF;&#x80FD;&#x6709;&#x4E0D;&#x540C;&#x7684;&#x5207;&#x5206;&#x65B9;&#x5F0F;&#xFF0C;&#x53EC;&#x56DE;&#x4E0D;&#x540C;&#x7684;&#x7247;&#x6BB5;&#xFF0C;&#x53EF;&#x4EE5;&#x8F7B;&#x677E;&#x6784;&#x6210;&#x4E0A;&#x767E;&#x4E2A;&#x5019;&#x9009;&#x3002;&#x89E3;&#x7801;&#x9636;&#x6BB5;&#x9700;&#x8981;&#x627E;&#x5230;&#x6700;&#x5408;&#x9002;&#x7684;&#x5019;&#x9009;$q_w$&#x3002;&#x5B9A;&#x4E49;&#x6BCF;&#x4E2A;&#x5019;&#x9009;$q_c$&#x901A;&#x8FC7;&#x7279;&#x5F81;&#x7684;&#x7EBF;&#x6027;&#x7EC4;&#x5408;&#x5F97;&#x5230;&#x3002;&#x90A3;&#x4E48;&#x89E3;&#x7801;&#x95EE;&#x9898;&#x53EF;&#x4EE5;&#x8868;&#x8FF0;&#x5982;&#x4E0B;&#xFF1A;<br>$${q_w} = \mathop {\arg \max }\limits_{{q_c}} \sum\nolimits_{i = 1}^m {{\lambda _i}{h_i}\left( {{q_c},q} \right)} $$<br>&#x5176;&#x4E2D;${{h_i}\left( {{q_c},q} \right)}$&#xFF0C;&#x4E3A;&#x7B2C;$i$&#x4E2A;&#x7279;&#x5F81;&#x51FD;&#x6570;&#xFF0C;$\lambda_i$&#x662F;&#x6743;&#x91CD;&#xFF0C;&#x901A;&#x8FC7;loss&#x51FD;&#x6570;&#x5B66;&#x4E60;&#x5F97;&#x5230;&#x3002;<br>&#x7528;&#x5230;&#x7684;&#x7279;&#x5F81;&#x51FD;&#x6570;&#x6709;&#xFF1A;</p>
<ol>
<li>query feature functions: query $q$&#x4E2D;&#x8BCD;&#x6570;&#x76EE;&#xFF0C;&#x505C;&#x7528;&#x8BCD;&#x6570;&#x76EE;&#xFF0C;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x6253;&#x5206;&#xFF0C;query&#x9891;&#x6B21;&#xFF0C;&#x8BCD;&#x7684;&#x5E73;&#x5747;&#x957F;&#x5EA6;</li>
<li>rewrite query feature functions&#xFF1A;&#x6539;&#x5199;&#x540E;query $q_c$&#x4E2D;&#x8BCD;&#x6570;&#x76EE;&#xFF0C;&#x505C;&#x7528;&#x8BCD;&#x6570;&#x76EE;&#xFF0C;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x6253;&#x5206;&#xFF0C;query&#x9891;&#x6B21;&#xFF0C;&#x8BCD;&#x7684;&#x5E73;&#x5747;&#x957F;&#x5EA6;</li>
<li>pair feature functions&#xFF1A;$h_{11}$&#xFF1A;&#x5728;query-url&#x8FDE;&#x63A5;&#x56FE;&#x4E2D;$q$&#x548C;$q_c$&#x7684;jaccard&#x76F8;&#x4F3C;&#x5EA6;&#x3002;$h_{12}$&#x539F;&#x59CB;query $q$&#x4E0E;&#x6539;&#x5199;&#x540E;$q_c$&#x7684;&#x9891;&#x6B21;&#x7684;&#x5DEE;&#x3001;$h_{13}$&#x4E8C;&#x8005;&#x8BCD;&#x7EA7;&#x522B;&#x7684;cos&#x76F8;&#x4F3C;&#x5EA6;&#x3001;&#x4E0D;&#x76F8;&#x540C;&#x7684;&#x8BCD;&#x4E2A;&#x6570;&#x3001;&#x76F8;&#x540C;&#x8BCD;&#x7684;&#x4E2A;&#x6570;&#x3001;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x6253;&#x5206;&#x7684;&#x5DEE;&#xFF0C;&#x505C;&#x7528;&#x8BCD;&#x6570;&#x76EE;&#x7684;&#x5DEE;&#x3001;&#x5E73;&#x5747;&#x8BCD;&#x957F;&#x5EA6;&#x7684;&#x5DEE;&#x3002;<br>&#x5B9E;&#x8DF5;&#x4E2D;$h_{11}$&#x3001;$h_{12}$&#x3001;$h_{13}$&#x662F;&#x4E09;&#x4E2A;&#x6700;&#x6709;&#x5F71;&#x54CD;&#x7684;&#x7279;&#x5F81;&#x3002;</li>
</ol>
<p><strong>&#x6539;&#x5199;&#x7684;&#x5E94;&#x7528;</strong><br>&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x6709;$q$&#x548C;&#x6539;&#x5199;&#x5F97;&#x5230;&#x7684;$q_w$&#xFF0C;&#x5404;&#x81EA;&#x53EC;&#x56DE;top-N&#x7ED3;&#x679C;&#xFF0C;&#x8FDB;&#x884C;&#x5F52;&#x5E76;&#xFF0C;&#x5F52;&#x5E76;&#x65F6;&#x9047;&#x5230;&#x76F8;&#x540C;&#x7684;url&#x5C06;&#x4FDD;&#x7559;&#x6253;&#x5206;&#x9AD8;&#x7684;&#x5206;&#x503C;&#x3002;&#x5C06;&#x6700;&#x540E;&#x7684;&#x7ED3;&#x679C;&#x4E2D;&#x9009;&#x62E9;top-N&#x4F5C;&#x4E3A;&#x539F;&#x59CB;query&#x7684;&#x5019;&#x9009;url&#x8FD4;&#x56DE;&#x3002;<br>&#x5B9E;&#x9A8C;&#x6548;&#x679C;&#x4E0B;&#x8868;&#xFF0C;&#x5176;&#x4E2D;QRW&#x662F;&#x524D;&#x8FF0;&#x5408;&#x5E76;&#x7B56;&#x7565;&#xFF0C;QRW-RE&#x8868;&#x793A;&#x5C06;&#x6539;&#x5199;&#x540E;query $q_c$&#x7528;&#x4E8E;&#x53D1;&#x8D77;&#x65B0;&#x68C0;&#x7D22;&#x5F97;&#x5230;&#x7684;&#x7ED3;&#x679C;&#x3002;<br><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473643213919.png" alt="query&#x6539;&#x5199;&#x7684;&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;"><br><strong>&#x7EBF;&#x4E0A;&#x4F18;&#x5316;</strong><br>&#x5982;&#x4F55;&#x51CF;&#x5C11;&#x89E3;&#x7801;&#x8FC7;&#x7A0B;&#x7684;&#x65F6;&#x5EF6;&#xFF0C;&#x662F;&#x90E8;&#x7F72;&#x6539;&#x5199;&#x6A21;&#x578B;&#x7684;&#x5173;&#x952E;&#x3002;&#x7ED9;&#x5B9A;query&#xFF0C;&#x5728;&#x6A21;&#x578B;&#x4E0D;&#x53D8;&#x65F6;&#xFF0C;&#x6539;&#x5199;&#x7684;&#x5019;&#x9009;&#x548C;&#x6253;&#x5206;&#x662F;&#x4E00;&#x6837;&#x7684;&#x3002;&#x4E3A;&#x4E86;&#x7EBF;&#x4E0A;&#x90E8;&#x7F72;&#xFF0C;&#x5C06;1&#x4EBF;query&#x7684;&#x6539;&#x5199;&#x5019;&#x9009;&#x548C;&#x6253;&#x5206;&#x5B58;&#x50A8;&#x5728;cache&#x4E2D;&#x3002;&#x5F53;&#x53D1;&#x751F;miss&#x60C5;&#x51B5;&#x65F6;&#xFF0C;&#x4ECD;&#x4F1A;&#x6709;&#x8F83;&#x5927;&#x5EF6;&#x65F6;&#x3002;&#x4F5C;&#x8005;&#x5BF9;&#x5019;&#x9009;&#x8BCD;&#x8868;&#x8FDB;&#x884C;&#x526A;&#x679D;&#xFF0C;&#x540C;&#x65F6;&#x5728;&#x89E3;&#x7801;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4F7F;&#x7528;beam search&#xFF0C;&#x5BF9;&#x4E8E;&#x5C11;&#x6570;&#x7279;&#x522B;&#x6162;&#x7684;case&#x76F4;&#x63A5;&#x820D;&#x5F03;&#x3002;</p>
<h4 id="&#x7EC4;&#x5408;&#x5B9E;&#x9A8C;"><a href="#&#x7EC4;&#x5408;&#x5B9E;&#x9A8C;" class="headerlink" title="&#x7EC4;&#x5408;&#x5B9E;&#x9A8C;"></a>&#x7EC4;&#x5408;&#x5B9E;&#x9A8C;</h4><p>&#x524D;&#x9762;&#x5355;&#x72EC;&#x4ECB;&#x7ECD;&#x5F88;&#x591A;&#x7279;&#x5F81;&#xFF0C;&#x5B9E;&#x8DF5;&#x4E2D;&#x7ECF;&#x5E38;&#x6709;&#x7279;&#x5F81;&#x662F;&#x6709;&#x76F8;&#x5173;&#x6027;&#x7684;&#xFF0C;&#x6548;&#x679C;&#x4E0D;&#x4F1A;&#x7B80;&#x5355;&#x7EBF;&#x6027;&#x7D2F;&#x52A0;&#xFF0C;&#x9700;&#x8981;&#x7EFC;&#x5408;&#x7279;&#x5F81;&#x8FDB;&#x884C;&#x8003;&#x5BDF;&#x3002;&#x4E0B;&#x9762;&#x662F;&#x56DB;&#x4E2A;&#x5B9E;&#x9A8C;&#x7EC4;<br>&#x201C;base&#x201D;&#xFF1A;&#x4EC5;LogistcRank<br>&#x201C;GBrank&#x201D;&#xFF1A;&#x4E3A;&#x4F20;&#x7EDF;&#x7684;GBDT&#x7528;&#x4E8E;&#x6392;&#x5E8F;&#x3002;<br>&#x201C;base+feat&#x201D;&#xFF1A; LogistcRank+&#x8BED;&#x610F;&#x7279;&#x5F81;(<strong>CS</strong>, <strong>TTM</strong>, <strong>DSM</strong>)&#x3002;<br>&#x201C;base+all&#x201D;&#xFF1A; LogistcRank+&#x8BED;&#x610F;&#x7279;&#x5F81;(<strong>CS</strong>, <strong>TTM</strong>, <strong>DSM</strong>)+&#x6539;&#x5199;&#xFF0C;<br><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473643465475.png" alt="&#x7EC4;&#x5408;&#x7279;&#x5F81;&#x5B9E;&#x9A8C;&#x6548;&#x679C;&#x5BF9;&#x6BD4;"><br>&#x4ECE;&#x6548;&#x679C;&#x4E0A;&#x770B;&#xFF0C;&#x201D;base+feat&#x201D;&#x6548;&#x679C;&#x5728;DCG1&#x3001;DCG3&#x3001;DCG5&#x4E09;&#x70B9;&#x4E0A;&#x90FD;&#x4F18;&#x4E8E;&#x201D;base&#x201D;&#x3002;&#x8BED;&#x4E49;&#x5339;&#x914D;&#x4E09;&#x4E2A;&#x7279;&#x5F81;&#x5176;&#x7EFC;&#x5408;&#x6548;&#x679C;&#x9AD8;&#x4E8E;&#x5404;&#x81EA;&#x5355;&#x72EC;&#x7684;&#x5B9E;&#x9A8C;&#x6548;&#x679C;&#xFF0C;&#x8BC1;&#x660E;&#x8FD9;&#x4E09;&#x79CD;&#x76F8;&#x4E92;&#x4E4B;&#x95F4;&#x662F;&#x6709;&#x8865;&#x5145;&#x6548;&#x679C;&#x7684;&#x3002;&#x8868;&#x4E3A;&#x5728;query &#x201C;how much tesla&#x201D;&#x4E0B;&#xFF0C;&#x201D;GBrank&#x201D;VS&#x201D;base+all&#x201D;&#x7684;&#x7ED3;&#x679C;&#x5BF9;&#x6BD4;&#x56FE;&#x3002;<br><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473689037986.png" alt="&#x5BF9;&#x6BD4;&#x6848;&#x4F8B;how much tesla"></p>
<h4 id="&#x65F6;&#x6548;&#x6027;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;"><a href="#&#x65F6;&#x6548;&#x6027;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;" class="headerlink" title="&#x65F6;&#x6548;&#x6027;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;"></a>&#x65F6;&#x6548;&#x6027;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;</h4><p>&#x80CC;&#x666F;&#x4ECB;&#x7ECD;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x63D0;&#x8FC7;&#x65F6;&#x6548;&#x6027;(recency)&#x548C;&#x7A7A;&#x95F4;&#x4F4D;&#x7F6E;(location)&#x7684;&#x6EE1;&#x8DB3;&#x3002;&#x4F5C;&#x8005;&#x5728;&#x8FD9;&#x65B9;&#x9762;&#x4E5F;&#x505A;&#x4E86;&#x63A2;&#x7D22;&#x3002;&#x5BF9;&#x4E8E;&#x65F6;&#x6548;&#x6027;&#x7684;&#x6253;&#x5206;&#xFF0C;&#x5B9A;&#x4E49;&#x4E86;&#x4E94;&#x4E2A;&#x6863;&#x7EA7;&#xFF1A;&#x201D;very fast(VF)&#x201D;&#x3001;&#x201D;fresh(F)&#x201D;&#x3001;&#x201D;slightly outdated&#x201D;&#x3001;&#x201D;stale&#x201D;&#x3001;&#x201D;non-time-sensitive&#x201D;&#xFF0C;&#x5F15;&#x5165;&#x4E86;DCR&#xFF08;&#x628A;DCG&#x516C;&#x5F0F;&#x4E2D;&#x7684;&#x76F8;&#x5173;&#x6027;&#x6307;&#x6807;&#x6362;&#x6210;&#x65F6;&#x6548;&#x6027;&#xFF09;&#x548C;RDDCG&#xFF08;&#x7EFC;&#x5408;&#x8003;&#x8651;DCG&#x548C;DCR&#xFF0C;&#x5177;&#x4F53;&#x89E3;&#x8BFB;&#x5982;&#x4E0B;&#x8868;&#xFF09;<br><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473687922599.png" alt="RDDCG&#x7684;&#x6307;&#x6807;&#x89E3;&#x8BFB;"><br>&#x8981;&#x8FDB;&#x884C;&#x65F6;&#x6548;&#x6027;&#x7684;&#x6392;&#x5E8F;&#xFF0C;&#x9700;&#x8981;&#x6709;&#x8FD9;&#x90E8;&#x5206;&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#xFF0C;&#x5728;&#x8FD9;&#x4EFD;&#x6570;&#x636E;&#x4E0A;&#xFF0C;&#x4F5C;&#x8005;&#x5355;&#x72EC;&#x8BAD;&#x7EC3;&#x4E86;&#x4E00;&#x4E2A;&#x65F6;&#x6548;&#x6027;&#x7684;&#x6253;&#x5206;&#x51FD;&#x6570;&#xFF08;LogisticRank&#xFF09;&#xFF0C;&#x8BB0;&#x4E3A;${r_{fresh}}\left( x \right)$&#x3002;&#x6B64;&#x5916;&#x5F15;&#x5165;&#x65F6;&#x6548;&#x6027;&#x6253;&#x5206;&#x5206;&#x7C7B;&#x5668;&#x7684;&#x7ED3;&#x679C;${c_{ts}}\left( x \right)$&#xFF0C;&#x65B0;&#x589E;&#x7684;&#x4E24;&#x4E2A;&#x6253;&#x5206;&#x4EE5;&#x5982;&#x4E0B;&#x65B9;&#x5F0F;&#x7ED3;&#x5408;&#xFF1A;<br>$$f\left( x \right) = \left\{ {\matrix{
   {{f_{relative}}\left( x \right) + {r_{fresh}}\left( x \right)\;\;if\;{c_{ts}}\left( x \right) &gt; 0}  \cr 
   {{f_{relative}}\left( x \right)\;\;\;\;\;\;\;\;\;\;elsewise.}  \cr 
 } } \right.$$<br>&#x5F53; ${c_{ts}}\left( x \right)$&#x663E;&#x793A;query&#x662F;&#x6709;&#x65F6;&#x6548;&#x6027;&#x9700;&#x6C42;&#x7684;&#x65F6;&#x5019;&#x624D;&#x52A0;&#x4E0A;&#x65F6;&#x6548;&#x6027;&#x6253;&#x5206;&#x51FD;&#x6570;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x4EE5;&#x6700;&#x540E;&#x7684;&#x5206;&#x6570;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#x3002;<br>&#x5B9E;&#x9A8C;&#x662F;&#x5728;500&#x4E2A;&#x6709;&#x65F6;&#x6548;&#x6027;&#x9700;&#x6C42;&#x7684;query&#x4E0A;&#x8FDB;&#x884C;&#x7684;&#xFF0C;&#x7B2C;&#x4E00;&#x4E2A;&#x8868;&#x662F;&#x5728;(DCG5&#x3001;DCR5&#x3001;RDDCG5)&#x4E09;&#x4E2A;&#x6307;&#x6807;&#x4E0A;&#x7684;&#x6253;&#x5206;&#x3002;&#x540E;&#x4E00;&#x4E2A;&#x8868;&#x662F;&#x5173;&#x4E8E;query &#x201C;holly bobo&#x201D;&#x7684;&#x7ED3;&#x679C;&#x5BF9;&#x6BD4;&#xFF0C;(&#x6309;&#xFF1A;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x6740;&#x4EBA;&#x65B0;&#x95FB;&#xFF0C;&#x975E;&#x540D;&#x4EBA;&#x7684;&#x8BDD;&#xFF0C;&#x7528;&#x4E8E;&#x8BF4;&#x660E;&#x65F6;&#x6548;&#x6027;&#x6EE1;&#x8DB3;&#x662F;&#x6070;&#x5F53;&#x7684;)&#x3002;<br><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473688875731.png" alt="&#x65F6;&#x6548;&#x6027;&#x6253;&#x5206;&#x5B9E;&#x9A8C;&#x6548;&#x679C;"><br><img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473695407343.png" alt="holly bobo&#x65B0;&#x95FB;&#x65F6;&#x6548;&#x6027;"></p>
<h4 id="&#x7A7A;&#x95F4;&#x4F4D;&#x7F6E;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;"><a href="#&#x7A7A;&#x95F4;&#x4F4D;&#x7F6E;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;" class="headerlink" title="&#x7A7A;&#x95F4;&#x4F4D;&#x7F6E;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;"></a>&#x7A7A;&#x95F4;&#x4F4D;&#x7F6E;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;</h4><p>&#x7A7A;&#x95F4;&#x4F4D;&#x7F6E;&#x6EE1;&#x8DB3;&#x6392;&#x5E8F;&#x7684;&#x76EE;&#x7684;&#x662F;&#x4E3A;&#x4E86;&#x89E3;&#x51B3;&#x7528;&#x6237;&#x5728;&#x641C;&#x7D22;&#x201D;&#x5BBE;&#x9986;&#x201D;&#x7B49;query&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x80CC;&#x540E;&#x6697;&#x542B;&#x7684;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x8FD1;&#x4F18;&#x5148;&#x7684;&#x9700;&#x6C42;&#x3002;&#x4E3A;&#x4E86;&#x8BA1;&#x7B97;&#x7A7A;&#x95F4;&#x4F4D;&#x7F6E;&#x76F8;&#x5173;&#x6027;&#xFF0C;&#x9700;&#x8981;&#x5728;query-document&#x4E24;&#x7AEF;&#x8FDB;&#x884C;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x4FE1;&#x606F;&#x62BD;&#x53D6;&#x3002;&#x9996;&#x5148;&#x4ECE;&#x7528;&#x6237;&#x7684;query&#x4E2D;&#x62BD;&#x53D6;&#x51FA;&#x663E;&#x793A;&#x5730;&#x5740;&#xFF0C;&#x6216;&#x8005;&#x7528;&#x7528;&#x6237;&#x6240;&#x5728;&#x5730;&#x5740;&#x4EE3;&#x66FF;&#x9690;&#x5F0F;&#x5730;&#x5740;&#x3002;&#x800C;&#x7F51;&#x9875;&#x7684;&#x5730;&#x5740;&#x5219;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;query-url &#x70B9;&#x51FB;&#x56FE;&#xFF0C;&#x8FDB;&#x884C;&#x62BD;&#x53D6;&#xFF0C;&#x7ED9;&#x5B9A;&#x4E00;&#x4E2A;url&#xFF0C;&#x4ECE;&#x5176;&#x8FDE;&#x63A5;&#x7684;query&#x4E2D;&#x53EF;&#x4EE5;&#x5F97;&#x5230;&#x5730;&#x5740;&#xFF0C;&#x901A;&#x8FC7;query&#x5730;&#x5740;&#x63CF;&#x8FF0;url&#x7684;&#x4F4D;&#x7F6E;&#x4FE1;&#x606F;&#x3002;&#x6B64;&#x5916;&#x8FD8;&#x6709;&#x4ECE;url&#x4E2D;&#x4E4B;&#x95F4;&#x6316;&#x6398;&#x7684;&#x4F4D;&#x7F6E;&#x5730;&#x7406;&#x4FE1;&#x606F;&#x3002;<br>&#x548C;&#x65F6;&#x6548;&#x6027;&#x6EE1;&#x8DB3;&#x533A;&#x522B;&#x5728;&#x4E8E;&#x4F5C;&#x8005;&#x8BBE;&#x5B9A;&#x5982;&#x679C;&#x6709;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x9700;&#x6C42;&#xFF0C;&#x4E14;&#x76F8;&#x5173;&#x6027;&#x597D;&#xFF0C;&#x624D;&#x80FD;&#x5BF9;&#x6392;&#x5E8F;&#x7ED3;&#x679C;&#x4EA7;&#x751F;&#x5F71;&#x54CD;&#xFF0C;&#x8FD9;&#x4E00;&#x8981;&#x6C42;&#x4F1A;&#x4F53;&#x73B0;&#x5728;loss&#x51FD;&#x6570;&#x4E0A;&#x3002;&#x5F15;&#x5165;$d\left( {QUERY,URL} \right)$&#x63CF;&#x8FF0;query-url&#x7684;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x5339;&#x914D;&#x7A0B;&#x5EA6;&#xFF0C;&#x5F52;&#x4E00;&#x5316;&#x5230;[0, 1]&#x533A;&#x95F4;&#xFF0C;&#x8BB0;&#x4E3A;$\hat d\left( {QUERY,URL} \right)$&#xFF08;&#x503C;&#x8D8A;&#x5927;&#xFF0C;&#x8868;&#x793A;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x76F8;&#x5173;&#x6027;&#x8D8A;&#x5F3A;&#xFF09;&#x3002;&#xFF08;&#x6309;&#xFF1A;&#x8FD9;&#x4E2A;&#x6253;&#x5206;&#x7EC6;&#x8282;&#x6CA1;&#x63CF;&#x8FF0;&#xFF0C;&#x731C;&#x60F3;&#x5982;&#x679C;query&#x65E0;&#x4F4D;&#x7F6E;&#x4FE1;&#x606F;&#x5219;0&#xFF0C;&#x5982;&#x679C;&#x6709;&#xFF0C;&#x90A3;&#x4E48;&#x6309;&#x5730;&#x56FE;POI&#x53EF;&#x4EE5;&#x8BA1;&#x7B97;&#x5B9E;&#x9645;&#x8DDD;&#x79BB;&#xFF0C;&#x518D;&#x8FDB;&#x884C;&#x5F52;&#x4E00;&#x5316;&#x53CA;&#x53CD;&#x6BD4;&#x4F8B;&#x53D8;&#x6362;&#xFF0C;&#x4F7F;&#x5F97;&#x6253;&#x5206;$\hat d\left( {QUERY,URL} \right)$&#x5177;&#x6709;[0,1]&#x4E14;&#x503C;&#x8D8A;&#x5927;&#xFF0C;&#x8DDD;&#x79BB;&#x8D8A;&#x8FD1;&#xFF09;&#x3002;<br>$$f\left( x \right) = {f_{relative}}\left( x \right) + w{1 \over {1 + {e^{\alpha {f_{relative}}\left( x \right) + \beta }}}}\hat d\left( {QUERY,URL} \right)$$<br>PS.&#x4F5C;&#x8005;&#x8BBA;&#xFF0C;&#x6539;&#x8FDB;&#x540E;&#x7684;logistic&#x51FD;&#x6570;&#x6839;&#x636E;$f_{relative}( x )$&#x63A7;&#x5236;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x76F8;&#x5173;&#x6027;&#x6253;&#x5206;&#x3002;<br>&#x53C2;&#x6570;$w$, $\alpha$, $\beta$&#x8BAD;&#x7EC3;&#x5F97;&#x5230;&#xFF0C;&#x8BAD;&#x7EC3;&#x7684;&#x76EE;&#x6807;&#x4E3A;$$\min \sum\nolimits_{\left( {{p_i},{p_j}} \right) \in P} {\max {{\left( {0,\;1 - f\left( {{x_i}} \right) + f\left( {{x_j}} \right)} \right)}^2}} $$<br>pair-wise&#x8BAD;&#x7EC3;&#xFF0C;&#x5176;&#x4E2D;$P = \left\{ {\left( {{p_i},{p_j}} \right)|\;{p_i} &gt; {p_j}} \right\}$&#x4E3A;&#x4E00;&#x4E2A;query&#x4E0B;&#x7684;&#x504F;&#x5E8F;&#x5173;&#x7CFB;&#x7684;url-pair&#x3002;${p_i} &gt; {p_j}$&#x8868;&#x793A;&#x7ED9;&#x5B9A;query&#x4E0B;${p_i}$&#x6BD4;${p_j}$&#x7ED3;&#x679C;&#x66F4;&#x597D;&#xFF0C;&#x4F7F;&#x7528;&#x968F;&#x673A;&#x68AF;&#x5EA6;&#x4E0B;&#x964D;(SGD)&#x53EF;&#x4EE5;&#x89E3;&#x4E4B;&#x3002;<br>&#xFF08;&#x6309;&#xFF0C;&#x611F;&#x89C9;&#x8FD9;&#x4E2A;&#x6253;&#x5206;&#x7684;&#x8BBE;&#x8BA1;&#x6709;&#x70B9;&#x590D;&#x6742;&#xFF0C;&#x53EF;&#x4EE5;&#x518D;&#x8003;&#x8651;&#x7B80;&#x5316;&#x4E0B;&#xFF09;&#x3002;<br><strong>&#x8BC4;&#x4F30;</strong>&#x6D4B;&#x8BD5;&#x96C6;&#x4E3A;500&#x6709;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x9700;&#x6C42;&#x7684;query&#x3002;&#x65B0;&#x7684;&#x6392;&#x5E8F;&#x51FD;&#x6570;&#x63D0;&#x5347;DCG5&#x8FBE;6.92%&#x3002;&#x4F5C;&#x8005;&#x5728;&#x5C0F;&#x6D41;&#x91CF;&#x5B9E;&#x9A8C;&#x4E2D;&#xFF0C;&#x7EBF;&#x4E0A;&#x6536;&#x76CA;CTR&#x63D0;&#x5347;4.78%&#xFF0C;&#x53EF;&#x60F3;&#x6548;&#x679C;&#x786E;&#x5B9E;&#x663E;&#x8457;&#x3002;&#x4E0B;&#x8868;&#x662F;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x6EE1;&#x8DB3;&#x7684;&#x4E00;&#x4F8B;case&#xFF0C;&#x68C0;&#x7D22;&#x201D;cvs&#x201D;&#x65F6;baseline&#x4E0E;location boosting&#x7684;&#x4E0D;&#x540C;&#x7ED3;&#x679C;&#x5C55;&#x793A;&#xFF1A;<img src="/2016/09/13/Ranking-Relevance-in-Yahoo-Search/./1473695233537.png" alt="&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x6EE1;&#x8DB3;case"></p>
<p>&#x603B;&#x7ED3;&#xFF1A;&#x8FD9;&#x4E9B;&#x65B9;&#x6CD5;&#x9AD8;&#x6548;&#x4E14;&#x63A5;&#x5730;&#x6C14;&#xFF0C;&#x4E0D;&#x9650;&#x4E8E;&#x641C;&#x7D22;&#x5F15;&#x64CE;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x7528;&#x5728;&#x5782;&#x641C;&#x9886;&#x57DF;&#x3002;</p>
<p>&#x6309;&#xFF1A;<br>1.gbrank&#x4E2D;&#x600E;&#x4E48;&#x52A0;&#x5165;pointwise&#x4FE1;&#x606F;&#xFF0C;&#x540E;&#x7EED;&#x4E86;&#x89E3;<br>2.&#x4E1D;&#x8DEF;&#x641C;&#x7D22;&#x4E2D;&#x770B;holly bobo&#xFF0C;&#x767E;&#x5EA6;&#x5BF9;&#x82F1;&#x6587;&#x65F6;&#x6548;&#x6027;query&#x662F;&#x5426;&#x6709;&#x8FDB;&#x884C;&#x7C7B;&#x4F3C;&#x7684;&#x8C03;&#x6574;&#x3002;&#x4E5F;&#x53EF;&#x80FD;&#x662F;&#x65F6;&#x6548;&#x6027;&#x9700;&#x6C42;&#x8BC6;&#x522B;&#x672A;&#x53EC;&#x56DE;&#x3002;<br>3.&#x767E;&#x5EA6;&#x5728;&#x4E2D;&#x6587;&#x68C0;&#x7D22;&#x4E2D;&#x8FDB;&#x884C;&#x7684;&#x63A2;&#x7D22;&#x6DF1;&#x5EA6;&#x548C;&#x590D;&#x6742;&#x7A0B;&#x5EA6;&#x4E0D;&#x5C40;&#x9650;&#x4E8E;&#x4F5C;&#x8005;&#x63D0;&#x7684;&#x8FD9;&#x4E9B;&#x65B9;&#x6CD5;&#x548C;&#x7279;&#x6027;&#xFF0C;&#x4F8B;&#x5982;&#x8272;&#x60C5;&#x7C7B;query&#x5C4F;&#x853D;&#xFF08;&#x56FD;&#x9645;&#x5316;&#x641C;&#x7D22;&#x5219;&#x79F0;&#x8272;&#x60C5;query&#x6EE1;&#x8DB3;&#xFF09;&#x3001;&#x56FE;&#x7247;&#x9700;&#x6C42;&#x7C7B;query&#x3001;&#x7528;&#x6237;&#x4E2A;&#x6027;&#x5316;&#x7B49;&#x7B49;&#x3002;wise&#x7AEF;&#x7684;&#x573A;&#x666F;&#x66F4;&#x52A0;&#x4E30;&#x5BCC;&#x548C;&#x5177;&#x6709;&#x6311;&#x6218;&#x3002;</p>
<h4 id="&#x539F;&#x6587;&#x53CA;&#x90E8;&#x5206;&#x5F15;&#x6587;&#xFF1A;"><a href="#&#x539F;&#x6587;&#x53CA;&#x90E8;&#x5206;&#x5F15;&#x6587;&#xFF1A;" class="headerlink" title="&#x539F;&#x6587;&#x53CA;&#x90E8;&#x5206;&#x5F15;&#x6587;&#xFF1A;"></a>&#x539F;&#x6587;&#x53CA;&#x90E8;&#x5206;&#x5F15;&#x6587;&#xFF1A;</h4><p>[0]Yin, Dawei, Hu, Yuening, Tang, Jiliang, et al. Ranking Relevance in Yahoo Search[C]  ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2016.<br>[4]C. J. C. Burges. From RankNet to LambdaRank to LambdaMART: An overview. Technical report, Microsoft Research, 2010.<br>[13]P.-S. Huang, X. He, J. Gao, L. Deng, A. Acero, and L. Heck. Learning deep structured semantic models for web search using clickthrough data. In CIKM &#x2019;13.<br>[34]K. Zhou, X. Li, and H. Zha. Collaborative ranking: Improving the<br>relevance for tail queries. In CIKM &#x2019;12.</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x6587;&amp;#x7AE0;&amp;#x4ECB;&amp;#x7ECD;&amp;#x4E86;&amp;#x96C5;&amp;#x864E;&amp;#x5728;&amp;#x4F18;&amp;#x5316;&amp;#x641C;&amp;#x7D22;&amp;#x5F15;&amp;#x64CE;&amp;#x6392;&amp;#x5E8F;&amp;#x7684;&amp;
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="learning to rank" scheme="https://mlnote.com/tags/learning-to-rank/"/>
    
      <category term="query rewriting" scheme="https://mlnote.com/tags/query-rewriting/"/>
    
      <category term="semantic matching" scheme="https://mlnote.com/tags/semantic-matching/"/>
    
      <category term="deep learning" scheme="https://mlnote.com/tags/deep-learning/"/>
    
  </entry>
  
  <entry>
    <title>[笔记]Large-scale behavioral user targeting</title>
    <link href="https://mlnote.com/2016/09/03/Large-scale-behavioral-user-targeting/"/>
    <id>https://mlnote.com/2016/09/03/Large-scale-behavioral-user-targeting/</id>
    <published>2016-09-02T16:00:00.000Z</published>
    <updated>2016-09-16T15:42:14.948Z</updated>
    
    <content type="html"><![CDATA[<p>&#x7528;&#x6237;&#x884C;&#x4E3A;&#x5B9A;&#x5411;&#x7684;&#x76EE;&#x7684;&#x662F;&#x6839;&#x636E;&#x7528;&#x6237;&#x7684;&#x5386;&#x53F2;&#x884C;&#x4E3A;&#xFF0C;&#x6765;&#x9009;&#x62E9;&#x6700;&#x5408;&#x9002;&#x7684;&#x5E7F;&#x544A;&#x6295;&#x653E;&#xFF0C;&#x6309;&#x5982;&#x4E0B;&#x601D;&#x8DEF;&#x4ECB;&#x7ECD;&#xFF1A;</p>
<ul>
<li>&#x6A21;&#x578B;&#x3001;&#x76EE;&#x6807;&#x3001;&#x7B97;&#x6CD5;</li>
<li>&#x5927;&#x89C4;&#x6A21;&#x6570;&#x636E;&#x4E0A;&#x7684;&#x5E94;&#x7528;&#x6280;&#x5DE7;<ul>
<li>&#x6570;&#x636E;&#x538B;&#x7F29;</li>
<li>&#x7279;&#x5F81;&#x9009;&#x62E9;&#x548C;&#x53D8;&#x6362;</li>
<li>&#x751F;&#x6210;&#x8BAD;&#x7EC3;&#x96C6;&#x5408;&#x6D4B;&#x8BD5;&#x96C6;</li>
<li>&#x5E76;&#x884C;&#x7684;Multiplicative&#x8FED;&#x4EE3;</li>
</ul>
</li>
<li>&#x5B9E;&#x9A8C;&#x8BBE;&#x5B9A;&amp;&#x7ED3;&#x8BBA;</li>
</ul>
<h4 id="&#x6A21;&#x578B;&#x3001;&#x76EE;&#x6807;&#x3001;&#x7B97;&#x6CD5;"><a href="#&#x6A21;&#x578B;&#x3001;&#x76EE;&#x6807;&#x3001;&#x7B97;&#x6CD5;" class="headerlink" title="&#x6A21;&#x578B;&#x3001;&#x76EE;&#x6807;&#x3001;&#x7B97;&#x6CD5;"></a>&#x6A21;&#x578B;&#x3001;&#x76EE;&#x6807;&#x3001;&#x7B97;&#x6CD5;</h4><h4 id="a-&#x6A21;&#x578B;"><a href="#a-&#x6A21;&#x578B;" class="headerlink" title="a.&#x6A21;&#x578B;"></a>a.&#x6A21;&#x578B;</h4>
$$p(y) = \frac{{{\lambda ^y}\exp \left( { - \lambda } \right)}}{{y!}},\; {\lambda _i}={w^T}{x_i} $$

$y$:&#x9884;&#x6D4B;CTR(click-through rate)&#xFF0C;&#x5373;&#x7528;&#x6237;&#x67D0;&#x4E2A;&#x7279;&#x5B9A;&#x7C7B;&#x522B;&#x4E0A;&#x7684;&#x70B9;&#x51FB;&#x7387;&#x3002;

$x$:&#x8868;&#x793A;&#x5E7F;&#x544A;&#x7684;&#x70B9;&#x51FB;, &#x7528;&#x6237;&#x7684;&#x6D4F;&#x89C8;&#x884C;&#x4E3A;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x8D2D;&#x4E70;&#x3001;&#x641C;&#x7D22;&#x7B49;&#x7B49;&#x884C;&#x4E3A;&#x3002;

$\lambda_t$:&#x4E3A;&#x76F8;&#x5E94;&#x7684;&#x63A7;&#x5236;&#x70B9;&#x51FB;&#x884C;&#x4E3A;&#x5230;&#x8FBE;&#x9891;&#x7E41;&#x6027;&#x7684;&#x53C2;&#x6570;&#x3002;
&#x70B9;&#x51FB;&#x884C;&#x4E3A;&#x662F;&#x79BB;&#x6563;&#x5230;&#x8FBE;&#x7684;&#x968F;&#x673A;&#x53D8;&#x91CF;&#xFF0C;&#x5BF9;&#x6570;&#x91CF;&#x6700;&#x81EA;&#x7136;&#x7684;&#x63CF;&#x8FF0;&#x89C4;&#x5219;&#x662F;&#x6CCA;&#x677E;&#x5206;&#x5E03;&#x3002;

<h4 id="b-&#x76EE;&#x6807;"><a href="#b-&#x76EE;&#x6807;" class="headerlink" title="b.&#x76EE;&#x6807;"></a>b.&#x76EE;&#x6807;</h4><p>&#x4F18;&#x5316;&#x76EE;&#x6807;&#xFF1A;<br>&#x6700;&#x5927;&#x5316;&#x4F3C;&#x7136;&#x51FD;&#x6570;&#xFF1A;<br>
$$
\prod\limits_i^n {p\left( {{{\mathbf{y}}_i}} \right)}  = \prod\limits_i^n {\frac{{{{\left( {{{\mathbf{w}}^T}{{\mathbf{x}}_i}} \right)}^{{{\mathbf{y}}_i}}}\exp \left( { - {{\mathbf{w}}^T}{{\mathbf{x}}_i}} \right)}}{{{{\mathbf{y}}_i}!}}} 
$$
&#x8F6C;&#x6C42;&#x5E38;&#x7528;log&#x4F3C;&#x7136;&#xFF1A;
$$l\left( y \right) = \log L\left( y \right) = \sum\limits_i^{} {\left( {{y_i}\log \left( \lambda  \right) - \lambda  - \log \left( {{y_i}!} \right)} \right)} $$
</p>
<h4 id="c-&#x7B97;&#x6CD5;"><a href="#c-&#x7B97;&#x6CD5;" class="headerlink" title="c.&#x7B97;&#x6CD5;"></a>c.&#x7B97;&#x6CD5;</h4>
 1.&#x68AF;&#x5EA6;&#x4E0B;&#x964D;gd, 2.bfgs 3.multiplicative rule.
 &#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x66F4;&#x65B0;&#x89C4;&#x5219;&#xFF1A;
 $$\Delta w = \frac{{\partial l\left( y \right)}}{{\partial {w_j}}} = \sum\limits_i {\left( {\frac{{{y_i}}}{{{\lambda _i}}}{x_{ij}} - {x_{ij}}} \right)} $$
 (&#x4F5C;&#x8005;&#x5B9E;&#x9645;&#x4E0A;&#x91C7;&#x7528;multiplicative&#x8FDB;&#x884C;&#x8FED;&#x4EE3;&#xFF0C;15-20&#x8F6E;&#x6536;&#x655B;)
 
 CTR&#x516C;&#x5F0F;&#xFF1A;
 $$CT{R_{ik}} = \frac{{\lambda _{ik}^{click} + \alpha }}{{\lambda _{ik}^{view} + \beta }}$$
 
<ul>
<li>&#x7B26;&#x53F7;&#x8BF4;&#x660E;&#xFF1A;$i,j,k$&#x5206;&#x522B;&#x8868;&#x793A;&#x7528;&#x6237;&#xFF0C;&#x7279;&#x5F81;&#xFF0C;&#x5E7F;&#x544A;&#x7C7B;&#x578B;</li>
<li>&#x6CE8;1:&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#x5E73;&#x6ED1;&#xFF0C;&#x5BF9;&#x4E8E;CTR&#x516C;&#x5F0F;&#x7684;$\alpha \beta$`&#x6309;&#x6BCF;&#x4E2A;&#x7C7B;&#x522B;&#x8BA1;&#x7B97;&#xFF0C;&#x7ED3;&#x679C;&#x4E3A;&#x7ED9;&#x65B0;&#x7528;&#x6237;&#x63A8;&#x8350;&#x6700;&#x70ED;&#x7684;&#x7C7B;&#x522B;&#x3002;</li>
<li>&#x6CE8;2:$\lambda  = {w^T}x$&#x4E3A;&#x4EC0;&#x4E48;&#x4E0D;&#x7528;&#x6307;&#x6570;&#x578B;$bda  = \exp \left( {{w^T}x} \right)$&#xFF0C;&#x4F7F;&#x7528;&#x7EBF;&#x6027;&#x5F62;&#x5F0F;&#x3002;&#x521D;&#x8877;&#x662F;&#x65B9;&#x4FBF;&#x5728;&#x7EBF;&#x8BA1;&#x7B97;,&#x5BF9;&#x4E8E;&#x65B0;&#x7684;&#x7EBF;&#x4E0A;&#x7528;&#x6237;&#x884C;&#x4E3A;&#xFF0C;$bda &apos; = \lambda {\delta ^{\Delta t}} + {w_j}\Delta {x_j}$</li>
<li>&#x6CE8;3:&#x4E3A;&#x4EC0;&#x4E48;&#x7528;NMF&#xFF0C;W&#x7528;&#x6765;&#x8868;&#x793A;&#x7528;&#x6237;&#x5174;&#x8DA3;&#x6743;&#x91CD;&#x7684;&#xFF0C;&#x5982;&#x679C;&#x7528;&#x6237;&#x5BF9;&#x67D0;&#x7C7B;&#x5E7F;&#x544A;&#x4E0D;&#x611F;&#x5174;&#x8DA3;&#xFF0C;&#x6211;&#x4EEC;&#x628A;&#x5B83;&#x8C03;&#x4E3A;&#x96F6;&#x5373;&#x53EF;&#x3002;</li>
<li>&#x6CE8;4&#xFF1A;&#x5BF9;&#x4E8E;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#x7684;&#x6743;&#x91CD;$w_kj$&#x7684;&#x521D;&#x59CB;&#x5316;&#x53EF;&#x4EE5;&#x7528;&#x4E24;&#x79CD;&#x65B9;&#x5F0F;&#x8FDB;&#x884C;&#xFF0C;<ul>
<li>a.&#x7C7B;&#x4F3C;TF-IDF&#xFF1A;$${w_{kj}} \leftarrow \frac{{\sum\nolimits_i {\frac{{{y_{ik}}{x_{ij}}}}{{\sum\nolimits_{j&apos;} {{x_{ij&apos;}}} }}} }}{{\sum\nolimits_i {{x_{ij}}} }}$$</li>
<li>b.&#x5168;&#x5C40;&#x7C7B;&#x522B;&#x4E0A;&#x8FDB;&#x884C;$${w_{kj}} \leftarrow \frac{{\sum\nolimits_i {\left( {{y_{ik}}{x_{ij}}} \right)\sum\nolimits_i {\left( {{y_{ik}}} \right)} } }}{{\sum\nolimits_{j&apos;} {\left[ {\sum\nolimits_i {{y_{ik}}{x_{ij&apos;}}} \sum\nolimits_i {{x_{ij&apos;}}} } \right]} }}$$<br>b&#x7684;&#x601D;&#x8003;&#x51FA;&#x53D1;&#x70B9;&#x662F;&#x90E8;&#x5206;&#x7C7B;&#x522B;&#x7684;&#x6A21;&#x578B;&#x8BAD;&#x7EC3;&#x65F6;&#x95F4;&#x8F83;&#x957F;&#xFF0C;&#x7ED9;&#x4E00;&#x4E2A;&#x8F83;&#x9002;&#x5408;&#x7684;&#x521D;&#x503C;&#xFF0C;&#x53EF;&#x80FD;&#x4F7F;&#x5F97;&#x6574;&#x4F53;&#x8FED;&#x4EE3;&#x6570;&#x636E;&#x901F;&#x5EA6;&#x53D8;&#x5FEB;&#x3002;</li>
</ul>
</li>
</ul>
<h4 id="&#x5927;&#x89C4;&#x6A21;&#x6570;&#x636E;&#x7684;&#x5E94;&#x7528;&#x6280;&#x5DE7;"><a href="#&#x5927;&#x89C4;&#x6A21;&#x6570;&#x636E;&#x7684;&#x5E94;&#x7528;&#x6280;&#x5DE7;" class="headerlink" title="&#x5927;&#x89C4;&#x6A21;&#x6570;&#x636E;&#x7684;&#x5E94;&#x7528;&#x6280;&#x5DE7;"></a>&#x5927;&#x89C4;&#x6A21;&#x6570;&#x636E;&#x7684;&#x5E94;&#x7528;&#x6280;&#x5DE7;</h4><p>1.log&#x6570;&#x636E;&#x7684;&#x9884;&#x5904;&#x7406;&#xFF0C;&#x6307;&#x5B9A;&#x6570;&#x636E;&#x7684;&#x5B57;&#x6BB5;&#x62BD;&#x53D6;&#xFF0C;&#x4EE5;cookie&#x4E3A;&#x5355;&#x4F4D;&#x5408;&#x5E76;&#x6570;&#x636E;&#x3002;<br>2.&#x518D;&#x4EE5;&#x7528;&#x6237;&#x548C;&#x65F6;&#x95F4;&#x4E3A;&#x7EC4;&#x5408;&#x952E;&#xFF0C;&#x6309;&#x65F6;&#x95F4;&#x95F4;&#x9694;&#x5408;&#x5E76;&#x6B21;&#x6570; &#xFF0C;&#x8FD9;&#x91CC;&#x65F6;&#x95F4;&#x95F4;&#x9694;&#x9700;&#x8981;&#x548C;&#x6A21;&#x578B;&#x6240;&#x9700;&#x4E00;&#x81F4;&#x3002;&#x4E00;&#x4E2A;&#x6708;&#x7684;&#x6570;&#x636E;&#x80FD;&#x51CF;&#x5C11;&#x5230;2-3TB(&#x8FD9;&#x91CC;&#x5C1A;&#x672A;&#x8FDB;&#x884C;&#x5E7F;&#x544A;&#x5206;&#x7C7B;)</p>
<h4 id="&#x7279;&#x5F81;&#x9009;&#x62E9;&#x548C;&#x53CD;&#x5411;&#x7D22;&#x5F15;"><a href="#&#x7279;&#x5F81;&#x9009;&#x62E9;&#x548C;&#x53CD;&#x5411;&#x7D22;&#x5F15;" class="headerlink" title="&#x7279;&#x5F81;&#x9009;&#x62E9;&#x548C;&#x53CD;&#x5411;&#x7D22;&#x5F15;"></a>&#x7279;&#x5F81;&#x9009;&#x62E9;&#x548C;&#x53CD;&#x5411;&#x7D22;&#x5F15;</h4><p>&#x5E7F;&#x544A;&#x70B9;&#x51FB;&#x3001;&#x9875;&#x9762;&#x6D4F;&#x89C8;&#x3001;&#x548C;&#x641C;&#x7D22;query&#xFF0C;&#x8FD9;&#x4E9B;&#x7279;&#x5F81;&#x7A7A;&#x95F4;&#x6BD4;&#x8F83;&#x590D;&#x6742;&#x548C;&#x7A00;&#x758F;&#xFF0C;&#x4F5C;&#x8005;&#x4F7F;&#x7528;&#x9891;&#x6B21;&#x9608;&#x503C;&#x8FDB;&#x884C;&#x7B5B;&#x9009;&#xFF0C;&#x5F97;&#x5230;&#xFF08;&#x7279;&#x5F81;&#x7C7B;&#x578B; click / search / view&#xFF0C;&#x5B9E;&#x4F53;entity&#xFF0C;freq&#xFF09;&#x7EC4;&#x5408;&#xFF0C;&#x4E0D;&#x9009;&#x62E9;&#x4E92;&#x4FE1;&#x606F;&#xFF0C;&#x4E92;&#x4FE1;&#x606F;&#x5BB9;&#x6613;&#x53D7;&#x6570;&#x636E;&#x7A00;&#x758F;&#x5F71;&#x54CD;&#x3002;&#x6700;&#x540E;&#x8F93;&#x51FA;&#x4E3A;3&#x7C7B;&#x7279;&#x5F81;&#x7684;&#x8BCD;&#x5178;&#xFF0C;&#x4ECE;&#x5B9E;&#x9A8C;&#x914D;&#x7F6E;&#x53EF;&#x4EE5;&#x8BA4;&#x4E3A;&#x662F;ad_id&#x3001;page_id&#x3001;query&#xFF0C;&#x4E09;&#x79CD;&#x8BCD;&#x5178;&#x3002;&#x5F97;&#x5230;&#x4E0A;&#x8FF0;&#x8BCD;&#x5178;&#x4EE5;&#x540E;&#xFF0C;&#x7279;&#x5F81;&#x5411;&#x91CF;&#x53EF;&#x4EE5;&#x7528;(&#x4E0B;&#x6807;&#xFF0C;&#x503C;)&#x7684;&#x5F62;&#x5F0F;&#x5B58;&#x50A8;&#xFF0C;&#x4E0B;&#x6807;&#x6307;&#x8BCD;&#x5178;&#x7684;&#x504F;&#x79FB;&#x3002;<br>trick 1.&#x7279;&#x5F81;&#x8FC7;&#x6EE4;&#x5361;&#x9891;&#x6B21;&#x7528;cookie&#x4E3A;&#x5355;&#x4F4D;&#x8BA1;&#x6570;&#x7684;&#x539F;&#x56E0;&#x662F;&#x9632;&#x722C;&#x866B;<br>trick 2.&#x76F4;&#x63A5;&#x5BF9;&#x7279;&#x5F81;&#x5361;&#x9891;&#x6B21;&#xFF0C;&#x8FD9;&#x6837;&#x65E0;&#x9700;&#x505A;&#x6392;&#x5E8F;&#x53D6;topN<br>trick 3.&#x5728;&#x65E0;&#x9700;&#x6392;&#x5E8F;&#x5F52;&#x5E76;&#x7684;&#x9636;&#x6BB5;&#xFF0C;reducer&#x53EF;&#x4EE5;&#x7528;&#x503C;&#x6392;&#x5E8F;&#x3002;&#x8FD9;&#x6837;&#x907F;&#x514D;&#x5BF9;&#x590D;&#x6742;key&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#xFF0C;&#x589E;&#x52A0;&#x65F6;&#x8017;</p>
<h4 id="&#x751F;&#x6210;&#x8BAD;&#x7EC3;&#x96C6;&#x5408;&#x6D4B;&#x8BD5;&#x96C6;"><a href="#&#x751F;&#x6210;&#x8BAD;&#x7EC3;&#x96C6;&#x5408;&#x6D4B;&#x8BD5;&#x96C6;" class="headerlink" title="&#x751F;&#x6210;&#x8BAD;&#x7EC3;&#x96C6;&#x5408;&#x6D4B;&#x8BD5;&#x96C6;"></a>&#x751F;&#x6210;&#x8BAD;&#x7EC3;&#x96C6;&#x5408;&#x6D4B;&#x8BD5;&#x96C6;</h4><p>&#x5982;&#x56FE;&#x663E;&#x793A;&#xFF0C;&#x901A;&#x8FC7;&#x6ED1;&#x52A8;&#x7A97;&#x53E3;&#x7684;&#x91C7;&#x96C6;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x4EE5;&#x5728;$o(1)$&#x7684;&#x65F6;&#x95F4;&#x5185;&#x5B8C;&#x6210;&#x7279;&#x5F81;&#x6570;&#x636E;&#x7684;&#x751F;&#x6210;&#x3002;<br><img src="/2016/09/03/Large-scale-behavioral-user-targeting/./1472867063488.png" alt="&#x56FE;1"></p>
<h4 id="&#x6570;&#x636E;&#x9A71;&#x52A8;&#x7684;&#x6743;&#x91CD;&#x66F4;&#x65B0;"><a href="#&#x6570;&#x636E;&#x9A71;&#x52A8;&#x7684;&#x6743;&#x91CD;&#x66F4;&#x65B0;" class="headerlink" title="&#x6570;&#x636E;&#x9A71;&#x52A8;&#x7684;&#x6743;&#x91CD;&#x66F4;&#x65B0;"></a>&#x6570;&#x636E;&#x9A71;&#x52A8;&#x7684;&#x6743;&#x91CD;&#x66F4;&#x65B0;</h4><p>&#x8FD9;&#x91CC;&#x4E3B;&#x8981;&#x63D0;&#x53CA;&#x4E0B;&#x6743;&#x91CD;&#x66F4;&#x65B0;&#x7684;&#x5E76;&#x884C;&#x5316;<br>
1.&#x901A;&#x8FC7;&#x4E00;&#x4E2A;&#x7A00;&#x758F;&#x77E9;&#x9635;D&#xFF0C;&#x6211;&#x4EEC;&#x60F3;&#x4F30;&#x8BA1;&#x4E00;&#x4E2A;dense&#x7684;&#x6743;&#x91CD;&#x77E9;&#x9635;W&#x3002;&#x7ED9;&#x5B9A;$Y$,$X$&#xFF0C;&#x6C42;&#x5F97;$\arg {\max _w}\log p\left( {{Y^T}|W{X^T}} \right)$&#x7684;&#x89E3;$W^*$. &#xFF08;&#x6309;&#xFF1A;&#x8FD9;&#x91CC;&#x548C;&#x76EE;&#x6807;&#x6CCA;&#x677E;&#x5206;&#x5E03;log-&#x4F3C;&#x7136;&#x51FD;&#x6570;&#x6709;&#x5173;&#x8054;&#xFF09;
<br>2.${Y^T} \approx W{X^T}$&#xFF0C;&#x53EF;&#x4EE5;&#x590D;&#x7528;NMF&#x975E;&#x8D1F;&#x77E9;&#x9635;&#x5206;&#x89E3;&#x4E2D;&#x7684;&#x9AD8;&#x6548;&#x4E58;&#x6CD5;&#x65B9;&#x5F0F;&#xFF0C;&#x901A;&#x8FC7;log&#x4F3C;&#x7136;&#x8FDB;&#x884C;&#x7EA6;&#x675F;&#x3002;<br>a. W&#x662F;dense&#x7684;&#x77E9;&#x9635;&#xFF0C;&#x56E0;&#x4E3A;&#x96C6;&#x7FA4;&#x8282;&#x70B9;&#x5185;&#x5B58;&#x9650;&#x5236;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x62C6;&#x5F00;&#x8BFB;&#x5165;&#x3002;&#x7531;&#x4E8E;&#x62C6;&#x4EE5;&#x540E;&#x8BA1;&#x7B97;$W{X^T}$&#x590D;&#x6742;&#x5EA6;&#x8F83;&#x9AD8;&#xFF0C;&#x5F15;&#x5165;&#x4E0B;&#x4E00;&#x6B65;&#x7684;&#x5185;&#x5B58;caching<br>b. In-memory Caching.&#x5BF9;&#x6837;&#x672C;xy&#x8FDB;&#x884C;cache&#xFF0C;&#x9884;&#x5148;&#x6C42;&#x5F97;cache&#x5185;&#x6570;&#x636E;&#x7684; $\sum\nolimits_i {\frac{{{y_{ik}}{x_{ij}}}}{{{\lambda _{ik}}}}} $ &#x5411;&#x540E;&#x4F20;&#x9012;&#x3002;<br>c. &#x6309;k&#x4E3A;key&#x8FDB;&#x884C;reduce&#xFF0C;&#x6700;&#x540E;&#x7D2F;&#x79EF;&#x66F4;&#x65B0;&#x5230;&#x6743;&#x91CD;$W$&#x3002;&#x4F2A;&#x4EE3;&#x7801;&#x5728;&#x8BBA;&#x6587;4.5.3&#x8282;</p>
<p><img src="/2016/09/03/Large-scale-behavioral-user-targeting/./1472873709199.png" alt="&#x56FE;2"></p>
<h4 id="&#x5B9E;&#x9A8C;&#x90E8;&#x5206;&#xFF1A;"><a href="#&#x5B9E;&#x9A8C;&#x90E8;&#x5206;&#xFF1A;" class="headerlink" title="&#x5B9E;&#x9A8C;&#x90E8;&#x5206;&#xFF1A;"></a>&#x5B9E;&#x9A8C;&#x90E8;&#x5206;&#xFF1A;</h4><ul>
<li>&#x6570;&#x636E;&#x548C;&#x53C2;&#x6570;<br>a.&#x6570;&#x636E;&#x6765;&#x6E90;&#xFF0C;&#x5E7F;&#x544A;&#x70B9;&#x51FB;&#xFF0C;&#x9875;&#x9762;&#x6D4F;&#x89C8;&#xFF0C;&#x641C;&#x7D22;query<br>b.&#x6548;&#x679C;&#x8861;&#x91CF;&#x65B9;&#x5F0F;&#xFF0C;1.baseline&#x5BF9;&#x6BD4;&#xFF0C;&#x89C1;&#x4E0B;&#x8868;CTR lift&#xFF0C;2.ROC&#x66F2;&#x7EBF;&#x6BD4;&#x8F83;&#x3002;60&#x79CD;&#x4E3B;&#x8981;BT&#x884C;&#x4E3A;</li>
<li>&#x57FA;&#x7EBF;&#x6A21;&#x578B;&#xFF1A; Logistic Regression&#xFF0C;&#x5206;&#x522B;&#x4E3A;&#x4E24;&#x4E2A;&#x6A21;&#x578B;&#x7684;&#x7ED3;&#x679C;&#x79EF;&#x5728;&#x4E00;&#x8D77;&#xFF0C;&#x4E00;&#x90E8;&#x5206;&#x9884;&#x6D4B;&#x4E0B;&#x4E00;&#x5929;&#x7684;&#x70B9;&#x51FB;&#xFF0C;&#x4E00;&#x90E8;&#x5206;&#x9884;&#x6D4B;&#x4E0B;&#x4E00;&#x5C0F;&#x65F6;&#x70B9;&#x51FB;&#x3002;</li>
</ul>
<h4 id="&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;&#xFF1A;"><a href="#&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;&#xFF1A;" class="headerlink" title="&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;&#xFF1A;"></a>&#x5B9E;&#x9A8C;&#x7ED3;&#x679C;&#xFF1A;</h4><p>a.&#x6570;&#x636E;&#x91CF;&#x65B9;&#x9762;&#xFF1A;<br><img src="/2016/09/03/Large-scale-behavioral-user-targeting/./1472876302964.png" alt="&#x56FE;3"><br>&#x6570;&#x636E;&#x5747;&#x5206;&#x4E3A;512&#x4EFD;&#xFF0C;&#x8BAD;&#x7EC3;&#x96C6;&#x4E0D;&#x540C;&#x7684;&#x91CF;&#x5E26;&#x6765;&#x7684;&#x6548;&#x679C;&#x5982;&#x56FE;&#x3002;<br>b.&#x7279;&#x5F81;&#x65B9;&#x9762;&#x6BD4;&#x8F83;&#xFF1A;<br><img src="/2016/09/03/Large-scale-behavioral-user-targeting/./1472876288856.png" alt="&#x56FE;4"><br>&#xFF08;PS.&#x4E4B;&#x6240;&#x4EE5;&#x63A7;&#x5236;&#x7279;&#x5F81;&#x4E3A;ads&#x548C;pages&#x53D8;&#x5316;&#x662F;&#x56E0;&#x4E3A;&#xFF0C;query&#x5728;&#x70B9;&#x51FB;&#x9884;&#x4F30;&#x7684;&#x5F71;&#x54CD;&#x6BD4;&#x8F83;&#x5C0F;&#xFF09;<br>&#xFF08;&#x4E4B;&#x524D;&#x7684;&#x52A0;&#x901F;&#x63AA;&#x65BD;&#x4F7F;&#x5F97;&#x8BAD;&#x7EC3;&#x65F6;&#x95F4;&#x6709;&#x4E0D;&#x53D7;&#x7279;&#x5F81;&#x6570;&#x76EE;&#x663E;&#x8457;&#x5F71;&#x54CD;&#x7684;&#x7279;&#x6027;&#xFF09;<br>c.target&#x65F6;&#x95F4;&#x7A97;&#x65B9;&#x9762;&#x6BD4;&#x8F83;&#xFF08;&#x610F;&#x4E49;&#x53EF;&#x80FD;&#x4E0D;&#x5927;&#xFF0C;&#x7565;&#xFF09;&#xFF1A;<br>d.&#x5206;&#x5C42;&#x62BD;&#x6837;&#x7684;&#x6548;&#x679C;<br>&#x7528;&#x6237;&#x5206;&#x4E09;&#x7C7B;&#xFF1A;1.&#x6709;&#x70B9;&#x51FB;&#x884C;&#x4E3A; 2.&#x65E0;&#x5E7F;&#x544A;&#x70B9;&#x51FB;&#xFF0C;&#x6709;&#x5E7F;&#x544A;view&#x3002;3.&#x5E7F;&#x544A;&#x70B9;&#x51FB;&#x548C;&#x5E7F;&#x544A;view&#x90FD;&#x65E0;<br>&#x9700;&#x8981;&#x5BF9;&#x540E;&#x4E24;&#x7C7B;&#x7528;&#x6237;&#x8FDB;&#x884C;&#x91C7;&#x6837;&#xFF0C;&#x7B2C;&#x4E00;&#x680F;&#x7684;&#x6570;&#x5B57;&#x4EE3;&#x8868;&#x91C7;&#x6837;&#x7387;&#x3002;<br><img src="/2016/09/03/Large-scale-behavioral-user-targeting/./1472878435652.png" alt="&#x56FE;5"><br>(&#x8D1F;&#x6837;&#x672C;&#x53EA;&#x5BF9;&#x5206;&#x6BCD;&#x6709;&#x5F71;&#x54CD;&#xFF0C;&#x800C;&#x4E14;&#x662F;&#x63D0;&#x524D;&#x7B97;&#x597D;&#x7684;&#x3002;&#x7ED3;&#x679C;&#x770B;&#x4E00;&#x4E2A;&#x8F83;&#x5C0F;&#x7684;neg&#x91C7;&#x6837;&#x7EC4;&#x5408;&#x4E00;&#x4E2A;&#x8F83;&#x5927;&#x7684;view&#x91C7;&#x6837;&#x53EF;&#x4EE5;&#x5E26;&#x6765;&#x4E00;&#x4E2A;&#x6BD4;&#x8F83;&#x597D;&#x7684;&#x6548;&#x679C;)</p>
<p>e.&#x5F15;&#x5165;&#x65F6;&#x95F4;&#x95F4;&#x9699;&#xFF0C;&#x6A21;&#x62DF;&#x8BAD;&#x7EC3;&#x3002;<br>&#x56E0;&#x4E3A;&#x5728;&#x7EBF;&#x7684;&#x8BAD;&#x7EC3;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x6709;data&#x5EF6;&#x8FDF;&#xFF0C;&#x5728;&#x7279;&#x5F81;&#x65F6;&#x95F4;&#x7A97;&#x548C;&#x76EE;&#x6807;&#x65F6;&#x95F4;&#x7A97;&#x4E2D;&#x95F4;&#x63D2;&#x5165;&#x4E00;&#x4E2A;&#x95F4;&#x9699;&#x3002;&#x5E26;&#x6765;&#x7684;&#x6548;&#x679C;&#x5BF9;&#x6BD4;&#xFF0C;&#x53F3;&#x8FB9;&#x662F;&#x6A21;&#x62DF;&#x5728;&#x7EBF;&#x7684;&#x65F6;&#x5019;&#x7684;&#x6548;&#x679C;<br><img src="/2016/09/03/Large-scale-behavioral-user-targeting/./1472878488312.png" alt="&#x56FE;6"><br>&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x5982;&#x679C;&#x65E0;&#x95F4;&#x9699;&#x7684;&#x65F6;&#x5019;&#xFF0C;CTR&#x6709;&#x663E;&#x8457;&#x6536;&#x76CA;&#xFF0C;&#x8BF4;&#x660E;&#x5B9E;&#x65F6;&#x7684;&#x7279;&#x5F81;&#x5BF9;CTR&#x9884;&#x4F30;&#x5F71;&#x54CD;&#x8F83;&#x5927;&#x3002;</p>
<p>&#x603B;&#x7ED3;&#xFF1A;&#x4F5C;&#x8005;&#x6839;&#x636E;&#x7528;&#x6237;&#x5386;&#x53F2;&#x884C;&#x4E3A;&#x9884;&#x6D4B;&#x7528;&#x6237;&#x5BF9;&#x4E0D;&#x540C;&#x7C7B;&#x522B;&#x5E7F;&#x544A;&#x7684;CTR&#xFF0C;&#x540C;&#x65F6;&#x7ED9;&#x4E86;&#x5728;&#x5927;&#x89C4;&#x6A21;&#x6570;&#x636E;&#x4E0A;&#x7684;&#x5B9E;&#x73B0;&#x6846;&#x67B6;&#x3002;<br>&#xFF08;summarizes by&#xFF1A;shawn_xiao@baidu&#xFF09;<br>&#x5F15;&#x6587;&#xFF1A;<br>[1]Chen, Ye&#xFF0C;Pavlov, Dmitry&#xFF0C;Canny, John&#xFF0C; Large-scale behavioral targeting, [2010]</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x7528;&amp;#x6237;&amp;#x884C;&amp;#x4E3A;&amp;#x5B9A;&amp;#x5411;&amp;#x7684;&amp;#x76EE;&amp;#x7684;&amp;#x662F;&amp;#x6839;&amp;#x636E;&amp;#x7528;&amp;#x6237;&amp;#x7684;&amp;#x5386;&amp;#x53F2;&amp;
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="user targeting" scheme="https://mlnote.com/tags/user-targeting/"/>
    
      <category term="advertisement" scheme="https://mlnote.com/tags/advertisement/"/>
    
  </entry>
  
  <entry>
    <title>解决hexo(jekyll) mathjex 插入公式后渲染问题</title>
    <link href="https://mlnote.com/2016/09/03/solved-mathjex-problem/"/>
    <id>https://mlnote.com/2016/09/03/solved-mathjex-problem/</id>
    <published>2016-09-02T16:00:00.000Z</published>
    <updated>2016-11-17T16:40:03.063Z</updated>
    
    <content type="html"><![CDATA[<p>&#x7531;&#x4E8E;latex&#x516C;&#x5F0F;&#x4E2D;&#x7ECF;&#x5E38;&#x6709;&#x4E24;&#x4E2A;&#x82B1;&#x62EC;&#x53F7;&#x201C;{{&#x201D;&#x5B58;&#x5728;&#xFF0C;&#x800C;jekyll&#x548C;hexo&#x90FD;&#x4F1A;&#x89E3;&#x6790;&#x8FD9;&#x4E2A;&#x6837;&#x5F0F;<br>&#x5BFC;&#x81F4;&#x5982;&#x4E0B;&#x62A5;&#x9519;&#xFF1A;<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">FATAL (unknown path) [Line 2, Column 166]</div><div class="line">  parseAggregate: expected colon after dict key</div><div class="line">Template render error: (unknown path) [Line 2, Column 166]</div><div class="line">  parseAggregate: expected colon after dict key</div></pre></td></tr></table></figure></p>
<p>&#x8FD9;&#x4E2A;&#x65F6;&#x5019;&#x9700;&#x8981;&#x5728;&#x516C;&#x5F0F;&#x524D;&#x540E;&#x63D2;&#x5165;:<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">{% raw %}</div><div class="line">$<span class="variable">${X_k}</span> = \{{x_1},{x_2},...,{x_n}\} $$</div><div class="line">{% endraw %}</div></pre></td></tr></table></figure></p>
$${X_k} = \{ {x_1},{x_2},...,{x_n}\} $$
<p>&#x5F53;&#x7136;&#xFF0C;&#x4E00;&#x7BC7;&#x6587;&#x7AE0;&#x516C;&#x5F0F;&#x52A8;&#x5219;&#x5341;&#x6570;&#x8BA1;&#xFF0C;&#x9010;&#x4E00;&#x6DFB;&#x52A0;&#xFF0C;&#x6548;&#x7387;&#x8F83;&#x4F4E;&#x3002;&#x4E3A;&#x4E86;&#x628A;&#x81EA;&#x5DF1;&#x4ECE;&#x516C;&#x5F0F;&#x7684;&#x683C;&#x5F0F;&#x8C03;&#x6574;&#x4E2D;&#x89E3;&#x653E;&#x51FA;&#x6765;&#xFF0C;&#x4E13;&#x6CE8;&#x5199;&#x6587;&#x5B57;&#x3002;<br>&#x535A;&#x4E3B;&#x5199;&#x4E86;&#x4E2A;python&#x811A;&#x672C;&#xFF1A;convert_formula.py&#xFF0C;&#x5728;&#x516C;&#x5F0F;&#x81EA;&#x52A8;&#x6DFB;&#x52A0;raw&#x6807;&#x8BB0;&#x5BF9;(&#x7B2C;&#x4E00;&#x6B21;&#x5728;win7&#x4E2D;&#x7528;&#x8BB0;&#x4E8B;&#x672C;&#x5199;&#x811A;&#x672C;)&#x3002;<br>&#x4E91;&#x76D8;&#xFF1A;<a href="http://pan.baidu.com/s/1hr7xo00" target="_blank" rel="external">http://pan.baidu.com/s/1hr7xo00</a><br>github: <a href="https://github.com/qiugen/tools.git" target="_blank" rel="external">https://github.com/qiugen/tools.git</a></p>
<p>ShawnXiao@baidu</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x7531;&amp;#x4E8E;latex&amp;#x516C;&amp;#x5F0F;&amp;#x4E2D;&amp;#x7ECF;&amp;#x5E38;&amp;#x6709;&amp;#x4E24;&amp;#x4E2A;&amp;#x82B1;&amp;#x62EC;&amp;#x53F7;&amp;#x201C;{{&amp;#x201D;&amp;#x5B58;&amp;#
    
    </summary>
    
      <category term="其他" scheme="https://mlnote.com/categories/%E5%85%B6%E4%BB%96/"/>
    
    
      <category term="hexo" scheme="https://mlnote.com/tags/hexo/"/>
    
      <category term="mathjex 公式" scheme="https://mlnote.com/tags/mathjex-%E5%85%AC%E5%BC%8F/"/>
    
  </entry>
  
  <entry>
    <title>[笔记]Training Products of Experts by Minimizing Contrastive Divergence</title>
    <link href="https://mlnote.com/2014/05/11/Training-Products-of-Experts-by-Minimizing-Contrastive-Divergence/"/>
    <id>https://mlnote.com/2014/05/11/Training-Products-of-Experts-by-Minimizing-Contrastive-Divergence/</id>
    <published>2014-05-10T16:00:00.000Z</published>
    <updated>2016-09-21T16:49:36.819Z</updated>
    
    <content type="html"><![CDATA[<p> &#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x521D;&#x89C1;&#x5728;hinton 2006 A Practical Guide to Training Restricted Boltzmann Machines,&#x4E0B;&#x79F0;&#x300A;Guide&#x300B;&#x3002;&#x300A;Guide&#x300B;&#x4E3B;&#x8981;&#x4ECB;&#x7ECD;&#x8BAD;&#x7EC3;DBM&#x7684;&#x7B97;&#x6CD5;&#x6D41;&#x7A0B;&#x548C;&#x53C2;&#x6570;&#x8BBE;&#x7F6E;&#x7EC6;&#x8282;&#x3002;&#x5728;&#x8FD9;&#x4E00;&#x5E74;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x5927;&#x725B;hinton&#x7684;&#x65E0;&#x79C1;&#x8D21;&#x732E;&#xFF0C;&#x5355;&#x662F;2006&#x5E74;&#x5C31;&#x6709;&#x4E24;&#x7BC7;&#x6587;&#x7AE0;&#x300A;A fast learning algorithm for deep belief nets&#x300B;&#x53CA;&#x5176;&#x9644;&#x5F55;&#x4E2D;&#x7684;&#x8BBA;&#x8BC1;&#x548C;&#x4F2A;&#x4EE3;&#x7801;&#x548C;SCIENCE&#x4E0A;&#x7684;&#x5927;&#x4F5C;&#x300A;Reducing the Dimensionality of Data with Neural Networks&#x300B;&#x548C;&#x76F8;&#x5E94;&#x7684;<a href="https://www.sciencemag.org/content/313/5786/504/suppl/DC1#below" target="_blank" rel="external">&#x7F51;&#x7AD9;&#x8D44;&#x6599;</a>&#x3002;&#x6750;&#x6599;&#x4E4B;&#x5168;&#x9762;&#xFF0C;&#x656C;&#x4EF0;&#xFF0C;&#x53CD;&#x590D;&#x7814;&#x8BFB;&#xFF0C;&#x5BF9;&#x8BAD;&#x7EC3;RBM&#x8FD9;&#x4E8B;&#x6709;&#x4E86;&#x70B9;&#x7709;&#x76EE;&#xFF0C;&#x6015;&#x81EA;&#x5DF1;&#x8BB0;&#x6027;&#x4E0D;&#x597D;&#x7ED9;&#x5FD8;&#x4E86;&#xFF0C;&#x7D22;&#x6027;&#x4E66;&#x5199;&#x4E0B;&#x6765;&#x3002;</p>
<h4 id="&#x53D7;&#x9650;&#x73BB;&#x5C14;&#x5179;&#x66FC;&#x673A;&#x548C;PoE"><a href="#&#x53D7;&#x9650;&#x73BB;&#x5C14;&#x5179;&#x66FC;&#x673A;&#x548C;PoE" class="headerlink" title="&#x53D7;&#x9650;&#x73BB;&#x5C14;&#x5179;&#x66FC;&#x673A;&#x548C;PoE"></a>&#x53D7;&#x9650;&#x73BB;&#x5C14;&#x5179;&#x66FC;&#x673A;&#x548C;PoE</h4><p>Restricted Boltzmann machines(RBMs)&#x4F5C;&#x4E3A;&#x751F;&#x6210;&#x6A21;&#x578B;&#x5E7F;&#x6CDB;&#x7528;&#x4E8E;&#x5F88;&#x591A;&#x7C7B;&#x578B;&#x6570;&#x636E;&#x7684;&#x5EFA;&#x6A21;&#xFF0C;&#x5305;&#x62EC;&#x6709;&#x6807;&#x8BB0;&#x6216;&#x8005;&#x65E0;&#x6807;&#x8BB0;&#x56FE;&#x7247;&#xFF0C;&#x6885;&#x5C14;&#x5012;&#x9891;&#x8C31;&#x7CFB;&#x6570;&#x7A97;(&#x4E00;&#x79CD;&#x8BED;&#x97F3;&#x8FA8;&#x8BC6;&#x4E2D;&#x7684;&#x7279;&#x5F81;&#x8868;&#x793A;&#xFF0C;&#x5E38;&#x79F0;&#x4E3A;MFCC)&#xFF0C;&#x6587;&#x6863;&#xFF0C;&#x4E5F;&#x6709;&#x7528;&#x4E8E;&#x65F6;&#x5E8F;&#x6570;&#x636E;&#x4F8B;&#x5982;&#x89C6;&#x9891;&#x6216;&#x8005;&#x8FD0;&#x52A8;&#x6355;&#x83B7;&#x6570;&#x636E;&#x3001;&#x6F14;&#x8BB2;&#x3002;&#x6700;&#x5E7F;&#x6CDB;&#x7684;&#x5E94;&#x7528;&#x8FD8;&#x662F;&#x5728;&#x8BAD;&#x7EC3;&#x548C;&#x6784;&#x9020;&#x6DF1;&#x5EA6;&#x7F6E;&#x4FE1;&#x7F51;&#x7EDC;&#x4E2D;&#x3002;</p>
<p>RBMs&#x901A;&#x5E38;&#x4F7F;&#x7528;contrastive divergence &#x7B97;&#x6CD5;&#x8FDB;&#x884C;&#x8BAD;&#x7EC3;&#xFF0C;&#x8FD9;&#x4E2A;&#x7B97;&#x6CD5;&#x5C06;&#x662F;&#x672C;&#x7B14;&#x8BB0;&#x4E2D;&#x7684;&#x4E3B;&#x8981;&#x4ECB;&#x7ECD;&#x5185;&#x5BB9;&#x3002;&#x5F53;&#x7136;&#x5728;&#x4F7F;&#x7528;&#x4E2D;&#x8FD8;&#x4F1A;&#x9047;&#x5230;&#x66F4;&#x7EC6;&#x8282;&#x5904;&#x7684;&#x53C2;&#x6570;&#x8BBE;&#x7F6E;&#xFF0C;&#x8BF8;&#x5982;&#x5B66;&#x4E60;&#x7387;(learning rate)&#x3001;&#x52A8;&#x91CF;(momentum)&#x3001;&#x6743;&#x91CD;&#x4EE3;&#x4EF7;(weighted-cost)&#x3001;&#x7A00;&#x758F;&#x76EE;&#x6807;(sparcity target)&#x3001;&#x6743;&#x91CD;&#x7684;&#x521D;&#x59CB;&#x5316;(the initial values of the weights)&#x3001;&#x9690;&#x5355;&#x5143;&#x7684;&#x6570;&#x76EE;(the num of hidden units)&#x3001;&#x56FE;&#x50CF;&#x5B50;&#x96C6;&#x7684;&#x5927;&#x5C0F;(the size of each mini-batch)&#xFF0C;&#x5305;&#x62EC;&#x6BCF;&#x4E00;&#x6B21;&#x8BAD;&#x7EC3;&#x4E2D;&#x5E94;&#x8BE5;&#x600E;&#x4E48;&#x76D1;&#x63A7;&#x8BAD;&#x7EC3;&#x8FC7;&#x7A0B;&#x3001;&#x4EE5;&#x53CA;&#x4F55;&#x65F6;&#x505C;&#x6B62;&#x8BAD;&#x7EC3;&#x3002;&#x5982;&#x679C;&#x9047;&#x5230;&#x8FD9;&#x4E9B;&#x95EE;&#x9898;&#xFF0C;&#x8BF7;&#x79FB;&#x6B65;&#x300A;Guide&#x300B;&#x8FDB;&#x884C;&#x5BF9;&#x5E94;&#x67E5;&#x9605;&#x3002;</p>
<p>&#x5047;&#x8BBE;&#x8BAD;&#x7EC3;&#x56FE;&#x50CF;&#x4E3A;&#x4E8C;&#x503C;&#x56FE;&#x50CF;&#xFF0C;&#x5728;&#x8BAD;&#x7EC3;&#x96C6;&#x4E0A;&#xFF0C;&#x5EFA;&#x7ACB;&#x4E00;&#x4E2A;&#x4E24;&#x5C42;&#x7684;RBM&#xFF0C;&#x5BF9;&#x4E8E;&#x8FD9;&#x4E2A;RBM&#x800C;&#x8A00;&#xFF0C;&#x53EF;&#x89C1;&#x5C42;&#x7684;&#x4E8C;&#x503C;&#x7684;&#x50CF;&#x7D20;&#x70B9;$v_i$&#x4E0E;&#x9690;&#x542B;&#x5C42;&#x7684;&#x4E8C;&#x503C;&#x7279;&#x5F81;&#x76D1;&#x6D4B;&#x5668;$h_j$&#x5EFA;&#x7ACB;&#x5BF9;&#x79F0;&#x52A0;&#x6743;&#x5173;&#x8054;&#x3002;&#x5176;&#x80FD;&#x91CF;&#x5F0F;&#x4E3A;</p>
$$E({\bf{v}},{\bf{h}}) =  - \sum\limits_{i \in visible} {{a_i}{v_i}}  - \sum\limits_{j \in hidden} {{b_j}{h_j}}  - \sum\limits_{i,j} {{v_i}{h_j}{w_{ij}}} --------(1)  $$
<p>&#x5176;&#x4E2D;$v_i$,$h_j$&#x5206;&#x522B;&#x662F;&#x53EF;&#x89C1;&#x5355;&#x5143;$i$&#x548C;&#x9690;&#x542B;&#x5355;&#x5143;$j$&#x7684;&#x4E8C;&#x503C;&#x72B6;&#x6001;&#xFF0C;$a_i$&#xFF0C;$b_j$&#x662F;&#x4ED6;&#x4EEC;&#x7684;&#x504F;&#x7F6E;&#xFF0C;$w_{ij}$&#x4E3A;&#x5176;&#x6743;&#x91CD;&#x3002;&#x4E0B;&#x56FE;&#x4E3A;RBM&#x6A21;&#x578B;&#x793A;&#x610F;&#x56FE;</p>
<p>&#x901A;&#x8FC7;&#x80FD;&#x91CF;&#x65B9;&#x7A0B;&#xFF0C;RBM&#x4E3A;&#x6BCF;&#x4E00;&#x5BF9;&#x53EF;&#x89C1;&#x5411;&#x91CF;&#x548C;&#x9690;&#x542B;&#x5411;&#x91CF;&#x7684;&#x53EF;&#x80FD;&#x7EC4;&#x5408;&#x7ED9;&#x51FA;&#x4E86;&#x6982;&#x7387;&#x5206;&#x5E03;&#x516C;&#x5F0F;&#xFF1A;</p>
$$p({\bf{v}},{\bf{h}}) = {1 \over Z}{e^{ - E({\bf{v}},{\bf{h}})}} --------(2) $$
<p>&#x5176;&#x4E2D;&#xFF0C;&#x914D;&#x5206;&#x51FD;&#x6570;$Z$&#x4E3A;&#x53EF;&#x89C1;&#x5355;&#x5143;&#x548C;&#x9690;&#x542B;&#x5355;&#x5143;&#x6240;&#x6709;&#x53EF;&#x80FD;&#x7EC4;&#x5408;&#x7684;&#x6982;&#x7387;&#x4E4B;&#x548C;&#xFF1A;$$Z = \sum\nolimits_{v,h} {{e^{ - E({\bf{v}},{\bf{h}})}}} $$&#x3002;&#x5BF9;&#x4E8E;&#x53EF;&#x89C1;&#x5411;&#x91CF;$v$&#xFF0C;&#x5176;&#x6982;&#x7387;&#x5BC6;&#x5EA6;&#x51FD;&#x6570;&#x4E3A;</p>
$$p({\bf{v}}) = {1 \over Z}\sum\limits_h^{} {{e^{ - E({\bf{v}},{\bf{h}})}}} $$
<p>&#x4E0A;&#x9762;&#x662F;&#x5173;&#x4E8E;&#x6A21;&#x578B;&#x7684;&#x4ECB;&#x7ECD;&#xFF0C;&#x5173;&#x4E8E;&#x5982;&#x4F55;&#x8BAD;&#x7EC3;&#x6A21;&#x578B;&#xFF0C;hinton&#x5728;&#x672C;&#x7BC7;&#x6587;&#x7AE0;&#x4E2D;&#x7528;&#x4E58;&#x79EF;&#x53E0;&#x52A0;&#x6A21;&#x578B;&#x4E3A;&#x5F15;&#x505A;&#x4E86;&#x7406;&#x8BBA;&#x4E0A;&#x7684;&#x63A8;&#x5BFC;&#x2013;<strong>PoE</strong>(Products of Experts,PoE)&#xFF0C;&#x548C;boost&#x65B9;&#x6CD5;&#x6709;&#x7C7B;&#x4F3C;&#x4E4B;&#x5904;&#xFF0C;&#x6211;&#x7406;&#x89E3;&#x533A;&#x522B;&#x4E3B;&#x8981;&#x5728;&#x4E8E;boost&#x4E3A;&#x7EBF;&#x6027;&#x7EC4;&#x5408;&#xFF0C;PoE&#x4E3A;&#x975E;&#x7EBF;&#x6027;&#x3002;&#x5BF9;&#x4E8E;&#x9AD8;&#x7EF4;&#x7A7A;&#x95F4;&#x4E2D;&#x7684;&#x6570;&#x636E;&#x5411;&#x91CF;&#xFF0C;&#x666E;&#x901A;&#x7684;&#x5355;&#x4E00;&#x6A21;&#x578B;(Export)&#x53EF;&#x4EE5;&#x7ED9;&#x51FA;&#x90E8;&#x5206;&#x6EE1;&#x8DB3;&#x5176;&#x9650;&#x5B9A;&#x6761;&#x4EF6;&#x7684;&#x6570;&#x636E;&#x5411;&#x91CF;&#x7684;&#x9AD8;&#x6982;&#x7387;&#x63A8;&#x65AD;&#x3002;PoE&#x901A;&#x8FC7;&#x5C06;&#x4E0D;&#x540C;&#x7684;&#x6982;&#x7387;&#x6A21;&#x578B;&#x4E58;&#x79EF;&#x8D77;&#x6765;&#xFF0C;&#x53EF;&#x4EE5;&#x5F88;&#x597D;&#x5730;&#x5BF9;&#x9AD8;&#x7EF4;&#x6570;&#x636E;&#x8FDB;&#x884C;&#x62DF;&#x5408;&#xFF0C;&#x6700;&#x5E38;&#x89C1;&#x7684;&#x4F8B;&#x5B50;&#x4E3A;&#x9AD8;&#x65AF;&#x6A21;&#x578B;&#x7684;&#x6DF7;&#x5408;&#x3002;&#x4F5C;&#x8005;&#x6307;&#x51FA;&#xFF0C;&#x5982;&#x679C;&#x5728;&#x6DF7;&#x5408;&#x6A21;&#x578B;&#x4E2D;&#x6709;&#x8DB3;&#x591F;&#x591A;&#x6570;&#x91CF;&#x7684;&#x5355;&#x4E00;&#x6A21;&#x578B;&#xFF0C;&#x5B83;&#x53EF;&#x4EE5;&#x51C6;&#x786E;&#x8FD1;&#x4F3C;&#x8868;&#x8FBE;&#x4EFB;&#x4F55;&#x5149;&#x6ED1;&#x7684;&#x5206;&#x5E03;&#x3002;&#x5728;&#x62DF;&#x5408;&#x6570;&#x636E;&#xFF0C;&#x5BF9;&#x4E8E;&#x6DF7;&#x5408;&#x6A21;&#x578B;&#x7684;&#x6C42;&#x89E3;&#x65B9;&#x6CD5;&#x6BD4;&#x8F83;&#x5E38;&#x7528;&#x7684;&#x6709;<a href="http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html" target="_blank" rel="external">EM&#x7B97;&#x6CD5;</a>&#x548C;&#x68AF;&#x5EA6;&#x4E0B;&#x964D;&#x65B9;&#x6CD5;&#x3002;</p>
<p>&#x5269;&#x4E0B;&#x7684;&#x4E8B;&#x60C5;&#xFF0C;&#x5C31;&#x662F;&#x5982;&#x4F55;&#x5C06;PoE&#x6A21;&#x578B;&#x62DF;&#x5408;&#x5230;&#x6570;&#x636E;&#x4E86;&#xFF0C;&#x8FD9;&#x70B9;&#x4E0D;&#x592A;&#x597D;&#x505A;&#x3002;&#x4F5C;&#x8005;&#x4ECB;&#x7ECD;&#x4E86;&#x4E00;&#x79CD;&#x5DE7;&#x5999;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x5C06;&#x4F18;&#x5316;&#x76EE;&#x6807;&#xFF0C;&#x66FF;&#x6362;&#x6210;&#x4E86;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x3002;&#x5F53;&#x7136;&#x4F1A;&#x5E26;&#x6765;&#x4E00;&#x5B9A;&#x7684;&#x635F;&#x5931;&#xFF0C;&#x8FD9;&#x4E00;&#x70B9;&#x6211;&#x4EEC;&#x5728;&#x540E;&#x9762;&#x7684;&#x63A8;&#x5BFC;&#x91CC;&#x9762;&#x80FD;&#x770B;&#x5230;&#xFF0C;&#x4E0D;&#x8FC7;&#xFF0C;&#x5BF9;&#x4E8E;&#x6574;&#x4E2A;&#x6A21;&#x578B;&#x7684;&#x8BAD;&#x7EC3;&#x65B9;&#x4FBF;&#x800C;&#x8A00;&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x635F;&#x5931;&#x662F;&#x53EF;&#x4EE5;&#x63A5;&#x53D7;&#x7684;&#x3002;</p>
<h4 id="&#x4F7F;&#x7528;&#x6700;&#x5927;&#x4F3C;&#x7136;&#x6CD5;&#x8BAD;&#x7EC3;PoE"><a href="#&#x4F7F;&#x7528;&#x6700;&#x5927;&#x4F3C;&#x7136;&#x6CD5;&#x8BAD;&#x7EC3;PoE" class="headerlink" title="&#x4F7F;&#x7528;&#x6700;&#x5927;&#x4F3C;&#x7136;&#x6CD5;&#x8BAD;&#x7EC3;PoE"></a>&#x4F7F;&#x7528;&#x6700;&#x5927;&#x4F3C;&#x7136;&#x6CD5;&#x8BAD;&#x7EC3;PoE</h4><p>&#x8BA8;&#x8BBA;&#x6BD4;&#x8F83;&#x5BB9;&#x6613;&#x8BA1;&#x7B97;&#x5BFC;&#x6570;&#x7684;&#x5355;&#x4E00;&#x6A21;&#x578B;&#x3002;&#x6570;&#x636E;&#x5411;&#x91CF;${\bf{d}}$&#x5728;$n$&#x4E2A;&#x5355;&#x4E00;&#x6A21;&#x578B;&#x7EC4;&#x6210;&#x7684;PoE&#x4E2D;&#x7684;&#x6982;&#x7387;&#x4E3A;&#xFF1A;</p>
$$p({\bf{d}}|{\theta _1} \ldots {\theta _n}) = {{{\Pi _m}{p_m}({\bf{d}}|{\theta _m})} \over {\sum\nolimits_c {{\Pi _m}{p_m}({\bf{c}}|{\theta _m})} }} --------(3)$$
<p>&#x8BB0;${\bf{d}}$&#x4E3A;&#x79BB;&#x6563;&#x7A7A;&#x95F4;&#x7684;&#x6570;&#x636E;&#x5411;&#x91CF;&#xFF0C;${\theta _m}$&#x4E3A;&#x5355;&#x4E00;&#x6A21;&#x578B;$m$&#x7684;&#x6240;&#x6709;&#x53C2;&#x6570;&#xFF0C;${p_m}(d|{\theta _m})$&#x4E3A;&#x6A21;&#x578B;$m$&#x4E2D;${\bf{d}}$&#x7684;&#x6982;&#x7387;&#xFF0C;$c$&#x8868;&#x793A;&#x6570;&#x636E;&#x7A7A;&#x95F4;&#x4E2D;&#x6240;&#x6709;&#x53EF;&#x80FD;&#x7684;&#x6570;&#x636E;&#x5411;&#x91CF;</p>
<p>&#x5C06;PoE&#x62DF;&#x5408;&#x5230;&#x4E00;&#x7EC4;<em>iid</em>&#x7684;&#x6570;&#x636E;&#x5411;&#x91CF;&#x4E0A;&#xFF0C;&#x5F88;&#x81EA;&#x7136;&#x5C31;&#x60F3;&#x5230;&#x5BF9;&#x6BCF;&#x4E2A;&#x6570;&#x636E;&#x5411;&#x91CF;&#x7684;log&#x4F3C;&#x7136;&#x6C42;&#x5BFC;&#xFF0C;&#x5F97;&#x5230;&#x4E0B;&#x9762;&#x7684;&#x5F0F;&#x5B50;&#xFF1A;<br>$${{\partial \log p({\bf{d}}|{\theta _1} \ldots {\theta _n})} \over {\partial {\theta _m}}} = {{\partial \log {p_m}({\bf{d}}|{\theta _m})} \over {\partial {\theta _m}}} - \sum\limits_c^{} {p({\bf{c}}|{\theta _1} \ldots {\theta _n})} {{\partial \log {p_m}({\bf{c}}|{\theta _m})} \over {\partial {\theta _m}}}---(4)$$</p>
<p>&#x7B49;&#x5F0F;&#x53F3;&#x8FB9;&#x7B2C;&#x4E8C;&#x9879;&#x6570;&#x636E;&#x53D8;&#x91CF;$c$&#x7684;log&#x6982;&#x7387;&#x7684;&#x5BFC;&#x6570;&#x671F;&#x671B;&#xFF08; <em>expected derivative</em> &#xFF09;&#x3002;&#x5047;&#x8BBE;&#x6BCF;&#x4E2A;&#x5355;&#x4E00;&#x6A21;&#x578B;&#x90FD;&#x5BB9;&#x6613;&#x6C42;&#x5BFC;&#xFF0C;&#x5BF9;&#x4E8E;&#x6570;&#x636E;&#x53D8;&#x91CF;$c$&#x7684;&#x5206;&#x5E03;&#x800C;&#x8A00;&#xFF0C;&#x90A3;&#x4E48;&#x6BD4;&#x8F83;&#x96BE;&#x7684;&#x5730;&#x65B9;&#x5C31;&#x5728;&#x4E8E;&#x4F30;&#x8BA1;&#x6570;&#x636E;&#x7684;log&#x6982;&#x7387;&#x7684;&#x5BFC;&#x6570;&#x3002;&#x5B9E;&#x73B0;&#x7684;&#x65B9;&#x6CD5;&#x6709;&#x591A;&#x79CD;&#xFF0C;&#x5BF9;&#x4E8E;&#x79BB;&#x6563;&#x6570;&#x636E;&#x53EF;&#x7528;&#x62D2;&#x7EDD;&#x91C7;&#x6837;&#xFF1A;PoE&#x4E2D;&#x7684;&#x6BCF;&#x4E2A;&#x5355;&#x6A21;&#x578B;&#x5206;&#x522B;&#x72EC;&#x7ACB;&#x751F;&#x6210;&#x4E00;&#x7EC4;&#x6570;&#x636E;&#x5411;&#x91CF;&#xFF0C;&#x91CD;&#x590D;&#x8FD9;&#x4E2A;&#x6B65;&#x9AA4;&#x76F4;&#x5230;&#x6240;&#x6709;&#x7684;&#x5355;&#x6A21;&#x578B;&#x7ED3;&#x679C;&#x6070;&#x597D;&#x4E00;&#x81F4;&#x3002;&#x62D2;&#x7EDD;&#x91C7;&#x6837;&#x6BD4;&#x8F83;&#x5F62;&#x8C61;&#x5730;&#x8868;&#x8FBE;&#x4E86;PoE&#x5BF9;&#x6574;&#x4F53;&#x6982;&#x7387;&#x5206;&#x5E03;&#x7684;&#x62DF;&#x5408;&#xFF0C;&#x4F46;&#x662F;&#x6548;&#x7387;&#x4F4E;&#x3002;&#x4F7F;&#x7528;Gibbs&#x91C7;&#x6837;&#x7684;&#x9A6C;&#x5C14;&#x79D1;&#x592B;&#x94FE;&#x8499;&#x7279;&#x5361;&#x6D1B;MCMC&#x65B9;&#x6CD5;&#x6548;&#x7387;&#x66F4;&#x9AD8;&#x3002;&#x5728;Gibbs&#x91C7;&#x6837;&#x4E2D;&#xFF0C;&#x7ED9;&#x5B9A;&#x5F53;&#x524D;&#x5176;&#x4ED6;&#x53D8;&#x91CF;&#x7684;&#x72B6;&#x6001;&#xFF0C;&#x5BF9;&#x6BCF;&#x4E2A;&#x53D8;&#x91CF;&#x7684;&#x540E;&#x9A8C;&#x5206;&#x5E03;&#x8FDB;&#x884C;&#x91C7;&#x6837;&#x3002;&#x5BF9;&#x4E8E;RBM&#xFF0C;&#x7ED9;&#x5B9A;&#x4E86;&#x89C2;&#x5BDF;&#x6570;&#x636E;&#xFF0C;&#x6BCF;&#x4E2A;&#x6A21;&#x578B;&#x7684;&#x9690;&#x542B;&#x72B6;&#x6001;&#x53EF;&#x4EE5;&#x5E76;&#x884C;&#x66F4;&#x65B0;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x4EEC;&#x662F;&#x6761;&#x4EF6;&#x72EC;&#x7ACB;&#x7684;&#x3002;&#x8FD9;&#x6837;&#x7684;&#x8BDD;&#xFF0C;&#x5982;&#x679C;&#x5BF9;&#x4E8E;&#x6BCF;&#x4E2A;&#x5355;&#x6A21;&#x578B;&#x4E5F;&#x6709;&#x8FD9;&#x6837;&#x7684;&#x6027;&#x8D28;&#xFF1A;&#x5728;&#x7ED9;&#x5B9A;&#x5355;&#x6A21;&#x578B;&#x7684;&#x9690;&#x542B;&#x72B6;&#x6001;&#xFF0C;&#x6570;&#x636E;&#x5411;&#x91CF;&#x7684;&#x5206;&#x5E03;&#x4E5F;&#x662F;&#x6761;&#x4EF6;&#x72EC;&#x7ACB;&#x7684;&#x3002;&#x90A3;&#x4E48;&#x9690;&#x542B;&#x548C;&#x53EF;&#x89C1;&#x53D8;&#x91CF;&#x53EF;&#x4EE5;&#x5F62;&#x6210;&#x4E00;&#x4E2A;&#x4E8C;&#x5206;&#x56FE;&#xFF0C;&#x8FD9;&#x6837;&#x5728;&#x9690;&#x542B;&#x5C42;&#x548C;&#x53EF;&#x89C1;&#x5C42;&#x4E4B;&#x95F4;&#x5F62;&#x6210;&#x4E00;&#x4E2A;&#x4E8C;&#x5206;&#x56FE;&#xFF0C;&#x7ED9;&#x5B9A;&#x9690;&#x542B;&#x5C42;&#x72B6;&#x6001;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x5E76;&#x884C;&#x66F4;&#x65B0;&#x6240;&#x6709;&#x7684;&#x6570;&#x636E;&#x5411;&#x91CF;(&#x5373;&#x53EF;&#x89C1;&#x5C42;&#x7684;&#x5355;&#x5143;)&#x3002;&#x4F7F;&#x7528;Gibbs&#x91C7;&#x6837;&#x53EF;&#x4EE5;&#x5728;&#x9690;&#x542B;&#x5C42;&#x548C;&#x53EF;&#x89C1;&#x5C42;&#x7684;&#x5E76;&#x884C;&#x66F4;&#x65B0;&#x4E2D;&#x8D8B;&#x8FD1;&#x6570;&#x636E;&#x53D8;&#x91CF;&#x7684;&#x771F;&#x5B9E;&#x5206;&#x5E03;&#x3002;</p>
<p>&#x4E0D;&#x5DE7;&#x7684;&#x662F;&#xFF0C;&#x5728;&#x91C7;&#x6837;&#x524D;&#x901A;&#x8FC7;&#x8BA1;&#x7B97;&#x53EF;&#x4EE5;&#x63A5;&#x8FD1;&#x5747;&#x8861;&#x5206;&#x5E03;&#x867D;&#x7136;&#x53EF;&#x884C;&#xFF0C;&#x8FD9;&#x4F1A;&#x5E26;&#x6765;&#x4E86;&#x7B2C;&#x4E8C;&#x4E2A;&#x96BE;&#x9898;&#x3002;&#x5BF9;&#x5747;&#x8861;&#x5206;&#x5E03;&#x8FDB;&#x884C;&#x91C7;&#x6837;&#xFF0C;&#x7531;&#x4E8E;&#x6837;&#x672C;&#x6765;&#x81EA;&#x6A21;&#x578B;&#x7684;&#x5206;&#x5E03;&#xFF0C;&#x4F1A;&#x5448;&#x73B0;&#x51FA;&#x9AD8;&#x5EA6;&#x5DEE;&#x5F02;&#x6027;&#xFF0C;&#x8FD9;&#x79CD;&#x9AD8;&#x5EA6;&#x5DEE;&#x5F02;&#x6027;&#x4F7F;&#x5F97;&#x5BFC;&#x6570;&#x96BE;&#x4EE5;&#x8BA1;&#x7B97;&#x3002;</p>
<h4 id="&#x6700;&#x5C0F;&#x5316;&#x5BF9;&#x6BD4;&#x5206;&#x6B67;&#xFF08;contrastive-divergence&#xFF09;&#x8BAD;&#x7EC3;"><a href="#&#x6700;&#x5C0F;&#x5316;&#x5BF9;&#x6BD4;&#x5206;&#x6B67;&#xFF08;contrastive-divergence&#xFF09;&#x8BAD;&#x7EC3;" class="headerlink" title="&#x6700;&#x5C0F;&#x5316;&#x5BF9;&#x6BD4;&#x5206;&#x6B67;&#xFF08;contrastive divergence&#xFF09;&#x8BAD;&#x7EC3;"></a>&#x6700;&#x5C0F;&#x5316;&#x5BF9;&#x6BD4;&#x5206;&#x6B67;&#xFF08;contrastive divergence&#xFF09;&#x8BAD;&#x7EC3;</h4><p>&#x6700;&#x5927;&#x5316;&#x6570;&#x636E;&#x7684;log-&#x4F3C;&#x7136;&#x7B49;&#x4EF7;&#x4E8E;&#x6700;&#x5C0F;&#x5316;&#x6570;&#x636E;&#x5206;&#x5E03;$Q^0$&#x548C;&#x5747;&#x8861;&#x5206;&#x5E03;$Q^\infty $&#x7684;Kullback-Liebler divergence&#x3002;&#x5982;&#x524D;&#x6240;&#x8FF0;&#x5747;&#x8861;&#x5206;&#x5E03;$Q^\infty $&#x6765;&#x81EA;&#x4E8E;&#x751F;&#x6210;&#x6A21;&#x578B;&#x7684;Gibbs&#x91C7;&#x6837;&#x3002;<br>$${Q^0}||{Q^\infty } = \sum\limits_{}^{} {Q_d^0\log Q_d^0 - \sum\limits_{}^{} {Q_d^0\log Q_d^\infty } }  =  - H({Q^0}) -  &lt; \log Q_d^\infty { &gt; _{{Q^0}}}$$</p>
<p>&#x5176;&#x4E2D;||&#x7B26;&#x53F7;&#x8868;&#x793A;Kullback-Leibler divergence&#xFF0C;&#x5C16;&#x62EC;&#x53F7;&#x8868;&#x793A;&#x4E0B;&#x6807;&#x5F0F;&#x5BF9;&#x5E94;&#x5206;&#x5E03;&#x7684;&#x671F;&#x671B;&#xFF0C;$H(Q^0)$&#x4E3A;&#x6570;&#x636E;&#x5206;&#x5E03;&#x7684;&#x71B5;&#x3002;$Q^0$&#x4E0D;&#x4F9D;&#x8D56;&#x4E8E;&#x6A21;&#x578B;&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x56E0;&#x6B64;&#x5728;&#x4F18;&#x5316;&#x8FC7;&#x7A0B;&#x4E2D;&#x53EF;&#x4EE5;&#x5FFD;&#x89C6;$H(Q^0)$&#x3002;&#x6CE8;&#x610F;$Q_d^\infty$&#x53EA;&#x662F;$p(\bf{d}|\theta_1...\theta_n)$&#x7684;&#x53E6;&#x4E00;&#x79CD;&#x5F62;&#x5F0F;&#x3002;&#x516C;&#x5F0F;&#xFF08;4&#xFF09;&#x91CD;&#x5199;&#x4E3A;&#xFF1A;</p>
$${&lt; {{{\partial \log Q_d^\infty } \over {\partial {\theta _m}}}} &gt; _{{Q^0}}} = {&lt; {{{\partial \log {p_m}({\bf{d}}|{\theta _m})} \over {\partial {\theta _m}}}} &gt; _{{Q^0}}} - {&lt; {{{\partial \log {p_m}({\bf{c}}|{\theta _m})} \over {\partial {\theta _m}}}} &gt; _{{Q^\infty }}}----(5)$$
<p>&#x7ECF;&#x8FC7;&#x6539;&#x5199;&#x540E;&#xFF0C;&#x7528;&#x4E0A;&#x5F0F;&#x8BA1;&#x7B97;log-&#x4F3C;&#x7136;&#x7684;&#x6700;&#x5927;&#x503C;&#x66F4;&#x7B80;&#x5355;&#x548C;&#x6548;&#x7387;&#x9AD8;&#x3002;&#x8FD9;&#x4E2A;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x5305;&#x542B;&#x4E86;&#x53E6;&#x4E00;&#x79CD;&#x4F18;&#x5316;&#x53EF;&#x80FD;&#xFF0C;&#x6211;&#x53EF;&#x4EE5;&#x7528;&#x6700;&#x5C0F;&#x5316;${Q^0}||{Q^\infty }$&#x548C;${Q^1}||{Q^\infty }$&#x7684;&#x5DEE;&#xFF0C;$Q^1$&#x662F;&#x7ECF;&#x8FC7;&#x4E00;&#x4E2A;&#x5B8C;&#x6574;Gibbs&#x91C7;&#x6837;&#x6B65;&#x9AA4;&#xFF0C;&#x91CD;&#x5EFA;&#x540E;&#x6570;&#x636E;&#x5411;&#x91CF;&#x7684;&#x5206;&#x5E03;&#x3002;</p>
<p>&#x6700;&#x5F00;&#x59CB;&#x4F7F;&#x7528;&#x201C;constrastive divergence&#x201D;&#x7684;&#x76EE;&#x7684;&#x662F;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x901A;&#x8FC7;&#x4F7F;&#x7528;Gibbs&#x91C7;&#x6837;&#x5BF9;Markov chain&#x8FDB;&#x884C;&#x5904;&#x7406;&#xFF0C;&#x4F7F;&#x5F97;&#x521D;&#x59CB;&#x53EF;&#x89C1;&#x5C42;&#x5206;&#x5E03;$Q^0$&#x4E0D;&#x4F1A;&#x88AB;&#x6539;&#x53D8;&#x3002;&#x8FD9;&#x6837;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x628A;&#x8FD9;&#x4E2A;chain&#x63A8;&#x6F14;&#x5230;&#x5747;&#x8861;&#x5206;&#x5E03;&#xFF0C;&#x518D;&#x4E0E;&#x521D;&#x59CB;&#x5206;&#x5E03;&#x6BD4;&#x8F83;&#x6765;&#x6C42;&#x51FA;&#x5BFC;&#x6570;&#x3002;&#x8FD9;&#x91CC;&#x6211;&#x4EEC;&#x53EA;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x7B80;&#x5316;&#x7248;&#x672C;&#xFF0C;&#x901A;&#x8FC7;&#x7B80;&#x5355;&#x8FD0;&#x884C;chain&#x4E00;&#x6B21;&#x5B8C;&#x6574;&#x7684;Gibbs&#x91C7;&#x6837;&#x6765;&#x66F4;&#x65B0;&#x53C2;&#x6570;&#xFF0C;&#x4F7F;&#x5F97;chain&#x521D;&#x59CB;&#x5206;&#x5E03;&#x5230;&#x7B2C;&#x4E00;&#x6B65;&#x91C7;&#x6837;&#x540E;&#x7684;&#x5206;&#x5E03;&#x4E4B;&#x95F4;&#x7684;&#x53D8;&#x5316;&#x4E0B;&#x964D;&#x8D8B;&#x52BF;&#x3002;&#x7406;&#x7531;&#x662F;&#x8FD9;&#x6837;&#x7684;&#xFF0C;&#x56E0;&#x4E3A;$Q^1$&#x6BD4;$Q^0$&#x8DDD;&#x79BB;&#x5747;&#x8861;&#x5206;&#x5E03;&#x66F4;&#x8FD1;&#x4E00;&#x4E9B;&#xFF0C;&#x6211;&#x4EEC;&#x5982;&#x679C;&#x53EF;&#x4EE5;&#x4FDD;&#x8BC1;&#x201C;$Q^0||Q^{\infty}$ $ \ge $ $Q^1||Q^{\infty}$&#xFF0C;&#x7B49;&#x53F7;&#x6210;&#x7ACB;&#x7684;&#x6761;&#x4EF6;&#x662F;$Q^0=Q^1$&#x201D;&#xFF0C;&#x8FD9;&#x6837;&#xFF0C;contrastive divergence&#x4E0D;&#x4F1A;&#x4E3A;&#x8D1F;&#xFF0C;&#x5728;&#x4F20;&#x64AD;&#x8FC7;&#x7A0B;&#x4E2D;&#x6574;&#x4E2A;markov chains&#x90FD;&#x662F;&#x975E;&#x96F6;&#x6982;&#x7387;&#x3002;$Q^0=Q^1$&#x610F;&#x5473;&#x7740;$Q^0=Q^{\infty}$&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#xFF0C;&#x5982;&#x679C;&#x6A21;&#x578B;&#x5F88;&#x5B8C;&#x7F8E;&#xFF0C;&#x4F1A;&#x51FA;&#x73B0;contrastive divergence&#x4E3A;&#x96F6;&#x7684;&#x60C5;&#x51B5;&#x3002;&#x4ECE;&#x6570;&#x503C;&#x6C42;&#x89E3;&#x89D2;&#x5EA6;&#x770B;&#xFF0C;&#x516C;&#x5F0F;&#xFF08;5&#xFF09;&#x91CC;&#x9762;&#x7B49;&#x53F7;&#x53F3;&#x8FB9;&#x7B2C;&#x4E8C;&#x9879;&#x6BD4;&#x8F83;&#x96BE;&#x7B97;&#xFF0C;&#x901A;&#x8FC7;&#x6362;&#x4E00;&#x79CD;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x4EE5;&#x907F;&#x514D;&#x5BF9;&#x5176;&#x76F4;&#x63A5;&#x6C42;&#x89E3;&#xFF1A;<br>$$ - {\partial  \over {\partial {\theta _m}}}({Q^0}||{Q^\infty } - {Q^1}||{Q^\infty }) = {&lt; {{{\partial \log {p_m}({\bf{d}}|{\theta _m})} \over {\partial {\theta _m}}}} &gt; _{{Q^0}}} - {&lt; {{{\partial \log {p_m}({\bf{\hat d}}|{\theta _m})} \over {\partial {\theta _m}}}} &gt; _{{Q^1}}} + {{\partial {Q^1}} \over {\partial {\theta _m}}}{{\partial {Q^1}||{Q^\infty }} \over {\partial {Q^1}}}--(6)$$</p>
<p>&#x5982;&#x679C;&#x6BCF;&#x4E2A;&#x5355;&#x6A21;&#x578B;&#x5BB9;&#x6613;&#x6C42;&#x89E3;&#xFF0C;&#x90A3;&#x4E48;&#x5F88;&#x5BB9;&#x6613;&#x8BA1;&#x7B97;&#x51FA;${\log {p_m}({\bf{d}}|{\theta _m})}$&#x548C;${\log {p_m}({\bf{\hat d}}|{\theta _m})}$&#x7684;&#x5BFC;&#x6570;&#x3002;&#x4ECE;$Q^0$&#x548C;$Q^1$&#x4E2D;&#x91C7;&#x6837;&#x4E5F;&#x6BD4;&#x8F83;&#x76F4;&#x89C2;&#x53EF;&#x884C;&#xFF0C;&#x56E0;&#x6B64;&#x7B49;&#x5F0F;&#x53F3;&#x8FB9;&#x524D;&#x4E24;&#x9879;&#x7684;&#x503C;&#x6BD4;&#x8F83;&#x5BB9;&#x6613;&#x5F97;&#x5230;&#x3002;$Q^1$&#x7684;&#x65E0;&#x504F;&#x91C7;&#x6837;&#x6D41;&#x7A0B;&#x5982;&#x4E0B;</p>
<ol>
<li>&#x5728;&#x6570;&#x636E;&#x5206;&#x5E03;$Q^0$&#x4E2D;&#xFF0C;&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x5411;&#x91CF;&#xFF0C;$\bf{d}$</li>
<li>&#x5BF9;&#x6BCF;&#x4E00;&#x4E2A;&#x5355;&#x6A21;&#x578B;&#xFF0C;&#x7ED9;&#x5B9A;&#x6570;&#x636E;&#x5411;&#x91CF;$\bf{d}$&#xFF0C;&#x5206;&#x522B;&#x8BA1;&#x7B97;&#x5176;&#x540E;&#x9A8C;&#x6982;&#x7387;&#x5206;&#x5E03;</li>
<li>&#x4ECE;&#x540E;&#x9A8C;&#x6982;&#x7387;&#x5206;&#x5E03;&#x4E2D;&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x503C;&#xFF0C;&#x8D4B;&#x7ED9;&#x9690;&#x542B;&#x5C42;&#x53D8;&#x91CF;</li>
<li>&#x7ED9;&#x5B9A;&#x9690;&#x542B;&#x5C42;&#x53D8;&#x91CF;&#x540E;&#xFF0C;&#x5C06;&#x6BCF;&#x4E2A;&#x5355;&#x6A21;&#x578B;&#x7684;&#x6761;&#x4EF6;&#x5206;&#x5E03;&#x4E58;&#x79EF;&#x540E;&#x8BA1;&#x7B97;&#x53EF;&#x89C1;&#x5C42;&#x53D8;&#x91CF;&#x7684;&#x6761;&#x4EF6;&#x5206;&#x5E03;&#x3002;</li>
<li>&#x4ECE;&#x6761;&#x4EF6;&#x5206;&#x5E03;&#x4E2D;&#x4E3A;&#x6BCF;&#x4E2A;&#x53EF;&#x89C1;&#x53D8;&#x91CF;&#x9009;&#x53D6;&#x4E00;&#x4E2A;&#x503C;&#xFF0C;&#x8FD9;&#x4E9B;&#x503C;&#x6784;&#x6210;&#x4E86;&#x91CD;&#x5EFA;&#x540E;&#x7684;&#x6570;&#x636E;&#x5411;&#x91CF;$\bf{\hat d}$</li>
</ol>
<p>&#x516C;&#x5F0F;&#xFF08;6&#xFF09;&#x7B49;&#x5F0F;&#x53F3;&#x8FB9;&#x7684;&#x7B2C;&#x4E09;&#x9879;&#x4E5F;&#x662F;&#x76F8;&#x5F53;&#x96BE;&#x7B97;&#xFF0C;&#x5927;&#x91CF;&#x7684;&#x6A21;&#x62DF;&#x8868;&#x660E;&#xFF0C;&#x7531;&#x4E8E;&#x8FD9;&#x9879;&#x5F88;&#x5C0F;&#x5E76;&#x6781;&#x5C11;&#x4E0E;&#x524D;&#x4E24;&#x9879;&#x8868;&#x73B0;&#x51FA;&#x76F8;&#x53CD;&#x6027;&#x8D28;&#xFF0C;&#x53EF;&#x4EE5;&#x88AB;&#x5FFD;&#x7565;&#x3002;&#x8FD9;&#x6837;&#x7684;&#x8BDD;&#xFF0C;&#x6211;&#x4EEC;&#x53EA;&#x901A;&#x8FC7;&#x524D;&#x4E24;&#x9879;&#x6765;&#x8FD1;&#x4F3C;contrastive divergence&#x7684;&#x5BFC;&#x6570;&#xFF0C;&#x53EF;&#x4EE5;&#x8C03;&#x8282;&#x6A21;&#x578B;&#x7684;&#x53C2;&#x6570;&#x3002;<br>$$\Delta {\theta _m} \propto {\langle {{{\partial \log {p_m}({\bf{d}}|{\theta _m})} \over {\partial {\theta _m}}}} \rangle _{{Q^0}}} - {\langle {{{\partial \log {p_m}({\bf{\hat d}}|{\theta _m})} \over {\partial {\theta _m}}}} \rangle _{{Q^1}}}$$</p>
<p>&#x4F7F;&#x7528;&#x7B2C;&#x4E00;&#x6B65;&#x91CD;&#x5EFA;&#x7684;&#x6570;&#x636E;&#x5411;&#x91CF;&#x6765;&#x4EE3;&#x66FF;&#x6700;&#x7EC8;&#x7684;&#x91CD;&#x5EFA;&#x7684;&#x6982;&#x7387;&#x5206;&#x5E03;&#x662F;&#x4E00;&#x79CD;&#x884C;&#x4E4B;&#x6709;&#x6548;&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x7531;&#x4E8E;&#x91CD;&#x5EFA;&#x7684;&#x8FC7;&#x7A0B;&#x6709;&#x968F;&#x673A;&#x6027;&#xFF0C;&#x6570;&#x636E;&#x5411;&#x91CF;&#x7684;&#x5BFC;&#x6570;&#x548C;&#x4ED6;&#x4EEC;&#x91CD;&#x5EFA;&#x6570;&#x636E;&#x5B58;&#x5728;&#x504F;&#x5DEE;&#x3002;&#x5F53;PoE&#x5BF9;&#x6570;&#x636E;&#x8FDB;&#x884C;&#x5EFA;&#x6A21;&#x5408;&#x5B9C;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x6570;&#x636E;&#x7ECF;&#x8FC7;&#x4E00;&#x6B65;&#x91CD;&#x5EFA;&#x4E0E;&#x6570;&#x636E;&#x5411;&#x91CF;&#x7684;&#x5DEE;&#x522B;&#x975E;&#x5E38;&#x5C0F;&#x3002;</p>
<p>&#x53C2;&#x8003;&#x6587;&#x7AE0;&#xFF1A;<br>1.Hinton G E. <a href="http://www-clmc.usc.edu/publications/H/hinton-NC2002.pdf" target="_blank" rel="external">Training products of experts by minimizing contrastive divergence</a>[J]. Neural computation, 2002, 14(8): 1771-1800.</p>
<hr>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt; &amp;#x8FD9;&amp;#x7BC7;&amp;#x6587;&amp;#x7AE0;&amp;#x521D;&amp;#x89C1;&amp;#x5728;hinton 2006 A Practical Guide to Training Restricted Boltzmann Machines,&amp;#x4E0B;
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="deep learning" scheme="https://mlnote.com/tags/deep-learning/"/>
    
      <category term="RBMs" scheme="https://mlnote.com/tags/RBMs/"/>
    
  </entry>
  
  <entry>
    <title>朴素贝叶斯分类算法简介</title>
    <link href="https://mlnote.com/2014/03/02/naive-bayes-classify/"/>
    <id>https://mlnote.com/2014/03/02/naive-bayes-classify/</id>
    <published>2014-03-02T08:45:41.000Z</published>
    <updated>2016-09-24T13:04:54.661Z</updated>
    
    <content type="html"><![CDATA[<p>&#x672C;&#x7BC7;&#x4E3B;&#x8981;&#x4ECB;&#x7ECD;&#x8D1D;&#x53F6;&#x65AF;&#x5206;&#x7C7B;&#x7B97;&#x6CD5;&#x4E2D;&#x7684;&#x6734;&#x7D20;&#x8D1D;&#x53F6;&#x65AF;&#x4EE5;&#x53CA;&#x591A;&#x9879;&#x5F0F;&#x6A21;&#x578B;&#xFF0C;&#x4EE5;&#x53CA;&#x5904;&#x7406;&#x8FDE;&#x7EED;&#x53D8;&#x91CF;&#x7684;&#x9AD8;&#x65AF;&#x6A21;&#x578B;&#x3002;</p>
<blockquote>
<p>&#x524D;&#x8A00;&#xFF0C;&#x5728;&#x89C2;&#x770B;&#x65AF;&#x5766;&#x798F;&#x516C;&#x5F00;&#x8BFE;&#x5973;&#x795E;<a href="https://class.coursera.org/pgm-003" target="_blank" rel="external">Daphne Koller</a>&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x5BF9;&#x89C6;&#x9891;week1.6&#x91CC;&#x4ECB;&#x7ECD;&#x7684;&#x4E24;&#x4E2A;&#x7B97;&#x6CD5;&#x4E0D;&#x7406;&#x89E3;&#xFF0C;&#x627E;&#x4E86;&#x4E9B;&#x8D44;&#x6599;&#x5E2E;&#x52A9;&#x7406;&#x89E3;&#xFF0C;&#x7279;&#x8BB0;&#x5F55;&#x5982;&#x4E0B;&#xFF0C;&#x6B22;&#x8FCE;&#x4EA4;&#x6D41;</p>
</blockquote>
<p>&#x6587;&#x672C;&#x5206;&#x7C7B;&#x95EE;&#x9898;&#x4E2D;&#xFF0C;&#x8981;&#x89E3;&#x51B3;&#x7684;&#x95EE;&#x9898;&#x662F;&#x5982;&#x4F55;&#x5BF9;&#x4E00;&#x4E2A;&#x6587;&#x672C;&#x8FDB;&#x884C;&#x5206;&#x7C7B;&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x5206;&#x7C7B;&#x53EF;&#x4EE5;&#x770B;&#x4E3A;&#x5C06;&#x6587;&#x672C;&#x5BF9;&#x7C7B;&#x522B;&#x8FDB;&#x884C;&#x4E00;&#x6B21;&#x6620;&#x5C04;&#x3002;&#x95EE;&#x9898;&#x7684;&#x6570;&#x5B66;&#x63CF;&#x8FF0;&#x5982;&#x4E0B;&#xFF0C;&#x7ED9;&#x5B9A;&#x7684;&#x6587;&#x6863;&#x96C6;&#x5408;$X$ $X=\{X_1,X_2,...,X_{n} \}$&#xFF0C;&#x5176;&#x4E2D;&#x6587;&#x6863;&#x7531;&#x5F88;&#x591A;&#x5C5E;&#x6027;&#x6784;&#x6210;$X_k=\{x_1,x_2,...,x_{n} \}$&#x3002;&#x8D1D;&#x53F6;&#x65AF;&#x5206;&#x7C7B;&#x5668;&#x4E2D;&#x5C06;&#x8BCD;&#x4F5C;&#x4E3A;&#x6587;&#x6863;&#x7684;&#x57FA;&#x672C;&#x5C5E;&#x6027;&#xFF0C;&#x4F8B;&#x5982;$X_k$&#x4E3A;<code>&quot;good study, Day day up&quot;</code>&#xFF0C;&#x5176;&#x6587;&#x6863;&#x5C5E;&#x6027;&#x7279;&#x5F81;&#x5411;&#x91CF;&#x4E3A;$X_k(Good,good,study,Day,day,up)$&#x3002;$X$&#x7531;n&#x4E2A;&#x6587;&#x6863;&#x7EC4;&#x6210;&#x3002;&#x9884;&#x5148;&#x5B9A;&#x4E49;&#x7684;&#x6587;&#x6863;&#x7C7B;&#x522B;&#x96C6;&#x5408;$Y=\{Y_1,Y_2,...,Y_{|c|} \}$&#xFF0C;&#x6211;&#x4EEC;&#x7684;&#x4EFB;&#x52A1;&#x662F;&#x627E;&#x5230;&#x4E00;&#x4E2A;&#x6709;&#x6548;&#x6620;&#x5C04;&#x51FD;&#x6570;$\Phi $&#xFF0C;&#x51C6;&#x786E;&#x5B9E;&#x73B0;&#x6587;&#x6863;&#x5230;&#x7C7B;&#x522B;&#x7684;&#x6620;&#x5C04;$\Phi:X \to Y $&#x3002;</p>
<p>&#x5728;&#x8FDB;&#x5165;&#x95EE;&#x9898;&#x4E4B;&#x524D;&#xFF0C;&#x5148;&#x56DE;&#x5FC6;&#x4E0B;&#x8D1D;&#x53F6;&#x65AF;&#x516C;&#x5F0F;&#x3002;&#x5BF9;&#x4E8E;&#x4E8B;&#x4EF6;$A$&#x3001;$B$&#xFF0C;&#x5176;&#x6982;&#x7387;&#x5206;&#x522B;&#x4E3A;$P\left(X\right)$&#x3001;$P\left(Y\right)$&#x3002;&#x4E8B;&#x4EF6;$A$&#x53D1;&#x751F;&#x6761;&#x4EF6;&#x4E0B;&#xFF0C;$B$&#x4E5F;&#x53D1;&#x751F;&#x7684;&#x6982;&#x7387;&#x4E3A;:$P\left( {Y|X} \right) = \frac{{P\left( {X,Y} \right)}}{{P\left( X \right)}}$&#x3002;&#x5BF9;&#x4E8E;&#x6587;&#x6863;$X_k$&#x5F52;&#x5C5E;&#x4E8E;&#x54EA;&#x4E2A;&#x7C7B;&#xFF0C;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x627E;&#x5230;&#x6587;&#x6863;$X_k(x_1,x_2,...,x_m)$&#x5C5E;&#x4E8E;&#x6BCF;&#x4E2A;&#x7C7B;&#x522B;$Y_i$&#x7684;&#x6982;&#x7387;&#xFF0C;&#x7528;&#x5982;&#x4E0B;&#x516C;&#x5F0F;&#x8868;&#x793A;&#x4E3A;$$ P\left( {{Y_j}|{X_i}} \right) = \frac{{P\left( {{Y_j}} \right)P\left( {X_i|Y_j} \right)}}{{P\left( X_i \right)}} = \frac{{P\left( Y_j \right)P\left( {x_1,x_2,...,x_m|Y_j} \right)}}{{P(x_1,x_2,...,x_m)}}$$</p>
<p>&#x7136;&#x540E;&#x6839;&#x636E;&#x6700;&#x5927;&#x7684;&#x6982;&#x7387;&#x503C;&#x5224;&#x8BFB;&#x6587;&#x6863;&#x7684;&#x5177;&#x4F53;&#x5F52;&#x5C5E;&#x7C7B;&#x522B;&#x3002;&#x56E0;&#x4E3A;&#x4E0A;&#x8FF0;&#x516C;&#x5F0F;&#x4E2D;${{P(x_1,x_2,...,x_m)}}$&#x662F;&#x5E38;&#x6570;&#xFF0C;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x8F6C;&#x5316;&#x4E3A;&#x4E0B;&#x9762;&#x5F62;&#x5F0F;&#xFF1A;<br>$$\mathop {\arg \max }\limits_{{Y_j}} P(Y_j)P(X_i|Y_j) $$<br>$$  \mathop {\arg \max }\limits_{{Y_j}}P\left( {{Y_j}} \right)P\left( {x_1,x_2,...,x_m|{Y_j}} \right) $$<br>&#x6734;&#x7D20;&#x8D1D;&#x53F6;&#x65AF;&#x5206;&#x7C7B;&#x5668;&#x7684;&#x5047;&#x8BBE;&#x524D;&#x63D0;&#x662F;<strong>&#x6761;&#x4EF6;&#x72EC;&#x7ACB;&#x6027;</strong>&#x3002;&#x7ED9;&#x5B9A;&#x6587;&#x6863;&#x7C7B;&#x522B;$Y$&#xFF0C;&#x5047;&#x8BBE;&#x6587;&#x6863;&#x7684;&#x5C5E;&#x6027;&#x5373;&#x7279;&#x5F81;&#x9879;&#x662F;&#x76F8;&#x4E92;&#x72EC;&#x7ACB;&#x7684;&#x3002;&#x5373;&#xFF1A;<br>$$P(X_i|Y_j)= P\left( {{x_1},{x_2}, \ldots ,{x_n}|{Y_j}} \right) = \prod\limits_{i = 1}^m {P\left( {{x_i}|{Y_j}} \right)} $$</p>
<p>&#x53EF;&#x77E5;&#x6211;&#x4EEC;&#x7684;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x8FDB;&#x4E00;&#x6B65;&#x7B80;&#x5316;&#x4E3A;&#xFF1A;<br>$$ \mathop {\arg \max }\limits_{{Y_j}} P\left( {{Y_j}} \right) \prod\limits_{i = 1}^m {P\left( {{x_i}|{Y_j}} \right)} $$</p>
<p>&#x6211;&#x4EEC;&#x5F97;&#x5230;&#x76EE;&#x6807;&#x51FD;&#x6570;&#x4EE5;&#x540E;&#xFF0C;&#x4E0B;&#x9762;&#x8003;&#x8651;&#x8D1D;&#x53F6;&#x65AF;&#x6A21;&#x578B;&#x7684;&#x9009;&#x62E9;&#x3002;<br>&#x5E38;&#x89C1;&#x4E09;&#x79CD;&#x6A21;&#x578B;&#xFF1A;&#x4F2F;&#x52AA;&#x5229;&#x7B97;&#x6CD5;&#xFF0C;&#x591A;&#x9879;&#x5F0F;&#x6A21;&#x578B;&#xFF0C;&#x9AD8;&#x65AF;&#x6A21;&#x578B;&#x3002;&#x4F2F;&#x52AA;&#x5229;&#x66F4;&#x591A;&#x7528;&#x4E8E;&#x79BB;&#x6563;&#x53D8;&#x91CF;&#x7684;&#x8BA1;&#x7B97;&#xFF0C;&#x540E;&#x8005;&#x9AD8;&#x65AF;&#x6A21;&#x578B;&#x53EF;&#x4EE5;&#x7528;&#x4E8E;&#x5904;&#x7406;&#x8FDE;&#x7EED;&#x53D8;&#x91CF;&#x3002;</p>
<ul>
<li><strong>&#x4F2F;&#x52AA;&#x5229;&#x6734;&#x7D20;&#x8D1D;&#x53F6;&#x65AF;&#x7B97;&#x6CD5;</strong>&#xFF1A;  $$P(X_i|Y_j) = \prod\limits_{i = 1}^m {({B_{x_i}}P({x_i}|{Y_j}) + (1 - {B_{x_i}})(1 - P({x_i}|{Y_j})))} $$  
&#x5176;&#x4E2D;&#x6587;&#x6863;&#x96C6;&#x5408;&#x7684;&#x8BCD;&#x8868;&#x6709;$m$&#x4E2A;&#x7279;&#x5F81;&#x8BCD;&#xFF0C;&#x4E8C;&#x503C;&#x53D8;&#x91CF;$B_{x_i}$&#x8868;&#x793A;&#x5F85;&#x5206;&#x7C7B;&#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0;$x_t$&#x7684;&#x60C5;&#x51B5;&#xFF1A;$B_{x_i}=1$&#x8868;&#x793A;&#x7279;&#x5F81;&#x8BCD;$x_t$&#x5728;&#x5F85;&#x5206;&#x7C7B;&#x6587;&#x6863;&#x4E2D;&#xFF0C;&#x53CD;&#x4E4B;&#xFF0C;&#x5219;&#x4E3A;0&#x3002;$P({x_i}|{Y_j})$&#x8868;&#x793A;&#x8BAD;&#x7EC3;&#x96C6;&#x6587;&#x6863;&#x5C5E;&#x4E8E;${Y_j}$&#x65F6;&#xFF0C;&#x7279;&#x5F81;&#x8BCD;${x_i}$&#x51FA;&#x73B0;&#x7684;&#x6982;&#x7387;&#x3002;&#x5177;&#x4F53;&#x8BA1;&#x7B97;&#x65F6;&#x91C7;&#x7528;$P({x_i}|{Y_j}) = \frac{{1 + {n_{ij}}}}{{2 + {n_j}}}$&#xFF0C;&#x5176;&#x4E2D;$n_{ij}$&#x4E3A;&#x7C7B;$Y_j$&#x5305;&#x542B;&#x7279;&#x5F81;&#x8BCD;$x_i$&#x7684;&#x6587;&#x6863;&#x603B;&#x6570;&#xFF0C;$n_j$&#x4E3A;&#x7C7B;$Y_j$&#x4E2D;&#x5305;&#x542B;&#x7684;&#x603B;&#x6587;&#x6863;&#x6570;&#x76EE;&#x3002;<br>&#x5148;&#x9A8C;&#x6982;&#x7387;&#x7684;&#x8BA1;&#x7B97;&#x516C;&#x5F0F;$P(Y_j)=\frac{&#x7C7B;Y_j&#x4E2D;&#x7684;&#x8BAD;&#x7EC3;&#x6587;&#x672C;&#x603B;&#x6570;}{&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x603B;&#x6570;}$<br>&#x53EF;&#x5F97;&#x8BA1;&#x7B97;&#x5F85;&#x5206;&#x7C7B;&#x6587;&#x6863;&#x5C5E;&#x4E8E;&#x6BCF;&#x4E2A;&#x7C7B;$Y_j$&#x7684;&#x6982;&#x7387;&#xFF0C;&#x53EF;&#x5F97;$ \mathop {\arg \max }\limits_{{Y_j}} P(Y_j)P(X_i|Y_j) $</li>
<li>&#x5BF9;&#x4E0A;&#x8FF0;&#x65B9;&#x6CD5;&#x8FDB;&#x4E00;&#x6B65;&#x89E3;&#x91CA;&#xFF1A;&#x5BF9;&#x4E8E;&#x76EE;&#x6807;&#x5F85;&#x5206;&#x7C7B;&#x6587;&#x6863;$X_k$&#xFF0C;&#x7279;&#x5F81;&#x8BCD;&#x670D;&#x4ECE;&#x4F2F;&#x52AA;&#x5229;&#x5206;&#x5E03;&#xFF0C;&#x5728;&#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0;&#x7279;&#x5F81;&#x8BCD;&#x4E00;&#x6B21;&#x8BB0;&#x4E3A;1&#xFF0C;&#x4E0D;&#x51FA;&#x73B0;&#x8BB0;&#x4E3A;0&#xFF0C;&#x7528;&#x53D8;&#x91CF;$B_{x_i}$&#x8868;&#x793A;&#x3002;&#x6587;&#x6863;&#x4E2D;&#x6709;m&#x4E2A;&#x4E0D;&#x91CD;&#x590D;&#x7279;&#x5F81;&#x8BCD;&#xFF0C;&#x901A;&#x8FC7;m&#x6B21;&#x4F2F;&#x52AA;&#x5229;&#x5B9E;&#x9A8C;&#x4EA7;&#x751F;&#x5BF9;&#x76EE;&#x6807;&#x540E;&#x9A8C;&#x6982;&#x7387;&#x7684;&#x4F30;&#x8BA1;&#xFF1A;$$P(X_i|Y_j) = \prod\limits_{i = 1}^m {({B_{x_i}}P({x_i}|{Y_j}) + (1 - {B_{x_i}})(1 - P({x_i}|{Y_j})))} $$
&#x5176;&#x4E2D;$P({x_i}|{Y_j})$&#x8868;&#x793A;&#x6587;&#x6863;&#x5C5E;&#x4E8E;${Y_j}$&#x65F6;&#xFF0C;&#x7279;&#x5F81;&#x8BCD;${x_i}$&#x51FA;&#x73B0;&#x7684;&#x6982;&#x7387;&#x3002;&#x4ECE;&#x516C;&#x5F0F;&#x53EF;&#x4EE5;&#x770B;&#x51FA;&#xFF0C;&#x5728;&#x591A;&#x53D8;&#x91CF;&#x4F2F;&#x52AA;&#x5229;&#x6A21;&#x578B;&#x4E2D;&#xFF0C;&#x6587;&#x6863;$X_i$&#x5F52;&#x5C5E;&#x540E;&#x9A8C;&#x6982;&#x7387;$P(X_i|Y_j)$&#x8868;&#x793A;&#x4E3A;&#x6240;&#x6709;&#x7279;&#x5F81;&#x8BCD;&#x7684;&#x7C7B;&#x6761;&#x4EF6;&#x6982;&#x7387;&#x7684;&#x4E58;&#x79EF;&#xFF0C;&#x5982;&#x679C;&#x7279;&#x5F81;&#x8BCD;&#x5728;&#x5F85;&#x5206;&#x7C7B;&#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0;&#xFF0C;&#x4E58;&#x4EE5;$P(x_i|Y_j)$&#xFF0C;&#x5426;&#x5219;&#xFF0C;&#x4E58;&#x4EE5;$1-P(x_i|Y_j)$&#x3002;<br>&#x7ED9;&#x5B9A;&#x7C7B;&#x522B;${Y_j}$&#xFF0C;&#x7279;&#x5F81;&#x8BCD;$x_i$&#x7684;&#x7C7B;&#x6761;&#x4EF6;&#x6982;&#x7387;$P(x_i|Y_j)$&#x7684;&#x4F30;&#x7B97;&#x901A;&#x8FC7;&#x7EDF;&#x8BA1;&#x8BAD;&#x7EC3;&#x6587;&#x6863;&#x9891;&#x6570;&#x5F97;&#x5230;&#xFF1A;$P({x_i}|{Y_j}) = \frac{{{n_{ij}}}}{{{n_j}}}$&#xFF0C;&#x5176;&#x4E2D;$n_ij$&#x4E3A;&#x7C7B;$Y_j$&#x5305;&#x542B;&#x7279;&#x5F81;&#x8BCD;$x_i$&#x7684;&#x6587;&#x6863;&#x603B;&#x6570;&#xFF0C;$n_j$&#x4E3A;&#x7C7B;$Y_j$&#x4E2D;&#x5305;&#x542B;&#x7684;&#x603B;&#x6587;&#x6863;&#x6570;&#x76EE;&#x3002;&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x51FA;&#x73B0;&#x96F6;&#x6982;&#x7387;&#xFF0C;&#x901A;&#x5E38;&#x9700;&#x8981;&#x52A0;&#x5165;&#x5E73;&#x6ED1;&#x56E0;&#x5B50;&#xFF0C;&#x4E00;&#x822C;&#x91C7;&#x7528;$m$&#x4F30;&#x8BA1;&#x65B9;&#x6CD5;&#xFF0C;&#x4E0A;&#x8FF0;&#x7C7B;&#x6761;&#x4EF6;&#x6982;&#x7387;$P(x_i|Y_j)$&#x6539;&#x5199;&#x4E3A;$P({x_i}|{Y_j}) = \frac{{1 + {n_{ij}}}}{{2 + {n_j}}}$&#x4F8B;&#x5982;&#x53D6;$m=2$&#xFF0C;$p=1/2$</li>
</ul>
<p>PS.&#x53EF;&#x4EE5;&#x770B;&#x51FA;&#x4F2F;&#x52AA;&#x5229;&#x6A21;&#x578B;&#x5FFD;&#x7565;&#x4E86;&#x6BCF;&#x4E2A;&#x7279;&#x5F81;&#x8BCD;(&#x5355;&#x8BCD;)&#x5728;&#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0;&#x7684;&#x9891;&#x6B21;&#xFF0C;&#x8FD9;&#x4E2A;&#x4FE1;&#x606F;&#x5F88;&#x91CD;&#x8981;&#x3002;&#x56E0;&#x6B64;&#x8BE5;&#x6A21;&#x578B;&#x7684;&#x5206;&#x7C7B;&#x6548;&#x679C;&#x901A;&#x5E38;&#x4E0D;&#x662F;&#x5F88;&#x597D;&#x3002;</p>
<ul>
<li><strong>&#x591A;&#x9879;&#x5F0F;&#x6A21;&#x578B;</strong><br>&#x5148;&#x9A8C;&#x6982;&#x7387;$P(Y_j)$= &#x7C7B;$Y_j$&#x7279;&#x5F81;&#x8BCD;&#x603B;&#x6570; / &#x6574;&#x4E2A;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x7684;&#x7279;&#x5F81;&#x8BCD;&#x603B;&#x6570;<br>&#x5355;&#x8BCD;&#x7684;&#x7C7B;&#x6761;&#x4EF6;&#x6982;&#x7387;$P(x_i|Y_j)$=(&#x7C7B;$Y_j$&#x4E0B;&#x5355;&#x8BCD;$x_i$&#x5728;&#x5404;&#x4E2A;&#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0;&#x8FC7;&#x7684;&#x6B21;&#x6570;&#x4E4B;&#x548C;+1)/(&#x7C7B;$Y_j$&#x4E0B;&#x7279;&#x5F81;&#x8BCD;&#x603B;&#x6570;+&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x8BCD;&#x5178;&#x7279;&#x5F81;&#x8BCD;&#x6570;&#x76EE;)<br>&#x5C06;&#x5355;&#x8BCD;&#x7684;&#x7C7B;&#x6761;&#x4EF6;&#x6982;&#x7387;&#x7D2F;&#x52A0;&#x8D77;&#x6765;&#x5F97;&#x5230;&#x6587;&#x6863;&#x7684;&#x7C7B;&#x6761;&#x4EF6;&#x6982;&#x7387;&#xFF1A;$$ P({X_i}|{Y_j}) = \prod\limits_{i = 1}^n {{{P({x_i}|{Y_j})}}} = \prod\limits_{i = 1}^n\frac{{\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})} + 1}}{{\sum\limits_{i = 1}^{|V|} {\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})} } + |V| }} $$<br>&#x5176;&#x4E2D;&#xFF0C;&#x5F85;&#x5206;&#x7C7B;&#x6587;&#x6863;&#x6709;$n$&#x4E2A;&#x7279;&#x5F81;&#x8BCD;&#xFF08;$n$&#x662F;&#x603B;&#x5B57;&#x6570;&#xFF0C;&#x91CD;&#x590D;&#x51FA;&#x73B0;&#x4E5F;&#x8BA1;&#x5B57;&#x6570;&#xFF09;&#xFF0C;${\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})} }$&#x8868;&#x793A;&#x7279;&#x5F81;&#x8BCD;$x_i$&#x5728;&#x7C7B;&#x522B;$Y_j$&#x6587;&#x6863;&#x96C6;&#x5408;&#x51FA;&#x73B0;&#x6B21;&#x6570;&#x7684;&#x603B;&#x548C;&#x3002;${\sum\limits_{i = 1}^{|V|} {\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})} } }$&#x4E3A;&#x7C7B;$Y_j$&#x4E2D;&#x6240;&#x6709;&#x7279;&#x5F81;&#x9879;&#x7684;&#x603B;&#x6B21;&#x6570;&#xFF0C;$V$&#x662F;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x7684;&#x7279;&#x5F81;&#x8BCD;&#x8868;&#xFF0C;$|V|$&#x8868;&#x793A;&#x8BCD;&#x8868;&#x7684;&#x7279;&#x5F81;&#x8BCD;&#x603B;&#x6570;<br>&#x6211;&#x4EEC;&#x5F97;&#x5230;&#xFF0C;$ \mathop {\arg \max }\limits_{{Y_j}} P(Y_j)P(X_i|Y_j) $</li>
<li>&#x8FDB;&#x4E00;&#x6B65;&#x89E3;&#x91CA;&#xFF0C;&#x91C7;&#x7528;&#x4E0D;&#x540C;&#x4E8E;&#x4F2F;&#x52AA;&#x5229;&#x6A21;&#x578B;&#x7684;&#x6700;&#x5927;&#x5316;&#x540E;&#x9A8C;&#x6982;&#x7387;&#x6C42;&#x89E3;&#x65B9;&#x6CD5;&#xFF0C;&#x901A;&#x8FC7;&#x8003;&#x8651;&#x5355;&#x7BC7;&#x6587;&#x7AE0;&#x7684;&#x8BCD;&#x9891;&#xFF0C;&#x63D0;&#x9AD8;&#x4E86;&#x5206;&#x7C7B;&#x80FD;&#x529B;&#x3002;&#x6587;&#x6863;$X_i$&#x5C5E;&#x4E8E;&#x7C7B;$Y_j$&#x65F6;&#xFF0C;&#x7EDF;&#x8BA1;$x_i$&#x7684;&#x9891;&#x7387;&#xFF0C;&#x51FA;&#x73B0;&#x4E00;&#x6B21;&#x7684;&#x6982;&#x7387;&#x4E3A;$P (x_i|Y_j&#xFF09;$&#xFF0C;&#x90A3;&#x4E48;&#xFF0C;&#x540C;&#x65F6;&#x51FA;&#x73B0;$n_k$&#x6B21;&#x7684;&#x6982;&#x7387;&#x4E3A;$P (x_i|Y_j)^{n_k}$&#x3002;&#x5047;&#x5B9A;&#x6587;&#x6863;&#x4E2D;&#xFF0C;&#x7279;&#x5F81;&#x8BCD;&#x7684;&#x4E2A;&#x6570;&#x6709;$n=n_{x_1}+n_{x_2}+...+n_{x_k} $&#x4E2A;&#x3002;&#x90A3;&#x4E48;$ P({X_i}|{Y_j}) = \prod\limits_{i = 1}^n {P({x_i}|{C_j})} $&#x3002;&#x5728;&#x591A;&#x9879;&#x5F0F;&#x6A21;&#x578B;&#x4E2D;&#xFF0C;$P({x_i}|{Y_j})$&#x7684;&#x8BCD;&#x9891;&#x4F30;&#x7B97;&#x4E3A;$$P({x_i}|{Y_j}) = \frac{{\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})} }}{{\sum\limits_{i = 1}^{|V|} {\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})} } }}$$&#xFF0C;&#x5176;&#x4E2D;&#xFF0C;${\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})} }$&#x8868;&#x793A;&#x7279;&#x5F81;&#x8BCD;$x_i$&#x5728;$Y_j$&#x6587;&#x6863;&#x51FA;&#x73B0;&#x6B21;&#x6570;&#x7684;&#x603B;&#x548C;&#x3002;${\sum\limits_{i = 1}^{|V|} {\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})} } }$&#x4E3A;&#x7C7B;$C_j$&#x4E2D;&#x6240;&#x6709;&#x7279;&#x5F81;&#x9879;&#x7684;&#x603B;&#x6B21;&#x6570;&#xFF0C;V&#x662F;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x7684;&#x5355;&#x8BCD;&#x8868;(PS.&#x62BD;&#x53D6;&#x5355;&#x8BCD;&#xFF0C;&#x591A;&#x6B21;&#x51FA;&#x73B0;&#x7684;&#x5355;&#x8BCD;&#xFF0C;&#x53EA;&#x7B97;&#x4E00;&#x4E2A;)&#x3002;&#x540C;&#x6837;&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x96F6;&#x6982;&#x7387;&#xFF0C;&#x52A0;&#x5165;&#x5E73;&#x6ED1;&#x56E0;&#x5B50;&#xFF0C;&#x53D6;$m=V$&#xFF0C;$p=1/|V|$&#xFF0C;&#x516C;&#x5F0F;&#x66F4;&#x65B0;&#x4E3A;&#xFF1A;$$P({x_i}|{Y_j}) = \frac{{\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})}  + 1}}{{\sum\limits_{i = 1}^{|V|} {\sum\limits_{k = 1}^{|X|} {N({x_i},{X_k})}  + |V|} }}$$</li>
<li><strong>&#x9AD8;&#x65AF;&#x6A21;&#x578B;</strong><br>&#x7279;&#x5F81;&#x5C5E;&#x6027;&#x662F;&#x8FDE;&#x7EED;&#x503C;&#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x5F53;&#x7279;&#x5F81;&#x5C5E;&#x6027;&#x4E3A;&#x8FDE;&#x7EED;&#x503C;&#x65F6;&#xFF0C;&#x901A;&#x5E38;&#x5047;&#x5B9A;&#x5176;&#x503C;&#x670D;&#x4ECE;&#x9AD8;&#x65AF;&#x5206;&#x5E03;&#xFF08;&#x4E5F;&#x79F0;&#x6B63;&#x6001;&#x5206;&#x5E03;&#xFF09;&#x3002;&#x4E0A;&#x9762;&#x7684;&#x7279;&#x5F81;&#x8BCD;&#xFF0C;&#x4E0B;&#x9762;&#x7528;&#x7279;&#x5F81;&#x9879;&#x4EE3;&#x66FF;&#x3002;$$P({x_i}|{Y_k}) = g({x_i},\mu ,\delta ) = {1 \over {\sqrt {2\pi } \delta }}\exp \left( { - {{{{(x - \mu )}^2}} \over {2{\delta ^2}}}} \right)$$
&#x56E0;&#x6B64;&#x53EA;&#x8981;&#x8BA1;&#x7B97;&#x51FA;&#x8BAD;&#x7EC3;&#x6837;&#x672C;&#x4E2D;&#x5404;&#x4E2A;&#x7C7B;&#x522B;&#x4E2D;&#x6B64;&#x7279;&#x5F81;&#x9879;&#x5212;&#x5206;&#x7684;&#x5404;&#x5747;&#x503C;&#x548C;&#x6807;&#x51C6;&#x5DEE;&#xFF0C;&#x4EE3;&#x5165;&#x4E0A;&#x8FF0;&#x516C;&#x5F0F;&#x5373;&#x53EF;&#x5F97;&#x5230;&#x9700;&#x8981;&#x7684;&#x4F30;&#x8BA1;&#x503C;&#x3002;<br>&#x503C;&#x5F97;&#x4E00;&#x63D0;&#x7684;&#x662F;&#xFF0C;&#x5F53;$P(x_i|Y_j)=0$&#xFF0C;&#x5373;&#x67D0;&#x4E2A;&#x7C7B;&#x522B;&#x4E0B;&#x67D0;&#x4E2A;&#x7279;&#x5F81;&#x9879;&#x5212;&#x5206;&#x6CA1;&#x6709;&#x51FA;&#x73B0;&#x65F6;&#xFF0C;&#x4F1A;&#x4EE4;&#x5206;&#x7C7B;&#x5668;&#x8D28;&#x91CF;&#x5927;&#x5927;&#x964D;&#x4F4E;&#x3002;&#x4E3A;&#x4E86;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#xFF0C;&#x6211;&#x4EEC;&#x5F15;&#x5165;Laplace&#x6821;&#x51C6;&#xFF0C;&#x5BF9;&#x6BCF;&#x4E2A;&#x7C7B;&#x522B;&#x4E0B;&#x6240;&#x6709;&#x5212;&#x5206;&#x7684;&#x8BA1;&#x6570;&#x52A0;1&#x3002;&#x8FD9;&#x4E2A;&#x505A;&#x6CD5;&#x548C;&#x4F2F;&#x52AA;&#x5229;&#x6A21;&#x578B;&#x3001;&#x591A;&#x9879;&#x5F0F;&#x6A21;&#x578B;&#x7C7B;&#x4F3C;&#x3002;</li>
</ul>
<p>&#x53C2;&#x8003;&#x6587;&#x7AE0;&#xFF1A;<br>1.&#x674E;&#x4E39;. &#x201C;<a href="http://cdmd.cnki.com.cn/Article/CDMD-10075-1011289859.htm" target="_blank" rel="external">&#x57FA;&#x4E8E;&#x6734;&#x7D20;&#x8D1D;&#x53F6;&#x65AF;&#x65B9;&#x6CD5;&#x7684;&#x6587;&#x672C;&#x5206;&#x7C7B;&#x7814;&#x7A76;</a>,&#x201D; n.d.cnki</p>
<p>2.&#x7075;&#x9B42;&#x673A;&#x5668;. &#x201C;<a href="http://cn.soulmachine.me/blog/20100528/#fn:1." target="_blank" rel="external">&#x57FA;&#x4E8E;&#x6734;&#x7D20;&#x8D1D;&#x53F6;&#x65AF;&#x7684;&#x6587;&#x672C;&#x5206;&#x7C7B;&#x7B97;&#x6CD5;</a>&#x201D; n.d. blog</p>
<p>3.PhoenixZq.&#x201D;<a href="http://www.cnblogs.com/phoenixzq/p/3539619.html" target="_blank" rel="external">&#x8D1D;&#x53F6;&#x65AF;&#x5206;&#x7C7B;</a> &#x201C; cnblogs</p>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x672C;&amp;#x7BC7;&amp;#x4E3B;&amp;#x8981;&amp;#x4ECB;&amp;#x7ECD;&amp;#x8D1D;&amp;#x53F6;&amp;#x65AF;&amp;#x5206;&amp;#x7C7B;&amp;#x7B97;&amp;#x6CD5;&amp;#x4E2D;&amp;#x7684;&amp;#x6734;&amp;#x7D20;&amp;
    
    </summary>
    
      <category term="机器学习" scheme="https://mlnote.com/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
    
    
      <category term="model" scheme="https://mlnote.com/tags/model/"/>
    
      <category term="bayes" scheme="https://mlnote.com/tags/bayes/"/>
    
  </entry>
  
  <entry>
    <title>再休怪我的脸沉</title>
    <link href="https://mlnote.com/2013/05/29/%E5%BE%90%E5%BF%97%E6%91%A9%E8%AF%97%E4%B8%80%E9%A6%96/"/>
    <id>https://mlnote.com/2013/05/29/徐志摩诗一首/</id>
    <published>2013-05-28T16:00:00.000Z</published>
    <updated>2016-09-16T13:23:06.796Z</updated>
    
    <content type="html"><![CDATA[<p>&#x5F90;&#x5FD7;&#x6469;&#x8BD7;&#x96C6;&#x300A;&#x7FE1;&#x51B7;&#x7FE0;&#x7684;&#x591C;&#x300B;&#x4E2D;&#x8BD7;&#x4E00;&#x9996;  </p>
<blockquote>
<p>&#x518D;&#x4F11;&#x602A;&#x6211;&#x7684;&#x8138;&#x6C89;</p>
<p>&#x4E0D;&#x8981;&#x7740;&#x607C;&#xFF0C;&#x4E56;&#x4E56;&#xFF0C;&#x4E0D;&#x8981;&#x602A;&#x5ACC;<br>&#x6211;&#x7684;&#x8138;&#x7EF7;&#x5F97;&#x76F4;&#x957F;&#xFF0C;<br>&#x6211;&#x7684;&#x8138;&#x7EF7;&#x5F97;&#x662F;&#x957F;&#xFF0C;<br>&#x53EF;&#x4E0D;&#x662F;&#x5BF9;&#x4F60;&#xFF0C;&#x5BF9;&#x604B;&#x7231;&#x751F;&#x538C;&#x3002;  </p>
<p>&#x4E0D;&#x8981;&#x51ED;&#x7A7A;&#x5F80;&#x5927;&#x5751;&#x91CC;&#x76F2;&#x8DF3;&#xFF1A;<br>&#x80E1;&#x731C;&#x662F;&#x4E00;&#x4E2A;&#x5927;&#x5751;&#xFF0C;<br>&#x8FD9;&#x91CC;&#x9762;&#x5751;&#x5F97;&#x6B7B;&#x4EBA;&#xFF1B;<br>&#x4F60;&#x542C;&#x6211;&#x8BB2;&#xFF0C;&#x4E56;&#xFF0C;&#x7528;&#x4E0D;&#x7740;&#x70E6;&#x607C;&#x3002;  </p>
<p>&#x4F60;&#xFF0C;&#x6211;&#x7684;&#x604B;&#x7231;&#xFF0C;&#x65E9;&#x5C31;&#x4E0D;&#x662F;&#x4F60;&#xFF1A;<br>&#x4F60;&#x6211;&#x65E9;&#x53D8;&#x6210;&#x4E00;&#x8EAB;&#xFF0C;<br>&#x547C;&#x5438;&#xFF0C;&#x547D;&#x8FD0;&#xFF0C;&#x7075;&#x9B42;&#x2014;&#x2014;<br>&#x518D;&#x6CA1;&#x6709;&#x529B;&#x91CF;&#x628A;&#x4F60;&#x6211;&#x5206;&#x79BB;&#x3002;  </p>
<p>&#x4F60;&#x6211;&#x6BD4;&#x662F;&#x6843;&#x82B1;&#x63A5;&#x4E0A;&#x7AF9;&#x53F6;&#xFF0C;<br>&#x9732;&#x6C34;&#x5408;&#x7740;&#x5634;&#x5507;&#x5403;&#xFF0C;<br>&#x7ECF;&#x8109;&#x80F6;&#x6210;&#x540C;&#x547D;&#x4E1D;&#xFF0C;<br>&#x5355;&#x7B49;&#x6625;&#x98CE;&#x5230;&#x5F00;&#x4E00;&#x4E2A;&#x6EE1;&#x8273;&#x3002; </p>
</blockquote>
]]></content>
    
    <summary type="html">
    
      &lt;p&gt;&amp;#x5F90;&amp;#x5FD7;&amp;#x6469;&amp;#x8BD7;&amp;#x96C6;&amp;#x300A;&amp;#x7FE1;&amp;#x51B7;&amp;#x7FE0;&amp;#x7684;&amp;#x591C;&amp;#x300B;&amp;#x4E2D;&amp;#x8BD7;&amp;#x4E00;&amp;#x9996;  &lt;/p&gt;
&lt;b
    
    </summary>
    
      <category term="其他" scheme="https://mlnote.com/categories/%E5%85%B6%E4%BB%96/"/>
    
    
  </entry>
  
</feed>
