1. 程式人生 > >LDA-線性判別分析

LDA-線性判別分析

<div id="container">
        <div id="header">
    <div class="header">
        <div id="blog_title">
            <h2>
                <a href="http://blog.csdn.net/porly">porly的專欄</a></h2>
            <h3></h3>
            <div class="clear">
            </div>
        </div>
        <div class="clear">
        </div>
        
     
    </div>
</div>
<div id="navigator">
    <div class="navigator_bg">
    </div>
    <div class="navigator">
        <ul>           
                <li id="btnContents"><a href="http://blog.csdn.net/porly?viewmode=contents"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_mulu'])">
                    <img src="http://static.blog.csdn.net/images/ico_list.gif">目錄檢視</span></a></li>
                <li id="btnView"><a href="http://blog.csdn.net/porly?viewmode=list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_zhaiyao'])">
                    <img src="http://static.blog.csdn.net/images/ico_summary.gif">摘要檢視</span></a></li>
                <li id="btnRss"><a href="http://blog.csdn.net/porly/rss/list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_RSS'])">
                    <img src="http://static.blog.csdn.net/images/ico_rss.gif">訂閱</span></a></li>                
            


            </ul>
    </div>
</div>
<script type="text/javascript">
    var username = "porly";
    var _blogger = username;
    var blog_address = "http://blog.csdn.net/porly";
    var static_host = "http://static.blog.csdn.net";
    var currentUserName = "zouluquniuyue1314";  
</script>


        <div id="body">
            <div id="main">
                <div class="main">
                        <div class="ad_class">
<div class="notice tracking-ad" data-mod="popu_3"> 




<a href="http://blog.csdn.net/blogdevteam/article/details/62217619" target="_blank">
<font color="red">CSDN日報20170315——《年近 30 ------職業回顧與思考》</font></a>


&nbsp;&nbsp;&nbsp;&nbsp;


<a href="http://blog.csdn.net/turingbooks/article/details/58072986" target="_blank">
<font color="blue">程式設計師2月書訊
</font></a>


&nbsp;&nbsp;&nbsp;


<a href="http://edu.csdn.net/huiyiCourse/detail/284" target="_blank">
<font color="red">【直播】用面向協議的思想簡化網路請求
</font></a>
&nbsp;&nbsp;&nbsp;


<a href="http://blog.csdn.net/blogdevteam/article/details/60961185" target="_blank">
<font color="blue">部落格一鍵搬家活動開始啦
</font></a>


</div>                        </div>
                        






  
<link href="http://static.blog.csdn.net/css/comment1.css" type="text/css" rel="stylesheet">
<link href="http://static.blog.csdn.net/css/style1.css" type="text/css" rel="stylesheet">
<script language="JavaScript" type="text/javascript" src="http://download.csdn.net/js/jquery.cookie.js"></script>
<script type="text/javascript" src="http://c.csdnimg.cn/rabbit/search-service/main.js"></script>
<link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=1.0">
<link rel="stylesheet" href="http://static.blog.csdn.net/css/category.css?v=1.0">
<script type="text/javascript" src="http://static.blog.csdn.net/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/web-storage-cache.min.js"></script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/replace.min.js"></script>








  <script type="text/ecmascript">
      window.quickReplyflag = true;
           
            var isBole = false;
            
      
      var fasrc="http://my.csdn.net/my/favorite/miniadd?t=LDA+%e7%ba%bf%e6%80%a7%e5%88%a4%e5%88%ab%e5%88%86%e6%9e%90&u=http://blog.csdn.net/porly/article/details/8020696"


    </script>
<div id="article_details" class="details">
    <div class="article_title">   
         <span class="ico ico_type_Repost"></span>




    <h1>
        <span class="link_title"><a href="/porly/article/details/8020696">
        LDA 線性判別分析            
        </a></span>
    </h1>
</div>


   


        <div class="article_manage clearfix">
        <div class="article_l">
            <span class="link_categories">
            標籤:
              <a href="http://www.csdn.net/tag/class" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">class</a><a href="http://www.csdn.net/tag/%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">資料結構</a><a href="http://www.csdn.net/tag/%e7%ae%97%e6%b3%95" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">演算法</a><a href="http://www.csdn.net/tag/%e4%bc%98%e5%8c%96" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">優化</a><a href="http://www.csdn.net/tag/c" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">c</a>
            </span>
        </div>
        <div class="article_r">
            <span class="link_postdate">2012-09-26 14:34</span>
            <span class="link_view" title="閱讀次數">14415人閱讀</span>
            <span class="link_comments" title="評論次數"> <a href="#comments" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">評論</a>(3)</span>
            <span class="link_collect tracking-ad" data-mod="popu_171"> <a href="javascript:void(0);" onclick="javascript:collectArticle('LDA+%e7%ba%bf%e6%80%a7%e5%88%a4%e5%88%ab%e5%88%86%e6%9e%90','8020696');return false;" title="收藏" target="_blank">收藏</a></span>
             <span class="link_report"> <a href="#report" onclick="javascript:report(8020696,2);return false;" title="舉報">舉報</a></span>


        </div>
    </div>
    <div class="embody" style="display:none" id="embody">
        <span class="embody_t">本文章已收錄於:</span>
        <div class="embody_c" id="lib" value="{&quot;err&quot;:0,&quot;msg&quot;:&quot;ok&quot;,&quot;data&quot;:[]}"></div>
    </div>
    <style type="text/css">        
            .embody{
                padding:10px 10px 10px;
                margin:0 -20px;
                border-bottom:solid 1px #ededed;                
            }
            .embody_b{
                margin:0 ;
                padding:10px 0;
            }
            .embody .embody_t,.embody .embody_c{
                display: inline-block;
                margin-right:10px;
            }
            .embody_t{
                font-size: 12px;
                color:#999;
            }
            .embody_c{
                font-size: 12px;
            }
            .embody_c img,.embody_c em{
                display: inline-block;
                vertical-align: middle;               
            }
             .embody_c img{               
                width:30px;
                height:30px;
            }
            .embody_c em{
                margin: 0 20px 0 10px;
                color:#333;
                font-style: normal;
            }
    </style>
    <script type="text/javascript">
        $(function () {
            try
            {
                var lib = eval("("+$("#lib").attr("value")+")");
                var html = "";
                if (lib.err == 0) {
                    $.each(lib.data, function (i) {
                        var obj = lib.data[i];
                        //html += '<img src="' + obj.logo + '"/>' + obj.name + "&nbsp;&nbsp;";
                        html += ' <a href="' + obj.url + '" target="_blank">';
                        html += ' <img src="' + obj.logo + '">';
                        html += ' <em><b>' + obj.name + '</b></em>';
                        html += ' </a>';
                    });
                    if (html != "") {
                        setTimeout(function () {
                            $("#lib").html(html);                      
                            $("#embody").show();
                        }, 100);
                    }
                }      
            } catch (err)
            { }
            
        });
    </script>
    <script type="text/javascript" src="http://static.blog.csdn.net/scripts/category.js"></script>  


  


  
  
     


<div id="article_content" class="article_content">


<div>
<p>1. <wbr>LDA是什麼</p>
<p><wbr><wbr><wbr>線性判別式分析(Linear Discriminant Analysis),簡稱為LDA。也稱為Fisher線性判別(Fisher Linear Discriminant,FLD),是模式識別的經典<a href="http://lib.csdn.net/base/datastructure" class="replace_word" title="演算法與資料結構知識庫" target="_blank" style="color:#df3434; font-weight:bold;">演算法</a>,在1996年由Belhumeur引入模式識別和<a href="http://lib.csdn.net/base/ai" class="replace_word" title="人工智慧知識庫" target="_blank" style="color:#df3434; font-weight:bold;">人工智慧</a>領域。</p>
<p><wbr><wbr><wbr><span style="font-family:宋體">基本思想是將高維的模式樣本投影到最佳鑑別向量空間,以達到抽取分類資訊和壓縮特徵空間維數的效果,投影后保證模式樣本在新的子空間有<strong>最大的類間距離</strong>和<strong>最小的類內距離</strong>,即模式在該空間中有最佳的可分離性。</span></p>
<p><span style="font-family:宋體"><wbr><wbr><wbr></span>LDA與前面介紹過的PCA都是常用的降維技術。<strong>PCA主要是從特徵的協方差角度,去找到比較好的投影方式</strong>。<strong>LDA更多的是考慮了標註</strong>,<strong>即希望投影后不同類別之間資料點的距離更大,同一類別的資料點更緊湊</strong>。</p>
<p><wbr><wbr><wbr><wbr>下面給出一個例子,說明LDA的目標。</p>
<p><wbr><wbr><wbr><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102010103238.png" width="331" height="215" style="width:264px; height:185px">
<wbr><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102010120697.png" width="363" height="215" style="width:310px; height:183px"></p>
<p><wbr><wbr><wbr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以看到兩個類別,一個綠色類別,一個紅色類別。左圖是兩個類別的原始資料,現在要求將資料從二維降維到一維。直接投影到x1軸或者x2軸,不同類別之間會有重複,導致分類效果下降。右圖對映到的直線就是用LDA方法計算得到的,可以看到,紅色類別和綠色類別在對映之後之間的距離是最大的,而且每個類別內部點的離散程度是最小的(或者說聚集程度是最大的)。</p>
<p><wbr><wbr><wbr>這裡還有一個LDA的例子: <wbr><wbr></p>
<p><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102014250451.png" width="257" height="249"><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102014251376.png" width="272" height="242" style="width:299px; height:240px"></p>
<p>&nbsp;</p>
<p><wbr><wbr><wbr>下圖是一個LDA和PCA區別的例子:</p>
<p><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102010174967.png" width="309" height="282"></p>
<p><wbr><wbr><wbr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <wbr>兩個類別,class1的點都是圓圈,class2的點都是十字。圖中有兩條直線,斜率在1左右的這條直線是PCA選擇的對映直線,斜率在 -1左右的這條直線是LDA選擇的對映直線。其餘不在這兩條直線上的點是原始資料點。可以看到由於LDA考慮了“類別”這個資訊(即標註),對映後,可以很好的將class1和class2的點區分開。</p>
<p>2. LDA的一些說明</p>
<p><wbr><wbr><wbr>&nbsp;&nbsp; 第一,降維後的維度是多少?</p>
<p><wbr><wbr><wbr>&nbsp;&nbsp;&nbsp;&nbsp; PCA降維是直接和資料維度相關的,比如原始資料是n維的,那麼PCA後,可以任意選取1維、2維,一直到n維都行(當然是對應特徵值大的那些)。LDA 降維是直接和類別的個數相關的,與資料本身的維度沒關係,比如原始資料是n維的,一共有C個類別,那麼LDA降維之後,一般就是1維,2維到C-1維進行選擇(當然對應的特徵值也是最大的一些),舉個例子,假設圖象分類,兩個類別正例反例,每個圖象10000維特徵,那麼LDA之後,就只有1維特徵,並且這維特徵的分類能力最好。<br>
<wbr><wbr><wbr>PS:對於很多兩類分類的情況,LDA之後就剩下1維,找到分類效果最好的一個閾值貌似就可以了。</p>
<p><wbr><wbr><wbr>&nbsp;&nbsp; 第二,投影的座標系是否正交</p>
<p><wbr><wbr><wbr>&nbsp;&nbsp;&nbsp; PCA投影的座標系都是正交的,而LDA根據類別的標註,關注分類能力,因此不保證投影到的座標系是正交的(一般都不正交)。</p>
<p>3. LDA計算過程(兩個類別)</p>
<p><wbr><wbr><wbr>這一節,主要討論只有兩個類別的資料,LDA的計算。現在要找到一個向量w,將資料x投影到w上去之後,得到新的資料y。第一,為了實現投影后的兩個類別的距離較遠,用對映後兩個類別的均值差的絕對值來度量。第二,為了實現投影后,每個類內部資料點比較聚集,用投影后每個類別的方差來度量。</p>
<p><wbr><wbr><wbr><wbr>類別i的均值: <wbr><wbr></p>
<p><wbr><br>
&nbsp;<wbr>&nbsp;<wbr> <img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102014454997.png" width="108" height="46" style="width:92px; height:46px">
</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 類別i投影后的均值(實際上等於mi的投影):</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102014472583.png" width="353" height="46" style="width:287px; height:43px">
</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 投影后均值差的絕對值:</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102014492130.png" width="216" height="43" style="width:158px; height:24px">
</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 投影后的方差(這裡的y是類別i中資料投影后的資料,即y=w_t * x):</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102014503457.png" width="129" height="32" style="width:114px; height:29px">
</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 目標優化函式為:</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <wbr><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102014524146.png" width="148" height="56" style="width:126px; height:48px"></p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 下面通過展開m'和s',定義S_B和S_W: </p>
<p><wbr>&nbsp;<wbr>&nbsp;<wbr> <wbr></p>
<p><wbr><wbr><wbr><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102111540310.png" width="421" height="57" style="width:284px; height:55px">
</p>
<p>&nbsp;</p>
<p><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102111555950.png" width="449" height="41" style="width:255px; height:23px"></p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp; </p>
<p><wbr><wbr><wbr><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102111563767.png" width="444" height="65" style="width:335px; height:51px">
</p>
<p><wbr><wbr><wbr>優化目標J(w)改寫如下,這樣是為了方便推匯出計算w的方法。</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102014561448.png" width="188" height="64" style="width:124px; height:41px">
</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <wbr>推導過程忽略了,最後推導結果如下:</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102112004569.png" width="226" height="42" style="width:192px; height:34px">
</p>
<p>&nbsp;</p>
<p><wbr><wbr><wbr>假設資料是n維特徵,m個數據,分類個數為2。那麼Sw實際上是每個類別的協方差矩陣之和,每個類別的協方差矩陣都是n*n的,因此Sw是n*n的,m1-m2是n*1的。計算得到的w是n*1的,即w將維特徵對映為1維。</p>
<p>PS:這裡不用糾結與Sw的協方差矩陣形式,實際上這是拆拆開來w和w_t後的結果,實際上w*Sw*w_t後,仍舊是一個數值,即表示兩個類的投影后方差之和。</p>
<p>4. LDA計算過程(多個類別)</p>
<p><wbr><wbr><wbr>&nbsp;&nbsp;&nbsp;&nbsp; 對於S_w,就是“兩個類別的協方差矩陣之和”變成了“多個類別的協方差矩陣之和”。</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102015035933.png" width="107" height="66" style="width:82px; height:44px">
<br>
<wbr><wbr><wbr></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 對於S_b,以前是“兩個類別的均值之差的絕對值”,現在多個類別了,怎麼計算呢?計算任意兩個類別之間的均值之差的絕對值之和?這樣對於N個類別,需要 C(N,2)次計算,這可能是一個方法,不過LDA使用的方法,計算每個類別的均值與所有類別均值的差異,並且對每個類別的資料量進行加權處理。下式中,m為所有類別的均值,m_i為類別i的均值,n_i為類別i的資料量。</p>
<p><br>
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> <img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102015133280.png" width="389" height="58" style="width:262px; height:45px">
</p>
<p><wbr><wbr><wbr></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 對於n維特徵、C個類別、m個樣本的資料,是將n維資料對映為C-1維。即所求的w是一個n*(c-1)的矩陣。S_w是一個n*n的矩陣(沒有除以樣本數的協方差矩陣之和),S_B是一個C*C的矩陣,實際上S_B矩陣的的秩最多是C-1,這是因為n_i*(m_i-m)這c向量實際上是線性相關的,因為他們的和是均值m的常數倍。這導致後面求解w,實際上是求出C-1個向量一個構成的一個w。</p>
<p><wbr><wbr><wbr>具體計算忽略。</p>
<p><wbr><wbr><wbr>下面就是一個三個類別的例子: <wbr><br>
<wbr><wbr><wbr><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102112445054.png" width="341" height="389" style="width:338px; height:354px">
</p>
<p>4. LDA其他變種</p>
<p><wbr><wbr><wbr>如果原始資料投影后,仍舊不能很好的分開,那麼Kernel LDA是一個解決方法。</p>
<p><wbr><wbr><wbr>LDA在計算量上與資料的維度有關,2DLDA能夠大大減小LDA計算量。</p>
<p>5. LDA的一些問題</p>
<p><wbr><wbr><wbr>第一,LDA最多投影出C-1維特徵,如果需要更多特徵,則要引入其他方法。</p>
<p><wbr><wbr><wbr>第二,LDA假設資料服從單峰高斯分佈,比如下面的複雜<a href="http://lib.csdn.net/base/datastructure" class="replace_word" title="演算法與資料結構知識庫" target="_blank" style="color:#df3434; font-weight:bold;">資料結構</a>。<br>
<wbr><wbr><wbr><img title="LDA <wbr>線性判別分析" alt="" src="http://pic002.cnblogs.com/images/2011/79762/2011102112430329.png" width="623" height="188">
</p>
<p>5. 參考</p>
<p><wbr><wbr><wbr><a href="http://www.cmlab.csie.ntu.edu.tw/~cyy/learning/tutorials/LDA.pdf">Introduction to LDA</a><br>
<wbr><wbr><wbr><a href="http://www.isip.piconepress.com/publications/reports/isip_internal/1998/linear_discrim_analysis/lda_theory.pdf">Linear Discriminant Analysis - A Brief Tutorial</a><br>
<wbr><wbr>&nbsp; <wbr><a href="http://www.aiaccess.net/English/Glossaries/GlosMod/e_gm_fisher_discriminant.htm">http://www.aiaccess.net/English/Glossaries/GlosMod/e_gm_fisher_discriminant.htm</a><br>
<wbr><wbr><wbr><a href="http://blog.csdn.net/warmyellow/article/details/5454943">線性判別分析(Linear Discriminant Analysis, LDA)演算法分析</a></p>
</div>
   
</div>








<!-- Baidu Button BEGIN -->








<div class="bdsharebuttonbox tracking-ad bdshare-button-style0-16" style="float: right;" data-mod="popu_172" data-bd-bind="1489663908019">
<a href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important" target="_blank"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空間" style="background-position:0 -52px !important" target="_blank"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博" style="background-position:0 -104px !important" target="_blank"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到騰訊微博" style="background-position:0 -260px !important" target="_blank"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人網" style="background-position:0 -208px !important" target="_blank"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信" style="background-position:0 -1612px !important" target="_blank"></a>
</div>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
<!-- Baidu Button END -->


   <link rel="stylesheet" href="http://static.blog.csdn.net/css/blog_detail.css">


    
<!--172.16.140.14-->


<!-- Baidu Button BEGIN -->
<script type="text/javascript" id="bdshare_js" data="type=tools&amp;uid=1536434" src="http://bdimg.share.baidu.com/static/js/bds_s_v2.js?cdnversion=413796"></script>


<script type="text/javascript">
    document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)
</script>
<!-- Baidu Button END -->


 




        <div id="digg" articleid="8020696">
            <dl id="btnDigg" class="digg digg_enable" onclick="btndigga();">
               
                 <dt>頂</dt>
                <dd>3</dd>
            </dl>
           
              
            <dl id="btnBury" class="digg digg_enable" onclick="btnburya();">
              
                  <dt>踩</dt>
                <dd>0</dd>               
            </dl>
            
        </div>
     <div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);" target="_blank">&nbsp;</a>   </div>
    <div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);" target="_blank">&nbsp;</a></div>
    <script type="text/javascript">
                function btndigga() {
                    $(".tracking-ad[data-mod='popu_222'] a").click();
                }
                function btnburya() {
                    $(".tracking-ad[data-mod='popu_223'] a").click();
                }
            </script>


   <ul class="article_next_prev">
                <li class="prev_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='/porly/article/details/8009779';">上一篇</span><a href="/porly/article/details/8009779" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">js到anction中文亂碼問題和超連結中文引數亂碼問題</a></li>
                <li class="next_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='/porly/article/details/8020883';">下一篇</span><a href="/porly/article/details/8020883" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">線性判別分析LDA解析2</a></li>
    </ul>


    <div style="clear:both; height:10px;"></div>




      
</div>


    <div>
            <div class="J_adv" data-view="true" data-mod="ad_popu_205" data-mtp="43" data-order="114" data-con="ad_content_1900" style="width: 728px; height: 90px;"><script src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-8990951720398508" data-ad-slot="8267689356/3776917242" data-adsbygoogle-status="done"><ins id="aswift_0_expand" style="display:inline-table;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:728px;background-color:transparent"><ins id="aswift_0_anchor" style="display:block;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:728px;background-color:transparent"><iframe width="728" height="90" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_0" name="aswift_0" style="left:0;position:absolute;top:0;"></iframe></ins></ins></ins><script>(adsbygoogle=window.adsbygoogle || []).push({});</script></div> 
     </div>


<div id="suggest">


</div>
         <script language="javascript" type="text/javascript">     
             $(function(){
                 $.get("/porly/svc/GetSuggestContent/8020696",function(data){
                     $("#suggest").html(data);
                 });     
             });             
         </script>  




<style>
.blog-ass-articl dd {
color: #369;
width: 99%; /*修改行*/
float: left;
overflow: hidden;
font: normal normal 12px/23px "SimSun";
height: 23px;
margin: 0;
padding: 0 0 0 10px;
margin-right: 30px;
background: url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;
}
</style>


 <link rel="stylesheet" href="http://static.blog.csdn.net/css/replace.css">


<div id="relate" data-mod="popu_218" class="tracking-ad" style="display: block;">
        <div class="relate_t">
            <h3><span>參考知識庫</span></h3>
        </div>
        <div class="relate_c"><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/ai"><img src="http://img.knowledge.csdn.net/upload/base/1479972981201_201.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/ai">人工智慧知識庫</a></h4><p><label><span>11550</span><em>關注</em><i>|</i><span>521</span><em>收錄</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/dotnet"><img src="http://img.knowledge.csdn.net/upload/base/1470876331285_285.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/dotnet">.NET知識庫</a></h4><p><label><span>3396</span><em>關注</em><i>|</i><span>827</span><em>收錄</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/machinelearning"><img src="http://img.knowledge.csdn.net/upload/base/1452498104247_247.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/machinelearning">機器學習知識庫</a></h4><p><label><span>16694</span><em>關注</em><i>|</i><span>2131</span><em>收錄</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/datastructure"><img src="http://img.knowledge.csdn.net/upload/base/1461035533512_512.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/datastructure">演算法與資料結構知識庫</a></h4><p><label><span>14376</span><em>關注</em><i>|</i><span>2320</span><em>收錄</em></label></p></dd></dl></div>
</div>
 


<dl class="blog-ass-articl" id="res-relatived"> 
    <div class="embody embody_b" id="libkeyparent" style="display:none">
            <span class="embody_t">更多資料請參考:</span>
            <div class="embody_c" id="libkey"></div>
    </div>




     <dt><span>猜你在找</span></dt>    




   




    <div id="adCollege" style="width: 42%;float: left;"> 
        <script src="http://csdnimg.cn/jobreco/job_reco.js" type="text/javascript"></script> 
        <script type="text/javascript">
            csdn.position.showEdu({
                sourceType: "blog",
                searchType: "detail",
                searchKey: "8020696",
                username: "zouluquniuyue1314",
                recordcount: "5",
                containerId: "adCollege" //容器DIV的id。 
            });
            
            setEduLoc();


            function setEduLoc() {               
                var edus = $("#adCollege div dd a");
                if (edus.length == 0) {
                    setTimeout(function () {
                        setEduLoc();
                    }, 500);
                }
                else {
                    var eduLoc = "?ref=blog&loc=0";
                    $.each(edus, function (index,item) {
                        var href = $(this).attr("href") + eduLoc;
                        $(this).attr("href", href);
                    });
                }
            }


        </script> 
    <div class="tracking-ad" data-mod="popu_84"><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/1176?ref=blog&amp;loc=0" title="Python程式設計基礎視訊教程(第三季)" strategy="v4:hot" target="_blank">Python程式設計基礎視訊教程(第三季)</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/1182?ref=blog&amp;loc=0" title="Python程式設計基礎視訊教程(第六季)" strategy="v4:hot" target="_blank">Python程式設計基礎視訊教程(第六季)</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/299?ref=blog&amp;loc=0" title="從此不求人:自主研發一套PHP前端開發框架" strategy="v4:hot" target="_blank">從此不求人:自主研發一套PHP前端開發框架</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/405?ref=blog&amp;loc=0" title="反編譯Android應用" strategy="v4:hot" target="_blank">反編譯Android應用</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/207?ref=blog&amp;loc=0" title="韋東山嵌入式Linux第一期視訊" strategy="v4:hot" target="_blank">韋東山嵌入式Linux第一期視訊</a></dd></div></div>  


    
     <div id="res" data-mod="popu_36" class="tracking-ad" style="width: 42%; float: left; margin-right: 30px; display: block;"><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/huguosheng/article/details/8971376" title="線性判別分析 LDA" strategy="SearchAlgorithm" target="_blank">線性判別分析 LDA</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/u011447369/article/details/23945057" title="LDA 線性判別分析" strategy="SearchAlgorithm" target="_blank">LDA 線性判別分析</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/wenyusuran/article/details/35289693" title="機器學習中的數學4-線性判別分析LDA 主成分分析PCA" strategy="SearchAlgorithm" target="_blank">機器學習中的數學4-線性判別分析LDA 主成分分析PCA</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/zhazhiqiang2010/article/details/21190129" title="第八章 採用PCA主成分分析或LDA線性判別分析的人臉識別一" strategy="SearchAlgorithm" target="_blank">第八章 採用PCA主成分分析或LDA線性判別分析的人臉識別一</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/zhazhiqiang2010/article/details/21190277" title="第八章 採用PCA主成分分析或LDA線性判別分析的人臉識別二" strategy="SearchAlgorithm" target="_blank">第八章 採用PCA主成分分析或LDA線性判別分析的人臉識別二</a></dd></div>
   
</dl>




<script type="text/javascript">
    $(function () {
        setTimeout(function () {
            var searchtitletags = 'LDA 線性判別分析' + ',' + $("#tags").html();
            searchService({
                index: 'blog',
                query: searchtitletags,
                from: 5,
                size: 5,
                appendTo: '#res',
                url: 'recommend',
                his: 2,
                client: "blog_cf_enhance",
                tmpl: '<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="#{ url }" title="#{ title }" strategy="#{ strategy }">#{ title }</a></dd>'
            });
        }, 500);
    });    


 </script>  




    <div id="ad_cen">        
<div class="J_adv" data-view="true" data-mod="ad_popu_71" data-mtp="43" data-order="114" data-con="ad_content_671" style="width: 728px; height: 90px;"><script src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-8990951720398508" data-ad-slot="8267689356/3115746762" data-adsbygoogle-status="done"><ins id="aswift_1_expand" style="display:inline-table;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:728px;background-color:transparent"><ins id="aswift_1_anchor" style="display:block;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:728px;background-color:transparent"><iframe width="728" height="90" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_1" name="aswift_1" style="left:0;position:absolute;top:0;"></iframe></ins></ins></ins><script>(adsbygoogle=window.adsbygoogle || []).push({});</script></div>    </div>  


    <!-- 廣告位開始 -->
    <div class="J_adv" data-view="true" data-mod="ad_popu_72" data-mtp="62" data-order="40" data-con="ad_content_2072"><script id="popuLayer_js_q" src="http://ads.csdn.net/js/popuLayer.js" defer="" type="text/javascript"></script><div id="layerd" style="position: fixed; bottom: 0px; right: 0px; line-height: 0px; z-index: 1000; width: 300px; height: 278px; display: none;"><div class="J_close layer_close" style="display:;background-color:#efefef;padding:0px;color:#333;font:12px/24px Helvetica,Tahoma,Arial,sans-serif;text-align:right;">關閉</div><!-- 廣告佔位容器 --><div id="cpro_u2895327"><iframe id="iframeu2895327_0" src="http://pos.baidu.com/tcgm?rdid=2895327&amp;dc=3&amp;di=u2895327&amp;dri=0&amp;dis=0&amp;dai=1&amp;ps=506x1222&amp;dcb=___adblockplus&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1489663908058&amp;ti=LDA%20%E7%BA%BF%E6%80%A7%E5%88%A4%E5%88%AB%E5%88%86%E6%9E%90%20-%20porly%E7%9A%84%E4%B8%93%E6%A0%8F%20-%20%E5%8D%9A%E5%AE%A2%E9%A2%91%E9%81%93%20-%20CSDN.NET&amp;ari=2&amp;dbv=2&amp;drs=3&amp;pcs=1522x760&amp;pss=1522x7158&amp;cfv=0&amp;cpl=5&amp;chi=3&amp;cce=true&amp;cec=UTF-8&amp;tlm=1489663908&amp;rw=760&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fporly%2Farticle%2Fdetails%2F8020696&amp;ecd=1&amp;uc=1920x1040&amp;pis=-1x-1&amp;ccd=24&amp;cja=false&amp;cmi=7&amp;col=zh-CN&amp;cdo=-1&amp;sr=1920x1080&amp;tcn=1489663908&amp;qn=2012ea89f062a731&amp;tt=1489663908036.25.26.28" width="300" height="250" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" style="border:0;vertical-align:bottom;margin:0;width:300px;height:250px" allowtransparency="true"></iframe></div></div><script>  document.getElementById('popuLayer_js_q').onload=function(){      var styObjd=styObj={width:'300px','height':parseInt(250)+28};window.CSDN.Layer.PopuLayer('#layerd',{storageName:'layerd',styleObj:styObjd,total:50,expoire:1000*60});  }</script><!-- 投放程式碼 --><script type="text/javascript">   /*伺服器頻道首頁置頂Banner960*90,創建於2014-7-3*/    (window.cproArray = window.cproArray || []).push({        id: 'u2895327'      });  </script>  <script src="http://cpro.baidustatic.com/cpro/ui/c.js" type="text/javascript"></script></div>
    <!-- 廣告位結束 -->


<div class="comment_class">
    <div id="comment_title" class="panel_head">
        <span class="see_comment">檢視評論</span><a name="comments"></a></div>
    <div id="comment_list"><dl class="comment_item comment_topic" id="comment_item_6100175"><dt class="comment_head" floor="3">3樓 <span class="user"><a class="username" href="/wh13689831545" target="_blank">wh13689831545</a> <span class="ptime">2016-06-28 13:56發表</span>  <a href="#reply" class="cmt_btn reply" title="回覆">[回覆]</a> <span class="comment_manage" style="display:none;" commentid="6100175" username="wh13689831545"> <a href="#quote" class="cmt_btn quote" title="引用">[引用]</a> <a href="#report" class="cmt_btn report" title="舉報">[舉報]</a></span></span></dt><dd class="comment_userface"><a href="/wh13689831545" target="_blank"><img src="http://avatar.csdn.net/8/6/0/3_wh13689831545.jpg" width="40" height="40"></a></dd><dd class="comment_body">您好,請問這個lda演算法是特徵提取演算法,提取的是人臉的什麼特徵呢,謝謝</dd></dl><dl class="comment_item comment_topic" id="comment_item_5638395"><dt class="comment_head" floor="2">2樓 <span class="user"><a class="username" href="/huoxiaohuo2" target="_blank">huoxiaohuo2</a> <span class="ptime">2015-11-24 22:53發表</span>  <a href="#reply" class="cmt_btn reply" title="回覆">[回覆]</a> <span class="comment_manage" style="display:none;" commentid="5638395" username="huoxiaohuo2"> <a href="#quote" class="cmt_btn quote" title="引用">[引用]</a> <a href="#report" class="cmt_btn report" title="舉報">[舉報]</a></span></span></dt><dd class="comment_userface"><a href="/huoxiaohuo2" target="_blank"><img src="http://avatar.csdn.net/1/A/6/3_huoxiaohuo2.jpg" width="40" height="40"></a></dd><dd class="comment_body">請問如果不知道這個先驗的分類,只是給你一堆資料怎麼進行分類?</dd></dl><dl class="comment_item comment_topic" id="comment_item_3027869"><dt class="comment_head" floor="1">1樓 <span class="user"><a class="username" href="/luo451848919" target="_blank">luo451848919</a> <span class="ptime">2013-10-25 22:25發表</span>  <a href="#reply" class="cmt_btn reply" title="回覆">[回覆]</a> <span class="comment_manage" style="display:none;" commentid="3027869" username="luo451848919"> <a href="#quote" class="cmt_btn quote" title="引用">[引用]</a> <a href="#report" class="cmt_btn report" title="舉報">[舉報]</a></span></span></dt><dd class="comment_userface"><a href="/luo451848919" target="_blank"><img src="http://avatar.csdn.net/0/5/A/3_luo451848919.jpg" width="40" height="40"></a></dd><dd class="comment_body">你說S_b的維數是c*c,明顯不對啊。應該是n*n的,不信你乘一乘,還有就是S_b的秩為什麼最多是c-1啊?謝謝你的答覆!</dd></dl><div class="clear"></div></div>
    <div id="comment_bar" style="display: none;">
    </div>
    <div id="comment_form"><a name="commentbox"></a><a name="reply"></a><a name="quote"></a><form action="/porly/comment/submit?id=8020696" method="post" onsubmit="return subform(this);"><div class="commentform"><div class="panel_head">發表評論</div><ul><li class="left">用 戶 名:</li><li class="right">zouluquniuyue1314</li></ul><ul><li class="left">評論內容:</li><li class="right" style="position:relative;"><div id="ubbtools"><a href="#insertcode" code="code"><img src="http://static.blog.csdn.net/images/ubb/code.gif" border="0" alt="插入程式碼" title="插入程式碼"></a></div><div id="lang_list" style="position: absolute; top: 28px; left: 0px; display: none;"><a class="long_name" href="#html">HTML/XML</a><a class="long_name" href="#objc">objective-c</a><a class="zhong_name" href="#delphi">Delphi</a><a class="zhong_name" href="#ruby">Ruby</a><a href="#php">PHP</a><a class="duan_name" href="#csharp">C#</a><a style=" border-right: none;" class="duan_name" href="#cpp">C++</a><a style=" border-bottom:none;" class="long_name" href="#javascript">JavaScript</a><a style=" border-bottom:none;" class="long_name" href="#vb">Visual Basic</a><a style=" border-bottom:none;" class="zhong_name" href="#python">Python</a><a style=" border-bottom:none;" class="zhong_name" href="#java">Java</a><a style="border-bottom:none;" class="duan_name" href="#css">CSS</a><a style="border-bottom:none;" class="duan_name" href="#sql">SQL</a><a style="border:none;" class="duan_name" href="#plain">其它</a></div><textarea class="comment_content" name="comment_content" id="comment_content" style="width: 400px; height: 200px;"></textarea></li></ul><ul><input type="hidden" id="comment_replyId" name="comment_replyId"><input type="hidden" id="comment_userId" name="comment_userId" value="521203"><input type="hidden" id="commentId" name="commentId" value=""><input type="submit" class="comment_btn" value="提交">&nbsp;&nbsp;<span id="tip_comment" style="color: Red; display: none;"></span></ul></div></form></div>
    <div class="announce">
        * 以上使用者言論只代表其個人觀點,不代表CSDN網站的觀點或立場<a name="reply"></a><a name="quote"></a></div>
</div>


<script type="text/javascript">
    var fileName = '8020696';
    var commentscount = 3;
    var islock = false
</script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/comment.js"></script>
    <div id="ad_bot">
    </div>
<div id="report_dialog">
</div>


<div id="d-top" style="bottom:60px;">


        <a id="quick-reply" class="btn btn-top q-reply" title="快速回復" style="display:none;">
            <img src="http://static.blog.csdn.net/images/blog-icon-reply.png" alt="快速回復">
        </a>    
    <a id="d-top-a" class="btn btn-top backtop" style="display: none;" title="返回頂部" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_huidaodingbu'])">         
         <img src="http://static.blog.csdn.net/images/top.png" alt="TOP">
    </a>
</div>
<script type="text/javascript">
    $(function ()
    {
        $("#ad_frm_0").height("90px");
        
        setTimeout(function(){
            $("#ad_frm_2").height("200px");
        },1000);    
    });
  
</script>
<style type="text/css">
    .tag_list
    {
        background: none repeat scroll 0 0 #FFFFFF;
        border: 1px solid #D7CBC1;
        color: #000000;
        font-size: 12px;
        line-height: 20px;
        list-style: none outside none;
        margin: 10px 2% 0 1%;
        padding: 1px;
    }
    .tag_list h5
    {
        background: none repeat scroll 0 0 #E0DBD3;
        color: #47381C;
        font-size: 12px;
        height: 24px;
        line-height: 24px;
        padding: 0 5px;
        margin: 0;
    }
    .tag_list h5 a
    {
        color: #47381C;
    }
    .classify
    {
        margin: 10px 0;
        padding: 4px 12px 8px;
    }
    .classify a
    {
        margin-right: 20px;
        white-space: nowrap;
    }
</style>




<div class="tag_list" style="">


    <h5>
        <a href="http://www.csdn.net/tag/" target="_blank">核心技術類目</a></h5>
    <div class="classify">
<a title="全部主題" href="http://www.csdn.net/tag" target="_blank" onclick="LogClickCount(this,336);">全部主題</a>
<a title="Hadoop" href="http://g.csdn.net/5272865" target="_blank" onclick="LogClickCount(this,336);">Hadoop</a>
<a title="AWS" href="http://g.csdn.net/5272866" target="_blank" onclick="LogClickCount(this,336);">AWS</a>
<a title="移動遊戲" href="http://g.csdn.net/5272870" target="_blank" onclick="LogClickCount(this,336);">移動遊戲</a>
<a title="Java" href="http://g.csdn.net/5272871" target="_blank" onclick="LogClickCount(this,336);">Java</a>
<a title="Android" href="http://g.csdn.net/5272872" target="_blank" onclick="LogClickCount(this,336);">Android</a>
<a title="iOS" href="http://g.csdn.net/5272873" target="_blank" onclick="LogClickCount(this,336);">iOS</a>
<a title="Swift" href="http://g.csdn.net/5272868" target="_blank" onclick="LogClickCount(this,336);">Swift</a>
<a title="智慧硬體" href="http://g.csdn.net/5272869" target="_blank" onclick="LogClickCount(this,336);">智慧硬體</a>
<a title="Docker" href="http://g.csdn.net/5272867" target="_blank" onclick="LogClickCount(this,336);">Docker</a>
<a title="OpenStack" href="http://g.csdn.net/5272925" target="_blank" onclick="LogClickCount(this,336);">OpenStack</a>
<a title="VPN" href="http://www.csdn.net/tag/vpn" target="_blank" onclick="LogClickCount(this,336);">VPN</a>
<a title="Spark" href="http://g.csdn.net/5272924" target="_blank" onclick="LogClickCount(this,336);">Spark</a>
<a title="ERP" href="http://www.csdn.net/tag/erp" target="_blank" onclick="LogClickCount(this,336);">ERP</a>
<a title="IE10" href="http://www.csdn.net/tag/ie10" target="_blank" onclick="LogClickCount(this,336);">IE10</a>
<a title="Eclipse" href="http://www.csdn.net/tag/eclipse" target="_blank" onclick="LogClickCount(this,336);">Eclipse</a>
<a title="CRM" href="http://www.csdn.net/tag/crm" target="_blank" onclick="LogClickCount(this,336);">CRM</a>
<a title="JavaScript" href="http://www.csdn.net/tag/javascript" target="_blank" onclick="LogClickCount(this,336);">JavaScript</a>
<a title="資料庫" href="http://www.csdn.net/tag/資料庫" target="_blank" onclick="LogClickCount(this,336);">資料庫</a>
<a title="Ubuntu" href="http://www.csdn.net/tag/ubuntu" target="_blank" onclick="LogClickCount(this,336);">Ubuntu</a>
<a title="NFC" href="http://www.csdn.net/tag/nfc" target="_blank" onclick="LogClickCount(this,336);">NFC</a>
<a title="WAP" href="http://www.csdn.net/tag/wap" target="_blank" onclick="LogClickCount(this,336);">WAP</a>
<a title="jQuery" href="http://www.csdn.net/tag/jquery" target="_blank" onclick="LogClickCount(this,336);">jQuery</a>
<a title="BI" href="http://www.csdn.net/tag/bi" target="_blank" onclick="LogClickCount(this,336);">BI</a>
<a title="HTML5" href="http://www.csdn.net/tag/html5" target="_blank" onclick="LogClickCount(this,336);">HTML5</a>
<a title="Spring" href="http://www.csdn.net/tag/spring" target="_blank" onclick="LogClickCount(this,336);">Spring</a>
<a title="Apache" href="http://www.csdn.net/tag/apache" target="_blank" onclick="LogClickCount(this,336);">Apache</a>
<a title=".NET" href="http://www.csdn.net/tag/.net" target="_blank" onclick="LogClickCount(this,336);">.NET</a>
<a title="API" href="http://www.csdn.net/tag/api" target="_blank" onclick="LogClickCount(this,336);">API</a>
<a title="HTML" href="http://www.csdn.net/tag/html" target="_blank" onclick="LogClickCount(this,336);">HTML</a>
<a title="SDK" href="http://www.csdn.net/tag/sdk" target="_blank" onclick="LogClickCount(this,336);">SDK</a>
<a title="IIS" href="http://www.csdn.net/tag/iis" target="_blank" onclick="LogClickCount(this,336);">IIS</a>
<a title="Fedora" href="http://www.csdn.net/tag/fedora" target="_blank" onclick="LogClickCount(this,336);">Fedora</a>
<a title="XML" href="http://www.csdn.net/tag/xml" target="_blank" onclick="LogClickCount(this,336);">XML</a>
<a title="LBS" href="http://www.csdn.net/tag/lbs" target="_blank" onclick="LogClickCount(this,336);">LBS</a>
<a title="Unity" href="http://www.csdn.net/tag/unity" target="_blank" onclick="LogClickCount(this,336);">Unity</a>
<a title="Splashtop" href="http://www.csdn.net/tag/splashtop" target="_blank" onclick="LogClickCount(this,336);">Splashtop</a>
<a title="UML" href="http://www.csdn.net/tag/uml" target="_blank" onclick="LogClickCount(this,336);">UML</a>
<a title="components" href="http://www.csdn.net/tag/components" target="_blank" onclick="LogClickCount(this,336);">components</a>
<a title="Windows Mobile" href="http://www.csdn.net/tag/windowsmobile" target="_blank" onclick="LogClickCount(this,336);">Windows Mobile</a>
<a title="Rails" href="http://www.csdn.net/tag/rails" target="_blank" onclick="LogClickCount(this,336);">Rails</a>
<a title="QEMU" href="http://www.csdn.net/tag/qemu" target="_blank" onclick="LogClickCount(this,336);">QEMU</a>
<a title="KDE" href="http://www.csdn.net/tag/kde" target="_blank" onclick="LogClickCount(this,336);">KDE</a>
<a title="Cassandra" href="http://www.csdn.net/tag/cassandra" target="_blank" onclick="LogClickCount(this,336);">Cassandra</a>
<a title="CloudStack" href="http://www.csdn.net/tag/cloudstack" target="_blank" onclick="LogClickCount(this,336);">CloudStack</a>
<a title="FTC" href="http://www.csdn.net/tag/ftc" target="_blank" onclick="LogClickCount(this,336);">FTC</a>
<a title="coremail" href="http://www.csdn.net/tag/coremail" target="_blank" onclick="LogClickCount(this,336);">coremail</a>
<a title="OPhone " href="http://www.csdn.net/tag/ophone " target="_blank" onclick="LogClickCount(this,336);">OPhone </a>
<a title="CouchBase" href="http://www.csdn.net/tag/couchbase" target="_blank" onclick="LogClickCount(this,336);">CouchBase</a>
<a title="雲端計算" href="http://www.csdn.net/tag/雲端計算" target="_blank" onclick="LogClickCount(this,336);">雲端計算</a>
<a title="iOS6" href="http://www.csdn.net/tag/iOS6" target="_blank" onclick="LogClickCount(this,336);">iOS6</a>
<a title="Rackspace " href="http://www.csdn.net/tag/rackspace " target="_blank" onclick="LogClickCount(this,336);">Rackspace </a>
<a title="Web App" href="http://www.csdn.net/tag/webapp" target="_blank" onclick="LogClickCount(this,336);">Web App</a>
<a title="SpringSide" href="http://www.csdn.net/tag/springside" target="_blank" onclick="LogClickCount(this,336);">SpringSide</a>
<a title="Maemo" href="http://www.csdn.net/tag/maemo" target="_blank" onclick="LogClickCount(this,336);">Maemo</a>
<a title="Compuware" href="http://www.csdn.net/tag/compuware" target="_blank" onclick="LogClickCount(this,336);">Compuware</a>
<a title="大資料" href="http://www.csdn.net/tag/大資料" target="_blank" onclick="LogClickCount(this,336);">大資料</a>
<a title="aptech" href="http://www.csdn.net/tag/aptech" target="_blank" onclick="LogClickCount(this,336);">aptech</a>
<a title="Perl" href="http://www.csdn.net/tag/perl" target="_blank" onclick="LogClickCount(this,336);">Perl</a>
<a title="Tornado" href="http://www.csdn.net/tag/tornado" target="_blank" onclick="LogClickCount(this,336);">Tornado</a>
<a title="Ruby" href="http://www.csdn.net/tag/ruby" target="_blank" onclick="LogClickCount(this,336);">Ruby</a>
<a title="Hibernate" href="http://www.csdn.net/hibernate" target="_blank" onclick="LogClickCount(this,336);">Hibernate</a>
<a title="ThinkPHP" href="http://www.csdn.net/tag/thinkphp" target="_blank" onclick="LogClickCount(this,336);">ThinkPHP</a>
<a title="HBase" href="http://www.csdn.net/tag/hbase" target="_blank" onclick="LogClickCount(this,336);">HBase</a>
<a title="Pure" href="http://www.csdn.net/tag/pure" target="_blank" onclick="LogClickCount(this,336);">Pure</a>
<a title="Solr" href="http://www.csdn.net/tag/solr" target="_blank" onclick="LogClickCount(this,336);">Solr</a>
<a title="Angular" href="http://www.csdn.net/tag/angular