瞭解機率知識,機率作為機器學習的底層邏輯
1. 隨機
隨機是我們進行機率推導的基石之一。我們的統計學中經常說一枚硬幣拋正面的機率是50%,就是基於每次拋硬幣都是隨機事件。
真隨機” 和 “偽隨機”的區別:
真隨機
在真隨機中,每一個事件都是相互獨立、服從真隨機分佈的,不受其他事件的發生而改變。
偽隨機
我們程式設計師都知道,程式給定條件,得到的是確定的結果。所以我們編寫的Math.random()肯定不是真隨機,而是偽隨機。程式碼底下無秘密,我們看下自帶random函式的隨機數產生的邏輯。
圖1 random函式計算原始碼
可以看出,如果給定相同的seed,random方法將返回相同的隨機數。所以程式只是在生成近似隨機結果
2. 使用者對隨機的感受體驗
因此真隨機在實際使用過程中,並不一定帶來好的體驗。而很多偽隨機演算法更多的是在照顧使用者的感受。
PRD機制(Pseudo Random Distribution)
在遊戲中,會有機率暴擊的設計。比如某個角色的大招有35%的機率使出暴擊,按照真隨機,那麼 連續暴擊的機率 0.35X0.35=12.25%。
過高的暴擊機率對嚴謹的競技賽事來說,無疑是極其不公平的。因為一次人品爆發秒掉對方核心,可能直接決定賽事的成敗,而缺少了競技的成分。
因此遊戲公司大都遵循 PRD機制PRD公式如下:
圖2 PRD公式
其中,C是一個小於1的常數(演算法複雜,可以查表),N表示嘗試次數,P為機率。公式表明的意義是: 從事件發生起,每次不成功的嘗試都會增加1個固定值。 當觸發暴擊後,機率N重新計算。
圖3 預先算好的C值表
從表中,可以查到35%機率,使用的C約為16%,因此可以算的p(7)=16x7%=112%, 即7次必出現1次暴擊。 同時上來即 兩次暴擊的機率為 0.16x0.16 = 2.56%,大大降低了人品的干預。
3. 總結
機器學習發展這麼快,機率作為機器學習的底層邏輯,瞭解點機率知識不虧。
本文轉自:奈學開發者社群
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976612/viewspace-2700579/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 機器學習之邏輯迴歸:計算機率機器學習邏輯迴歸計算機
- 短影片的底層邏輯和認知
- 一網打盡:Java 程式設計師必須瞭解的計算機底層知識!Java程式設計師計算機
- 【深度學習】機率論知識複習深度學習
- 軟體測試的底層邏輯
- 瞭解用於大資料解決方案的邏輯層大資料
- 熱敏印表機排版—瞭解印表機的基礎知識
- 作為前端應當瞭解的Web快取知識前端Web快取
- 對數機率迴歸(邏輯迴歸)原理與Python實現邏輯迴歸Python
- 從OC角度思考OKR的底層邏輯OKR
- 改變CRUD認知:Web3去中心化的底層邏輯Web中心化
- 機率充電器
- 機率DP
- 機率論
- 機率期望
- 作為 Android 開發者必須瞭解的 Gradle 知識 (譯)AndroidGradle
- 大話Python函式底層邏輯Python函式
- 深入瞭解ORACLE的邏輯讀Oracle
- 條件機率、全機率、貝葉斯公式理解公式
- 過包率提升10% 一分鐘瞭解蘋果稽核機制蘋果
- 機率面試題面試題
- 萬字深度解析:遊戲規則、機制與玩法的關係和底層發展邏輯遊戲
- SAP中五個報廢率的計算邏輯
- Java 底層機制Java
- 瞭解少的知識
- 調查:印表機對Linux作業系統支援率為61.1%(轉)Linux作業系統
- 簡單瞭解InnoDB底層原理
- 使用mongodb作為Quartz.Net下的JobStore實現底層的持久化機制MongoDBquartz持久化
- 由Python歷史「解密」Python底層邏輯Python解密
- 全機率公式理解公式
- 組合機率期望
- Note - 機率與期望
- 機率期望訓練
- Spiceworks:Windows 10企業領域裝機率佔總裝機率的18%Windows
- 在統計學中機率分佈中的機率密度函式PDF,機率質量PMF,累積分佈CD函式
- 藉助機器學習提高CRISPR基因編輯準確率機器學習
- 遊戲機制設計:生活邏輯轉化為遊戲邏輯的設計形式遊戲
- 詳解SQL中Groupings Sets 語句的功能和底層實現邏輯SQL