中橫平抽演算法
❶ Knuth 洗牌演算法
思考:洗牌的結果是所有元素的一個排列。一副牌如果有 n 個元素,最終排列的可能性一共有 n! 個。 公平的洗牌演算法,應該能等概率地給出這 n! 個結果中的任意一個 。 如思考慮到這一點,我們就能設計出一個簡單的暴力演算法了:對於 n 個元素,生成所有的 n! 個排列,然後,隨機抽一個。 這個演算法絕對是公平的。但問題是,復雜度太高。復雜度是多少呢?O(n!)。因為,n 個元素一共有 n! 種排列,我們求出所有 n! 種排列,至少需要 n! 的時間。所以,這個演算法確實是公平的,但是,時間不可容忍。
我們再換一個角度思考「公平」這個話題。其實,我們也可以認為,公平是指, 對於生成的排列,每一個元素都能獨立等概率地出現在每一個位置。 或者反過來, 每一個位置都能獨立等概率地放置每個元素。
基於這個定義,我們就可以給出一個簡單的演算法了。說這個演算法簡單,是因為他的邏輯太容易了,就一個循環:
這么簡單的一個演算法,可以保證上面我所說的,對於生成的排列,每一個元素都能獨立等概率的出現在每一個位置。或者反過來,每一個位置都能獨立等概率的放置每個元素。 大家可以先簡單的理解一下這個循環在做什麼。其實非常簡單,i 從後向前,每次隨機一個 [0...i] 之間的下標,然後將 arr[i] 和這個隨機的下標元素,也就是 arr[rand(0, i)] 交換位置。 大家注意,由於每次是隨機一個 [0...i] 之間的下標,所以,在每一輪,是可以自己和自己交換的。 這個演算法就是大名鼎鼎的 Knuth-Shuffle,即 Knuth 洗牌演算法。
❷ 羽毛球雙打的技術和戰術
1、雙打攻人戰術
這是雙打中常用的一種戰術,就是以人為攻擊目標。對付兩名技術水平高低不一的對手時,一般都採用這種戰術。對付兩名實力相當的隊員時也可採用這一戰術。它集中攻勢於對方一名隊員,常能起到「集中優勢兵力打殲滅戰」的作用;如果對方另一隊員過來協助,就會暴露出空檔,可在其倉促接應、立足不穩時偷襲他。
3、雙打攻後場戰術
這種戰術常用來對付後場扣殺能力較差的對手,把對方弱者調動到後場後使用。此戰術多採用平高球、平推球、挑底線把對方一人緊逼在底線,使其在底線兩角移動擊球,在其還擊出半場高球或網前高球時即可大力扣殺,取得這一回合的勝利或主動。如在逼底線兩角時對方同伴要後退支援,則可攻擊網前空檔或打後退者的追身球。
4、雙打後攻前封戰術
後場隊員積極大力扣殺創造機會,在對方接殺放網、挑高球或企圖反擊抽球時,前場隊員以撲、搓、勾、推控制網前,使整個進攻連貫而又有節奏變化,讓對方防不勝防。
5、防守
(1)調整站位 為了擺脫被動,伺機轉入反攻,首先要調整好防守時的站位。如果是網前挑高球,那麼擊球者應該直線後退,切忌對角後退。直線後退路線短、站位快、對角後退路線長,也容易被對方打追身球。另一名隊員應根據同伴移動後的情況補到空檔位。雙打防守時的站位調整,都是一名隊員在跑動擊球時,另一名隊員根據同伴的移動情況填補空檔。
(2)防守球路
A、攻方殺球者和封網隊員在半邊場前後站位時,接殺球應打到另半邊場地。
B、攻方殺球者和封網者在前後對角位上,接殺球可還擊到殺球者的網前或封網者的後場。
C、攻方殺球者殺對角後,如果另一名隊員想要退到後場去助攻時,接殺球時可以還擊到網前中路或直線網前。
D、把攻方殺來的直線球挑對角,殺來的對角球挑直線,以調動殺球者。 關於防守的方法還有許多,但目的都是為了破壞攻方的進攻節奏和進攻勢頭。當攻方進攻勢頭一減,即可平抽或蹲擋,若攻方站位混亂出現空檔時,守方即可抓住戰機轉守為攻取得主動。
❸ 圍棋怎麼算輸贏的
圍棋計算勝負:圍棋現存在三種規則。中國大陸採用數子規則,中國台灣採用應氏計點規則,日韓採用數目規則。因為黑方先行存在一定的優勢,故所有規則都採用了貼目制度。
中國規則
1、貼3又3/4子的規則:第一步,把死子提掉。第二步,只數一方圍得點數並記錄下來(一般圍得點以整十點為單位)。第三步,如果數的是黑棋,再減去3又3/4子,如果數的是白棋,再加上3又3/4子。第四步,結果和180又1/2(棋盤361個點的一半)比較,超過就算勝,否則判負。
黑目數超過184.25子即勝,而白只需超過176.75子即勝。通俗來說為白棋177子為勝,黑棋184.5子為勝。
2、讓先與讓子:讓先不貼目,讓子要貼還讓子數的一半(就當被讓方是預先收了單官)。
日韓規則
日本和韓國規則是一樣的,採用數目法,黑棋終局要貼6目半。先數一方的目數並記錄下來,再數另一方的目數並記錄下來,然後黑棋減去6目半,最後和白棋比較,多者為勝。
值得一提的是「一子兩目」的說法。雖然圍棋計算勝負的方法不同,但表現在一盤特定的棋局上,貼m子=貼2m目,勝n子=勝2n目。原因在於:數子法,是計算黑白任意一方與歸本數(361/2=180.5)的偏差;比目法,是比黑白雙方所得目數的差距。
例如,一盤棋黑白雙方相互交替落子,進行了280手,盤面地域已全部劃清,雙方在俘虜和死子回填後,形成如下形勢:(1)盤面黑子有140顆,黑方所佔實空為44目,即黑方佔地140+44=184子;(2)盤面白子有140顆,白方所佔實空為37目,即白方佔地140+37=177子。
(i)如果不貼子。用數子法計算,黑方佔地為184子,黑方勝184-180.5=3.5子。用比目法計算,黑方有44目,白方有37目,黑方勝白方44-37=7目。
(ii)如果貼3.25子,即貼3.25*2=6.5目。用數子法計算,黑方扣除貼子後佔地184-3.25=180.75子,黑方勝180.75-180.5=0.25子,即黑方勝1/4子。用比目法計算,黑方扣除貼目後有44-6.5=37.5目,黑方勝白方37.5-37=0.5目,即黑方勝白方1/2目。
(iii)如果貼3.75子,即貼3.75*2=7.5目。用數子法計算,黑方扣除貼子後佔地184-3.75=180.25子,此時180.25<180.5,因此白方勝,白方勝180.5-180.25=0.25子。
用比目法計算,黑方扣除貼目後有44-7.5=36.5目,此時36.5<37,因此白方勝,白方勝黑方37-36.5=0.5目,即白方勝黑方1/2目。
由此可見,在圍棋最終計算勝負的盤面固定下來後,用數子法和比目法計算出來的結果一般是相同的。但由於貼子或貼目數量的不同,黑白雙方的勝負可能會出現不同的結果,正如情形ii與情形iii所列。
對雙方互不相讓的三劫循環、四劫循環、長生、雙提二子等罕見特例,可判和棋或者重下。
以上內容來自 網路-圍棋
❹ 抽樣的一般步驟有什麼
(1)界定總體 (2)制定抽樣框 (3)實施抽樣調查並推測總體 (4)分割總體 (5)決定樣本規模 (6)決定抽樣方式 (7)確定調查的信度和效度
❺ 抽樣包括的步驟有
按照一定原則進行抽樣時,大致可包括如下幾個步驟:
1、界定總體
界定總體包括明確總體的范圍、內容和時間。實際調查的總體與理論上設定的總體會有所不同,總體越復雜,二者的差別越大。例如,要研究某地青少年的犯罪狀況,理論上的總體是這一地區符合一定條件的所有的青少年,但實際上我們能夠抽樣的總體並不能全部包括,也就是說只能根據我們所能夠掌握的這一地區符合一定條件的青少年進行抽樣。因此,
抽樣總體
有時不等於理論上的研究總體,樣本所代表的也只是明確界定的抽樣總體。此外,由於調查研究內容的不同,對總體的限定也會有所不同。
2、確定
抽樣框
這一步驟的任務就是依據已經明確界定的總體范圍,收集總體中全部抽樣單位的名單,並通過對名單進行統一編號進而組合成一種可供選擇的形式,如名單、代碼、符號等。抽樣框的形式受總體類型的影響:簡單的總體可直接根據其組成名單形成抽樣框;但對構成復雜的總體,常常根據調查研究的需要,制定不同的抽樣框,分級選擇樣本。例如,進行全國
人口抽樣調查
,先以全國的省市為抽樣框選部分省、市為
調查單位
,然後再以這些省、市中的各縣、區為抽樣框選部分縣、區為調查單位,這樣依次到村或居委會。
在
概率抽樣
中,抽樣框的確定非常重要,它會直接影響到樣本的代表性。因此,抽樣框要力爭全面、准確。
3、
樣本設計
樣本設計包括確定樣本規模和選擇抽樣的具體方式。抽樣的目的是用樣本來代表總體,自然樣本數越大,其代表性越高。但樣本數越大,調查研究的成本也越大。因此,確定合適的樣本規模和抽樣方式是抽樣設計中的一項重要內容。我們在第三節中杵詳細討論這一問題。
4、評估樣本質量
評估樣本質量即通過對樣本
統計值
的分析,說明其代表性或誤差大小。對
樣本代表性
進行評估的主要標準是准確性和
精確性
:前者是指樣本的偏差,偏差越小,其准確性越高;後者是指
抽樣誤差
,誤差越小,其精確性或代表性越高。
❻ 演算法入門
ROC曲線(受試者工作特徵曲線)的橫坐標為假陽性率(分錯的負樣本占所有負樣本比率),縱坐標為真陽性率(分對的正樣本占所有正樣本比率)。通過動態地調整分類模型的分類閾值,可以在ROC圖上繪制出每一個分類閾值對應的兩個坐標值,再連接所有點繪制出模型的ROC曲線。AUC指ROC曲線下面積的大小,該指標能夠量化地反映基於ROC曲線的模型性能,AUC的取值一般都在0.5~1之間,值越大,說明分類器越可能把真正的正樣本排在前面,分類性能越好。相比較P-R曲線,ROC曲線在正負樣本的分布發生變化時,形狀能夠基本保持不變,而P-R曲線一般會發生較劇烈的變化,這個特點可以使得ROC曲線能夠盡量降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性能。在實際中,正負樣本數量往往不均衡,因此ROC曲線的適用場景更廣泛。
對於任意線性可分的兩組點,它們在SVM分類的超平面上的投影都是線性不可分的。由於SVM的分類超平面僅由支持向量決定,可以考慮只含有支持向量的場景:假設存在一個SVM超平面滿足投影線性可分,則樣本中分屬兩類的支持向量之間的中垂線所組成的超平面是相較於SVM超平面更優的解,這與SVM超平面為最優分類超平面的假設相違背。
SVM的KKT條件:
結合(3)和(4),當 時,必有 ,將這一結果與拉格朗日對偶優化問題的公式相比較: ,其中 。除了支持向量之外,其他系數均為0,因此SVM的分類結果僅依賴於支持向量,SVM的分類結果與僅使用支持向量的分類結果一致。
該問題也可以通過凸優化理論中的超平面分離定理解決。
高斯核SVM的預測公式為: ,固定 ,則有 。由於不存在兩個點在同一位置,則對於任意點 ,有 .
對於任意 ,取 ,有
所以,對於任意 ,預測結果 與真實標簽的距離小於1,所有樣本的類別都被正確預測,訓練誤差為0.
本題等價於找到使訓練誤差為0的參數,且是SVM模型的一個解。上述所找到的參數可以滿足 ,若想成為SVM的解,還需要滿足 。
仍然固定 ,則有 . 此時可以把每個 都選擇一個很大的值,同時取一個非常小的 ,使得核映射項 非常小,就可以滿足題意。
不一定能得到訓練誤差為0的模型,因為此時優化的目標改變了,當鬆弛變數模型目標函數參數C選取較小的值時,正則項將占據優化的較大比重,此時一個帶有訓練誤差但是參數較小的點將成為更優的結果。
如果把一個事件的幾率定義為該事件發生與該事件不發生的概率比值,根據邏輯回歸的公式 ,邏輯回歸可以看作是對於事件"y=1|x"的對數幾率的線性回歸,所以有回歸的名稱。但是邏輯回歸的因變數是離散的,處理的是分類問題;線性回歸中的因變數是連續的,處理的是回歸問題。邏輯回歸與線性回歸的相似處是:都使用了極大似然估計,線性回歸的最小二乘實際上是自變數和超參數確定、因變數服從正態分布的假設下使用極大似然估計的一個化簡,邏輯回歸中通過對似然函數的學習來得到最佳超參數;二者在求解超參數的過程中,都可以使用梯度下降法。
如果一個樣本只對應於一個標簽,可以假設每個樣本屬於不同標簽的概率服從於幾何分布,使用多項邏輯回歸(Softmax Regression)來進行分類:
當存在樣本可能屬於多個標簽的情況時,可以訓練k個二分類的邏輯回歸分類器,第i個分類器用於區分每個樣本是否可以歸為第i類。
ID3會傾向於選取取值較多的特徵,因為信息增益反應的是給定條件以後不確定性減少的程度,特徵取值越多就意味著確定性更高,也就是條件熵越小,信息增益越大,C4.5通過引入信息增益比,一定程度對取值比較多的特徵進行懲罰,避免ID3出現過擬合的特性,提升模型的泛化能力;ID3隻能處理離散變數,而C4.5和CART都可以處理連續變數;ID3和C4.5隻能用於分類任務,CART不僅可以分類也可以用於回歸;ID3和C4.5可以在每個結點上產生出多叉分支,且每個特徵在層級之間不會復用,而CART每個結點只會產生兩個分支,且每個特徵可以被重復使用;ID3和C4.5通過剪枝來權衡樹的准確性與泛化能力,而CART直接利用全部數據發現所有可能的樹結構進行對比。
對於給定的一組數據點 ,中心化後表示為 ,其中 ,目標是找到一個投影方向 (單位方向向量)使數據點在其上的投影方差盡可能大。投影之後的均值: 投影之後的方差(均值為0,直接平方): 其中, 是樣本的協方差矩陣,將其寫作 ,則有求解最大化問題: 引入拉格朗日乘子,並對 求導令其等於0,可以推出 ,此時 該值為協方差矩陣的最大特徵值
LDA的最大化目標: 其中 分別表示兩類投影後的方差: 則目標函數可以寫成: 定義類間散度矩陣 ,類內散度矩陣 ,最大化 即是對 求偏導且令其等於零: 可以得出 在簡化的二分類問題中,可以令 ,則有 這里LDA最大化的目標對應了矩陣 的特徵值,而投影方向就是這個特徵值對應的特徵向量。
PCA為無監督降維演算法,LDA為有監督降維演算法,兩種降維演算法的求解過程有很大的相似性,但是對應的原理卻有所區別:PCA選擇投影後數據方差最大的方向,由於演算法無監督,PCA假設方差越大信息量越多,用主成分來表示原始數據可以去除冗餘的維度,達到降維;LDA用到了類別標簽的信息,選擇投影後類內方差小、類間方差大的方向,使得原始數據在這些方向上投影後不同類別盡可能區分開。應用的原則是無監督任務使用PCA,有監督任務使用LDA。
優點:對於大數據集,K均值聚類演算法相對是可伸縮和高效的,它的計算復雜度是 接近於線性,其中 是數據對象的數目, 是聚類的簇數, 是迭代的輪數;盡管演算法經常以局部最優結束,但一般情況下達到局部最優已經可以滿足聚類的需求
缺點:需要人工預先確定初始K值,且該值和真實的數據分布未必吻合;受初值和離群點的影響,每次的結果不穩定;結果通常不是全局最優而是局部最優解,效果受到初始值影響;無法良好地解決數據簇分布差別比較大的情況(比如一類是另一類樣本數量的100倍);不太適用於離散分類;樣本點只能被劃分到單一的類中
SOM本質上是一個兩層的神經網路,包含模擬感知的輸入層和模擬大腦皮層的輸出層,輸出層中神經元的個數通常是聚類的個數。具有保序映射的特點,可以將任意維輸入模式在輸出層映射為一維或者二維圖形,並保持拓撲結構不變,使得輸出層神經元的空間位置對應於輸入空間的特定域或特徵。在SOM中,以獲勝神經元為中心,近鄰者相互激勵,遠鄰者相互抑制,這種交互作用的方式以曲線可視化則類似於「墨西哥帽」。
輸出層神經元數量:和樣本的類別數相關。若不清楚樣本的類別,則盡可能地設定較多的節點數,以便更好地映射樣本的拓撲結構,如果分類過細再酌情減少輸出節點。這樣可能會帶來少量從未更新過權重的「死節點」,但一般可通過重新初始化權重來解決
輸出層節點排列:排列形式應盡量直觀地反映出實際問題的物理意義。例如,對於一般的分類問題,一個輸出節點能代表一個模式類,使用一維線陣;對於顏色空間或者旅行路徑問題,二維平面則比較直觀
初始化權重:可以隨機初始化,但盡量使權值的初始位置與輸入樣本的大概分布區域充分重合,避免出現大量初始"死節點"。可以從訓練集中隨機抽取m個輸入樣本作為初始權重
拓撲領域:設計原則是使領域不斷縮小,這樣輸出平面上相鄰神經元對應的權向量之間既有區別又有相當的相似性,從而保證當獲勝節點對某一類模式產生最大響應時,其領域節點也能產生較大響應。領域的形狀可以是正方形、六邊形或者菱形。優勢領域的大小用領域的半徑表示,通常憑借經驗來選擇
學習率:學習率為遞減函數,訓練開始時,學習率可以選取較大的值,之後以較快的速度下降,有利於很快地捕捉到輸入向量的大致結構,然後學習率在較小的值上緩降為0,這樣可以精細地調整權值使之符合輸入空間的樣本分布結構。
如果數據基本隨機,那麼聚類的結果毫無意義。可以用霍普金斯統計量來判斷數據在空間上的隨機性:從樣本中隨機找 個點 ,對每一個 ,都在樣本空間中找到一個離它最近的點並計算它們之間的距離 ,從而得到距離向量 ;從樣本可能取值范圍內隨機生成 個點 ,使用同樣的原則得到距離向量 ,則霍普金斯統計量 可表示為: 。如果樣本接近隨機分布,則 的值接近於0.5,如果聚類趨勢明顯,隨機生成的樣本點距離應該遠大於實際樣本點距離,則 的值接近於1。
❼ 請問如何設計抽獎演算法
「有中心極限定理,你就算是固定概率也會趨向於期望值的。」唉~~我還是去慢慢研究一下吧。
麻煩採納,謝謝!