#
摘要: 沒(méi)有過(guò)多的技術(shù)含量,只是拿來(lái)分享一下LCS算法的實(shí)現(xiàn)
閱讀全文
摘要: Object pool就是一個(gè)管理對(duì)象的池子。新版本利用jdk 1.5以后的特性,結(jié)合泛型,而不是利用Object來(lái)實(shí)現(xiàn)了。
閱讀全文
摘要: 調(diào)試技巧(隨時(shí)總結(jié)):
F5單步進(jìn)入(在需要進(jìn)入某步方法時(shí))
F6單步調(diào)試(一般用于單步執(zhí)行)
F7單步跳出(跳出該調(diào)試區(qū)段方法)
F8調(diào)試恢復(fù)
閱讀全文
摘要: 今天看了一下JTidy的使用,目的就是為了格式化一個(gè)不標(biāo)準(zhǔn)的html到標(biāo)準(zhǔn)的xhtml。
JTidy是一個(gè)用java寫(xiě)的HTML語(yǔ)法檢查器,用JTidy可以檢查并修正語(yǔ)法不正確的html,同時(shí)還可以對(duì)html的DOM進(jìn)行分析。Xhtml和html有很多不同,其中幾個(gè)主要的區(qū)別是
閱讀全文
摘要: 雜七雜八的看了一些velocity的資料,把所見(jiàn)所得做個(gè)簡(jiǎn)單不系統(tǒng)的筆記寫(xiě)下來(lái),算是增強(qiáng)記憶。
閱讀全文
摘要: Commons-lang記錄:
一個(gè)最常用的工具,作為jdk的補(bǔ)充,有必要看一下源碼~~
閱讀全文
摘要: 聚類(lèi)可以見(jiàn)我以前寫(xiě)過(guò)的聚類(lèi)分析的文章。
回歸是一個(gè)統(tǒng)計(jì)中非常重要的概念了。在Commons Math庫(kù)中有一個(gè)regression的子包轉(zhuǎn)么實(shí)現(xiàn)了線(xiàn)性回歸的一些基本類(lèi)型。在regression包中,有個(gè)基本接口就是MultipleLinearRegression,這個(gè)接口表達(dá)y=X*b+u這樣的基本線(xiàn)性回歸式。線(xiàn)性回歸是利用稱(chēng)為線(xiàn)性回歸方程的最小二乘函數(shù)對(duì)一個(gè)或多個(gè)自變量和因變量之間關(guān)系進(jìn)行建模的一種回歸分析。簡(jiǎn)單看這個(gè)公式,y代表了一個(gè)n維的列向量(回歸子),X代表了[n,k]大小的觀(guān)測(cè)值矩陣(回歸量),b是k維的回歸參數(shù),u是一個(gè)n維的剩余誤差。回歸分析干什么用的?具體講就是預(yù)測(cè)。我們?cè)跀?shù)據(jù)挖掘中定義,定性的分析叫做分類(lèi),而定量的分析叫做回歸。回歸就是根據(jù)已有的觀(guān)察值去預(yù)測(cè)未來(lái)的一個(gè)定量的指標(biāo)。記得前一段阿里云到學(xué)院來(lái)做技術(shù)交流,講到阿里和淘寶通過(guò)數(shù)據(jù)分析對(duì)中國(guó)商品交易(還是具體什么貿(mào)易,忘記了,尷尬)的預(yù)測(cè)就是工程師做的一個(gè)簡(jiǎn)單的線(xiàn)性回歸分析,模型雖然簡(jiǎn)單,但是后來(lái)與實(shí)際數(shù)據(jù)一比較,預(yù)測(cè)值與實(shí)際值的曲線(xiàn)基本吻合。
閱讀全文
摘要: 概率統(tǒng)計(jì)最基本的前提就是有數(shù)據(jù),而我們做模擬或者測(cè)試時(shí)總會(huì)用到大量的隨機(jī)數(shù)據(jù)。我們知道絕對(duì)的隨機(jī)是做不到的,但是可以利用算法來(lái)實(shí)現(xiàn)偽隨機(jī)數(shù)的生成。Commons Math庫(kù)提供了一個(gè)random的包,其中定義實(shí)現(xiàn)了很多可以用來(lái)生成隨機(jī)數(shù)的類(lèi)和接口。random包中定義了5個(gè)接口,分別是EmpiricalDistribution、NormalizedRandomGenerator、RandomData、RandomGenerator和RandomVectorGenerator。
閱讀全文
摘要: 我們講到數(shù)學(xué)的計(jì)算,難免會(huì)遇到分?jǐn)?shù)形式,因?yàn)閷?shí)數(shù)的定義就是可以表示為一個(gè)分?jǐn)?shù)的形式的數(shù),而加入虛數(shù)的復(fù)數(shù)也是偶爾會(huì)遇到的。Commons Math包中的fraction和complex包就分別提供了方法來(lái)表示這兩種數(shù)。
閱讀全文
摘要: 概率分布是概率論的一個(gè)基礎(chǔ)。
在Commons Math包中也專(zhuān)門(mén)有一個(gè)子包對(duì)概率分布進(jìn)行了封裝實(shí)現(xiàn)。在distribution包中,定義了一個(gè)基本接口Distribution。該接口只有兩個(gè)方法,一個(gè)是double cumulativeProbability(double x),一個(gè)是double cumulativeProbability(double x0, double x1)。前者對(duì)于服從某種分布的隨機(jī)變量X,返回P(X<=x);后者則返回P(x0<=X<=x1)。正如其名所示,這樣也就得到了概率。
閱讀全文
摘要: 函數(shù)方程求解,其實(shí)是函數(shù)的零點(diǎn)問(wèn)題,也就是說(shuō)函數(shù)的曲線(xiàn)與X軸的交點(diǎn)。對(duì)于線(xiàn)性方程,我們可以輕易的求解,對(duì)于線(xiàn)性方程組,利用前面講過(guò)的的矩陣分解方法也可以求解。那么對(duì)于函數(shù)表達(dá)的很多非線(xiàn)性方程的求解。我們要依賴(lài)數(shù)值算法。Commons Math包中專(zhuān)門(mén)有一個(gè)analysis.solver包來(lái)解決這個(gè)問(wèn)題。
閱讀全文
摘要: 積分可以說(shuō)是最常見(jiàn)的了,在函數(shù)的一節(jié)中我們講過(guò)函數(shù)的微分和給定變量求值,這里我們講講通過(guò)函數(shù)求積分,具體的數(shù)值積分方法和應(yīng)用。什么是數(shù)值積分?在數(shù)值分析中,數(shù)值積分是計(jì)算定積分?jǐn)?shù)值的方法和理論。在數(shù)學(xué)分析中,給定函數(shù)的定積分的計(jì)算不總是可行的。許多定積分不能用已知的積分公式得到精確值。數(shù)值積分是利用黎曼積分等數(shù)學(xué)定義,用數(shù)值逼近的方法近似計(jì)算給定的定積分值。借助于電子計(jì)算設(shè)備,數(shù)值積分可以快速而有效地計(jì)算復(fù)雜的積分。Commons Math中的積分包analysis.integration提供了幾種數(shù)值積分的實(shí)現(xiàn),UnivariateRealIntegrator接口是積分包中的基礎(chǔ)接口,該接口繼承了math包中的ConvergingAlgorithm接口。具體定義了一系列方法,其中比較主要的有double integrate(UnivariateRealFunction f, double min, double max)方法,這個(gè)方法就是通過(guò)min和max設(shè)定積分區(qū)間,通過(guò)f設(shè)定被積函數(shù),最后返回定積分值的方法。可以看到這個(gè)接口的實(shí)現(xiàn)是針對(duì)單變量實(shí)函數(shù)的。多元積分的實(shí)現(xiàn),目前還沒(méi)有看
閱讀全文
摘要: 在Commons Math中的analysis.interpolation包中有所有的與函數(shù)插值相關(guān)的類(lèi)和接口定義。這一篇主要從這個(gè)包分析,來(lái)研究一下函數(shù)插值的應(yīng)用。在2.1的api doc中添加了很多新的接口和類(lèi)實(shí)現(xiàn),但是2.0的source code里還是只有少量的實(shí)現(xiàn)。這里以2.0的source code為標(biāo)準(zhǔn),輔助以2.1的api doc(其實(shí)這都是不影響的)。
插值是數(shù)學(xué)領(lǐng)域數(shù)值分析中的通過(guò)已知的離散數(shù)據(jù)求未知數(shù)據(jù)的過(guò)程或方法。給定n個(gè)離散數(shù)據(jù)點(diǎn)(稱(chēng)為節(jié)點(diǎn))(xk,yk),k= 1,2,...,n。對(duì)于,求x所對(duì)應(yīng)的y的值稱(chēng)為內(nèi)插。f(x)為定義在區(qū)間[a,b]上的函數(shù)。x1,x2,x3...xn為[a,b]上n個(gè)互不相同的點(diǎn),G為給定的某意函數(shù)類(lèi)。若G上有函數(shù)g(x)滿(mǎn)足: g(xi) = f(xi),k = 1,2,...n
則稱(chēng)g(x)為f(x)關(guān)于節(jié)點(diǎn)x1,x2,x3...xn在G上的插值函數(shù)
閱讀全文
摘要: 在Commons Math中的analysis.polynomials包中有所有的與多項(xiàng)式函數(shù)相關(guān)的類(lèi)和接口定義。這一篇主要從這個(gè)包分析,來(lái)研究一下多項(xiàng)式函數(shù)的應(yīng)用。
閱讀全文
摘要: 向量和矩陣可以說(shuō)是線(xiàn)性代數(shù)的代表,那么返還到高等數(shù)學(xué)中,函數(shù)就是我們最常用到的單位了,還有各種微積分和其他應(yīng)用,都是建立在變量、函數(shù)的基礎(chǔ)上的。Commons Math庫(kù)的下一個(gè)研讀部分就是針對(duì)函數(shù)這一塊。在Commons Math中也單獨(dú)有一個(gè)analysis包完成這部分實(shí)現(xiàn)。
閱讀全文
摘要: 補(bǔ)充上一次的矩陣知識(shí),這次主要講講矩陣的一些分解運(yùn)算——Matrix Decomposition:
矩陣分解主要有三種方式:LU分解,QR分解和奇異值分解。當(dāng)然在Math的linear包中提供了對(duì)應(yīng)的接口有CholeskyDecomposition、EigenDecomposition、LUDecomposition、QRDecomposition和SingularValueDecomposition這5種分解方式。
閱讀全文
摘要: 今天來(lái)第二篇:矩陣——Matrix。
Math包org.apache.commons.math.linear里對(duì)矩陣的表示是有一個(gè)層次結(jié)構(gòu)的。
最頂層的AnyMatrix是一個(gè)基本的interface。下面有3個(gè)sub interface:BigMatrix, FieldMatrix
, RealMatrix。而每個(gè)sub interface分別被相應(yīng)的矩陣類(lèi)實(shí)現(xiàn)。整個(gè)矩陣的層次結(jié)構(gòu)也就出來(lái)了。不過(guò)其中的BigMatrix已經(jīng)不用了。被Array2DRowFieldMatrix替代了。
閱讀全文