原创 分類的特徵選擇

一篇文檔中有很多個詞,也就有很多個特徵。特徵太多會造成計算量大,並且有些特徵還是噪音。 特徵選擇一般按照信息增益依次選擇。信息增益按照條件熵計算。假設不選擇這個特徵,熵是s1,選擇後熵爲s2,s1-s2即爲條件熵。 首先選擇最大的信息增益

原创 服務器設計和客戶端設計的感悟

服務器程序設計自然都是採用CS模式,而客戶端程序設計也可以採用cs模式。考慮一個音頻播放功能,Server負責混音各個Client的數據並控制聲卡。各個Client和Server屬於不同的進程。可採用以下幾個模式: 1,Server單開一

原创 搜索引擎的發展-管中窺豹

1,第一個階段是雅虎早期的方式——人工目錄。完全通過人工來標記網頁,這在互聯網不太發達的時候還行得通。優點是精確,缺點是無法處理海量內容。 2,第二個階段是後來google的方式,機器算法分詞建索引排序。優點是可以處理海量的網頁,缺點是對

原创 關聯規則學習-序列模式挖掘

在關聯規則中,把一個用戶的一次交易看做一個模式,而在序列模式中,藥考慮用戶的多次交易。可以表示爲<{A,B}{A,C}{D}>。這表示在一段時間內,用戶發生了3次交易,第一次購物爲A和B,第二次爲A和C,第三次爲D。序列的順序很重要,序

原创 源碼安裝mysql

1,進入源碼所在目錄:cd mysql-5.5.2-m2/ 2,./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex

原创 Solr學習總結-自己開發Solr

選擇json返回格式,默認是xml: http://localhost:8983/solr/select?q=*:*&rows=1&wt=json 自定義request handler: 需要apache-solr-solrj-3.1.j

原创 Looper工作方式相關類分析

首先考慮一個播放器錄音的設計。播放器錄音是指,有一個第三方的播放器進程播放音樂,我們通過某種方式比如修改播放器的二進制代碼,截獲音頻數據,然後把這些數據發往另一個我們自己開發的進程,在這個進程裏面對接受的數據做處理。這涉及到兩個進程。一個

原创 分類的數據模型

1,生成模型:假設數據是由某種模型生成的。對於文本分類,假設有N類數據,每一類數據的都有一個概率,每一類數據的各個詞項都會有一個分佈。一篇文檔就是由這個數據模型生成的。生成過程如下:首先隨機選擇一個類別,由於是隨機選擇,大類被選中的可能性

原创 社區發現

社區要滿足兩個條件:一是社區的成員有共同的話題和愛好;二是社區的成員之間的聯繫相比和社區外的聯繫要緊密。 通過用戶的搜索情況可以找到有相同愛好的人,這些人組成候選社區成員。比如用戶搜索“NBA”,這個用戶就是候選的NBA社區成員。 通過一

原创 關聯規則學習-筆記

第一步是要產生所有的頻繁項集合,即滿足一定支持度的項的集合。 依次遞歸產生1項,2項,...,n-1項,n項。所有的k項由k-1項得到,並不需要列舉所有的k項可能的組合,由於如果某k項爲頻繁項,則其所有的一個k個子k-1項必爲頻繁項。可按

原创 過擬合

過擬合的根本原因是信息太少。 信息可以從兩方面得到。 一是先驗的假設。假設線性可分和假設n次多項式可分相比,前者假設了我們擁有了更多的信息。 二是樣本。一般來說,樣本越多提供的信息越多。不過如果樣本並不是隨機抽取的,則樣本多也不能代表信

原创 Solr學習總結-附加功能

找到與查詢結果相似的文檔: http://localhost:8983/solr/select?q=name:edition&mlt=true&mlt.fl=name&mlt.mintf=1&mlt.mindf=1 mlt.fl:按照結果

原创 對象和函數

以一個播放器Player爲例子,他可能有以下幾個函數接口: 1,open;2,close;3,start;4,stop;5,write 其實根本用不了這麼多函數,只需要一個函數也能完成功能,這個函數可以這樣定義SendMsg(void*

原创 語音編碼原理

語音編碼最基本的方法是對語音信號採樣,直接進行模數轉換。但是,如果不再進一步處理,會導致編碼量很大。例如,用8kHz採樣,12bit進行量化,一秒鐘的語音就需要96kb。這個傳輸量太大,需要進行壓縮。 爲什麼可以進行壓縮?因爲數據(每一次

原创 跨進程程序設計的模式

首先說一下單進程多線程設計。考慮一個消息隊列的例子,線程1發送消息到消息隊列,線程2從消息隊列裏面取數據。因爲是單進程,兩個線程可以引用同一個對象,所謂同一個對象是指兩個對象的物理內存地址相同(不是虛擬內存,思維如果侷限於虛擬內存會看不到