Oracle區塊鏈開發技術( 簡體 字) | |
作者:[美]羅伯特·范·莫肯 著 王靜濤 譯 | 類別:1. -> 資料庫 -> Oracle 2. -> 程式設計 -> 區塊鏈 |
出版社:清華大學出版社 | 3dWoo書號: 52638 詢問書籍請說出此書號! 有庫存 NT售價: 745 元 |
出版日:4/1/2020 | |
頁數:434 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302547136 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章機器學習概述 1
1.1機器學習定義 1 1.2機器學習的發展 2 1.3機器學習的分類 3 1.4機器學習的研究領域 6 1.5本章小結 8 第2章機器學習數據特征 9 2.1數據分布性 9 2.1.1數據分布集中趨勢的測定 9 2.1.2數據分布離散程度的測定 14 2.1.3數據分布偏態與峰度的測定 17 2.2數據相關性 19 2.2.1相關關系 19 2.2.2相關分析 22 2.3數據聚類性 24 2.4數據主成分分析 27 2.4.1主成分分析的原理及模型 27 2.4.2主成分分析的幾何解釋 29 2.4.3主成分的導出 30 2.4.4證明主成分的方差是依次遞減 31 2.4.5主成分分析的計算 32 2.5數據動態性 34 2.6數據可視化 37 2.7本章小結 39 第3章機器學習分類算法 40 3.1數據清洗和特征選擇 40 3.1.1數據清洗 40 3.1.2特征選擇 42 3.1.3回歸分析 45 3.2決策樹、隨機森林 47 3.3SVM 51 3.3.1最優分類面和廣義最優分類面 52 3.3.2SVM的非線性映射 55 3.3.3核函數 56 3.4聚類算法 56 3.5EM算法 61 3.6貝葉斯算法 63 3.7隱馬爾可夫模型 63 3.8LDA主題模型 66 3.9人工神經網絡 69 3.10KNN算法 73 3.11本章小結 76 第4章Python機器學習項目 77 4.1SKlearn 78 4.1.1SKlearn包含的機器學習方式 78 4.1.2SKlearn的強大數據庫 79 4.1.3鳶尾花數據集舉例 80 4.1.4Boston房價數據集的示例 83 4.2TensorFlow 85 4.2.1TensorFlow簡介 86 4.2.2TensorFlow的下載與安裝 88 4.2.3TensorFlow的基本使用 91 4.3Theano 96 4.4Caffe 115 4.4.1Caffe框架與運行環境 115 4.4.2網絡模型 119 4.5Gensim 125 4.5.1Gensim特性與核心概念 125 4.5.2訓練語料的預處理 125 4.5.3主題向量的變換 126 4.5.4文檔相似度的計算 127 4.6Pylearn2 134 4.7Shogun 135 4.8Chainer 136 4.9NuPIC 143 4.10Neon 160 4.11Nilearn 165 4.12Orange3 168 4.13PyMC與PyMC3 171 4.14PyBrain 175 4.15Fuel 181 4.16PyMVPA 184 4.17Annoy 186 4.18Deap 190 4.19Pattern 191 4.20Requests 195 4.21Seaborn 199 4.22本章小結 206 第5章Kaggle平臺機器學習實戰 207 5.1Kaggle信用卡欺詐檢測 207 5.1.1Kaggle信用卡欺詐檢測準備 207 5.1.2Kaggle信用卡欺詐檢測實例 210 5.2Kaggle機器學習案例 228 5.2.1Kaggle機器學習概況 229 5.2.2自行車租賃數據分析與可視化案例 230 5.3本章小結 241 第6章PaddlePaddle平臺機器學習實戰 242 6.1PaddlePaddle平臺安裝 242 6.2PaddlePaddle平臺手寫體數字識別 243 6.3PaddlePaddle平臺圖像分類 261 6.4PaddlePaddle平臺詞向量 277 6.5PaddlePaddle平臺個性化推薦 289 6.6PaddlePaddle平臺情感分析 302 6.7本章小結 311 參考文獻 312 本書詳細闡述了與區塊鏈和Oracle開發相關的基本解決方案,主要包括區塊鏈入門、理解區塊鏈的數據流、公共區塊鏈與許可區塊鏈、以太坊與Hyperledger、構建下一代Oracle B2B平臺、Oracle區塊鏈云服務、建立許可區塊鏈、設計和開發智能合約、部署和測試智能合約、配置-擴展-監控網絡等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。
本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。 由于你正在閱讀本書,因此我假設你有興趣學習更多有關在Oracle環境中使用區塊鏈技術的知識,本書將盡力為你提供這方面的知識。本書將詳細解釋區塊鏈背后的概念和術語,以及它們是如何影響Oracle開發人員和客戶的。本書的幾個章節研究了幾個主要行業的實際用例。除了這些信息豐富的章節之外,本書還提供了在Oracle云上設置和運行私有區塊鏈的示例。
在談到區塊鏈時,我們指的是一個分布式(鍵-值)數據庫,它使一組實體能夠共享一個統一的數字賬本,并快速安全地進行交易,而無須通過中央機構。每個實體通過私鑰控制其資產,并獨立驗證所有交易。區塊鏈不會有單點故障,因此實體可以隨時出現、消失或發生故障,而不會影響整個組。 在深入研究區塊鏈之前,我們首先介紹區塊鏈的廣泛歷史及其來源。 區塊鏈的歷史 2008年10月,區塊鏈被中本聰(Satoshi Nakamoto)設想為比特幣的基礎技術(中本聰究竟是誰?目前仍不得而知,一般認為,中本聰是一個假名,它背后可能是一個人或一個團隊)。這雖然不是第一次,但是它詳細描述了加密保護數據塊鏈的想法。在整個20世紀90年代,有多位作者出版了多本書,它們出版的時間差不多。在20世紀90年代末和2000年年初,出版了第一批書,其中談到了去中心化的數字貨幣和密碼保護鏈理論。在發明該技術之前,有兩個人也是很重要的,他們就是早期致力于創造功能性電子貨幣的知名人物魏黛(Wei Dai)和尼克?薩博(Nick Szabo)。 然而,直到2008年,這些概念才導致第一個區塊鏈的產生,它是在中本聰的白皮書Bitcoin: A Peer-to-Peer Electronics Cash System(《比特幣:點對點電子現金系統》)中完成的。 該白皮書描述了最終成為區塊鏈的基礎技術背后的概念。 在該白皮書發布僅3個月后,比特幣的代碼于2009年1月9日以免費的開源格式發布。 比特幣網絡本身于2009年1月3日開始,當時中本聰使用該代碼“挖掘”出第一個比特幣。幾天后,第一筆交易發生了。在隨后的幾個月中,比特幣網絡獲得了越來越多的關注和成員,這導致了2009年10月5日的第一個官方貨幣匯率。那時,一個比特幣(BTC)的價值約為0.76美元,這是基于一個等式計算出來的,其中包括計算機節點生成比特幣所需的電費。在本書撰寫期間(2018年6月7日),比特幣的價值約為7693.50美元,但它的歷史最高價曾經達到過19783.06美元。2010年2月6日,個人可以使用新建立的美元貨幣兌換系統來買賣比特幣。在同一年,由于參與成員增加,市值超過了100萬美元,在3年內,比特幣的市值就超過了10億美元。 圖P.1 比特幣和區塊鏈歷史的時間表 請記住,這本書并不單純是和比特幣有關的,而是關乎它背后的技術的。如果我們按區塊鏈發展的時間快進,那么就可以看到許多替代區塊鏈貨幣的崛起。因為比特幣核心代碼是開源的,所以任何知識較為廣博的個人都可以通過更改此代碼來啟動新的區塊鏈貨幣。因此,你可以理解為什么會有這么多的代幣,其中最引人注目的可能是萊特幣(Litecoin). 萊特幣是跟隨比特幣的最初加密貨幣之一,于2011年10月7日推出,它也是開源的。它是比特幣核心代碼的一個分支,這意味著它改變了當前代碼(或協議),而改為采用由前谷歌員工李啟威發布的規則。如果將比特幣視為黃金,那么萊特幣就可以被視為白銀(萊特幣的營銷口號確實是“比特金,萊特銀”),因為萊特幣的整體交易量較高且價格較低。萊特幣主要通過減少區塊生成時間(僅需要2.5分鐘而不是10分鐘)、增加最大硬幣數量(萊特幣網絡預期產出8400萬個萊特幣,是比特幣網絡發行貨幣量的4倍之多)和不同的哈希算法來區別于比特幣。如果你還不了解這些概念,請不要擔心,因為我將在接下來的章節中詳細介紹這些概念。 其他值得一提的代幣還包括Dash、Zcash和Ripple. Dash將自己定義為更具秘密性的比特幣版本,因為它通過去中心化網絡進行交易而幾乎無法追蹤,從而提供更大的匿名性。另一方面,Zcash則聲稱可基于交易的選擇性透明度提供安全性或隱私,方法是將發件人、收件人和金額等詳細信息設為私有。所有這些加密貨幣都是對原始比特幣核心代碼的改編,或者他們采用這些代碼背后的概念,并創造出一些全新的東西。Ripple在技術上是一個公共區塊鏈,因其專注于銀行而脫穎而出。這是一個有趣的例子,就好像它是一個基于公眾的平臺,它通過中央所有權進行私有控制,代碼是封閉源代碼,這使得銀行能夠以較低的成本實時結算跨境支付。 同樣,如果我們將時間向前推進到2015年就會發現,從那時起,幾家初創企業就出現了,它們研究了區塊鏈用于不同目的的情況。其中最著名的是以太坊,它是一個開源的、基于公共區塊鏈的分布式計算平臺。以太坊的一個顯著特點是智能合約,智能合約是一種(腳本)功能,旨在使用圖靈完備虛擬機促進合同協議,這意味著它具有條件分支(例如,if和goto語句,或branch if zero指令)。 由于以太坊仍然是公共區塊鏈,因此它提供了自己的加密貨幣“以太幣”來補償幫助在平臺上執行計算的參與者。在本書第5章“區塊鏈入門—安全、隱私和智能合約”中,我們將詳細介紹這些協議。 如圖P.2所示是到目前為止出現過的一些基于區塊鏈代碼的著名加密貨幣和平臺。 圖P.2 基于區塊鏈技術的加密貨幣和平臺 到目前為止,我們只討論過公共區塊鏈。2015年之后,由于眾多軟件可以公開運行自己的私有區塊鏈網絡,因此情況發生了變化。由于交易成本高,在交換信息時,公共區塊鏈(如比特幣和以太坊)非常糟糕,因此,人們引入了私有區塊鏈來解決這些與成本相關的問題。此外,它們旨在通過管理區塊鏈用戶權限來提供更多隱私和開放性。 注意: 私有區塊鏈執行以下操作: ? 確保區塊鏈上的活動僅對選定的參與者可見。 ? 引入對權限的控制以管理允許哪些交易。 ? 在沒有與工作量證明(Proof of Work,PoW)相關的成本的情況下實現交易的驗證(挖掘)。 有若干個私有區塊鏈,一些是基于云的,而另一些則是在內部部署運行的。有一些企業,例如Deloitte(德勤,世界四大會計師事務所之一)的Rubix和Eris Industries的Monax等公司,直接向企業出售私有區塊鏈的一體化解決方案。例如,Monax為金融、保險和物流行業提供了現成可用的SDK。其他公司,如Microsoft和IBM,都在自己的云基礎架構上提供區塊鏈即服務(Blockchain as a Service,BaaS),兩者都運行Hyperledger Fabric. Microsoft也運行以太坊。此外,它還提供打包為Azure快速入門模板的私有區塊鏈節點. 自2016年以來,提供開源軟件以運行自己的私有區塊鏈的供應商數量有所增加。已經提到的是Hyperledger Fabric。它是Java項目Hyperledger的一部分,該項目最初由Linux基金會于2016年年初啟動。該項目提供了來自不同貢獻者的多個開源區塊鏈和工具,每一個都提供不同的機制和功能,可用的工具包括Composer(包管理)和Explorer(分析)。 Hyperledger Fabric中的區塊鏈是為在Linux上運行而構建的,但它們也可以使用Docker在macOS和Windows上運行。 MultiChain采用桌面路由方式,即使在Windows環境中也可以在桌面上部署私有區塊鏈。它也是開源的,允許根據自定義規范快速設計、部署和操作私有區塊鏈。使用MultiChain,可以創建多種類型的數據流,包括鍵-值或身份數據庫。 為了實現我們自己的區塊鏈,本書在第8章中仔細比較了兩個私有區塊鏈,即以太坊和Hyperledger,以及它們彼此不同的原因。 很多大公司,例如Visa、美國第一資本投資國際集團、納斯達克和飛利浦等都正在投資各種可用的區塊鏈平臺,并在日常業務中實現這些平臺。圖P.3顯示了區塊鏈發展歷史中的一些大事件。 圖P.3 區塊鏈發展歷史中的大事件 表P.1 原文、譯文對照表 原 文 譯 文 HISTORY OF THE BLOCKCHAIN CODE 區塊鏈發展歷史 LATE 90S/2000 First publications about Decentralized digital currency and Cryptographic chains 20世紀90年代后期—2000年 關于去中心化數字貨幣和加密鏈的首批出版物面世 NOVEMBER 2008 Unkonwn person or group publishes whitepaper that conceptualize Bitcoin, creating the first Blockchain 2008年11月 一個至今無法知曉的人或團體發布概念化比特幣的白皮書,創建了第一個區塊鏈 JANUARY 3th 2009 The “Genesis block” is “mined”, which validated the code by processing 1st collection of transactions 2009年1月3日 比特幣的“創世塊”被“挖掘”出來,它通過處理第一個交易集合來驗證代碼 JANUARY 9th 2009 Code of Bitcoin released as free available, open-source via GitHub 2009年1月9日 比特幣代碼通過GitHub以開源方式免費提供 OCTOBER 7th 2011 One of the initial forks of Bitcoin code, released by former Google employee, was Litecoin, which changed parts of algorithm 2011年10月7日 由前谷歌員工發布的比特幣代碼的最初分支之一萊特幣出現,后者改變了部分算法 2013-2014 Rise of popular forks of the Blockchain code like Dash, Zcash and Ripple, where each fork has different characteristics 2013—2014 區塊鏈代碼的流行分支興起,如Dash、Zcash和Ripple,其中每個分支具有不同的特征 JULY 30th 2015 Ethereum introduces smart contracts, which facilitates contractual agreements using a Turing-complete virtual machine 2015年7月30日 以太坊引入智能合約,使用圖靈完備虛擬機促進合約的一致性 1st QUARTER OF 2016 Linux-Foundation launches the Hyperledger project, which aims to develop open Protocols and standards for creating a Blockchain 2016年第1季度 Linux基金啟動了Hyperledger項目,該項目旨在開發用于創建區塊鏈的開放協議和標準 2016-2018 Multiple Platforms offering rapid design, deployment and operation of custom private Blockchains, e.g. Multichain and Hyperledger Fabric 2016—2018 多個平臺(如Multichain和Hyperledger Fabric)均可提供定制專用區塊鏈的快速設計、部署和操作 本書內容綜述 本書的目的是說明區塊鏈的功能,并展示如何跨越Oracle Red Stack應用這些功能。本書將介紹相應的概念和技術,允許你在Oracle環境中實現自己的區塊鏈。它不會深入討論實現和設置你自己的私有區塊鏈的技術細節,但它將詳細闡述相關的基礎知識,并且還提供了許可區塊鏈的實現示例。該書還討論了區塊鏈對于5個主要行業的顛覆性影響,以及區塊鏈如何用于這些行業項目的示例。它還將告訴你如何找到更多有關區塊鏈的最新信息,因為單憑一本書不可能涵蓋區塊鏈背后的技術的每個方面。 本書分為以下四個部分: ? 第一部分介紹了對于使用Oracle的各個行業來說,區塊鏈所代表的意義,并從高屋建瓴的角度,概述了本書后續內容。第一部分的章節適用于那些迫切想要了解區塊鏈的關鍵概念的讀者,并且他們還將了解到,區塊鏈如何影響當前Oracle項目,以及哪些行業將從實現區塊鏈技術中受益。 ? 第二部分詳細介紹了區塊鏈核心概念和術語。在閱讀完本書第二部分的章節時,相信你將對區塊鏈背后的技術有深入的了解。 ? 第三部分通過幫助你建立和運行自己的聯盟/私有區塊鏈,討論了如何使用區塊鏈作為傳統跨組織(B2B)應用程序的替代品。 ? 第四部分描述了5個主要行業的用例。本部分的最后一章將討論未來的行業方向。 以下是每個部分中每章的更詳細說明。 第1部分:區塊鏈的啟示 第1章“區塊鏈簡介”,概述了使用區塊鏈時需要了解的思想和術語,并介紹了使用區塊鏈的常見特征。 第2章“區塊鏈如何成為顛覆行業的技術”,概述了區塊鏈可能對你的日常工作量和你參與的客戶項目產生的影響。 第2部分:區塊鏈核心概念和術語 第3章“區塊鏈入門—資產、交易和哈希”,詳細闡述了哈希、區塊、(分布式)區塊鏈和挖掘過程的概念。 第4章“區塊鏈入門—區塊、鏈和共識”,在前一章的基礎上,揭示了不同類型資產的技術細節、交易如何運作,以及區塊鏈中各實體之間達成共識的算法。 第5章“區塊鏈入門—安全、隱私和智能合約”,證明在使用區塊鏈時,信任是最高價值。它還討論了如何知道區塊鏈中的資產是安全的。除了安全性,本章還解釋了區塊鏈如何保護隱私。最后,本章介紹了條件交易的智能合約。 第6章“理解區塊鏈的數據流”,闡述了前面幾章所討論的區塊鏈技術是如何結合在一起的。本章通過演示交易的流程對此做了很好的說明。 第7章“公共區塊鏈與許可區塊鏈及其提供商”,討論了公共區塊鏈和私有/聯盟區塊鏈之間的確切差異。重要的是你要知道:不必自己構建區塊鏈,因為有很多的提供商。 第3部分:實現許可區塊鏈 第8章“以太坊與Hyperledger”,討論了兩個主要的你可以自己運行的私有區塊鏈:以太坊和Hyperledger。本章詳細介紹了這些平臺之間的差異,并討論了哪一個平臺更適合實現聯盟區塊鏈。 第9章“構建下一代Oracle B2B平臺”,解釋了區塊鏈的概念以及它可以替換的Oracle中間件的位置。本章提出了一個保險和索賠流程示例,并展示了如何使用區塊鏈重建傳統的跨組織應用程序以克服當前的低效率狀況。 第10章“Oracle區塊鏈云服務”,探討了Oracle對于運行聯盟區塊鏈的答案,該區塊鏈使用Hyperledger Fabric作為核心。本章回答了有關Oracle戰略的問題以及它們在Fabric上作為云服務提供的內容。 第11章“建立許可區塊鏈”,將指導你完成第9章“構建下一代Oracle B2B平臺”中描述的實際用例的實現,建立自己的許可區塊鏈,并提供了較為詳細的步驟。現在我們應該知道Oracle區塊鏈云服務能夠實現的功能。 第12章“設計和開發第一個智能合約”,將幫助你設計和開發一個智能合約。在此過程中,我們還將建立一個開發環境。 第13章“部署和測試第一個智能合約”,使你能夠在Oracle區塊鏈云服務上部署和測試在第12章中開發的智能合約(基于第9章“構建下一代Oracle B2B平臺”中描述的用例開發),并使用REST代理測試它的功能。 第14章“配置、擴展和監控網絡”,通過添加外部Hyperledger Fabric參與者,有助于擴展我們在第10章“Oracle區塊鏈云服務”中設置的區塊鏈網絡。這個新成員組織將加入現有網絡并安裝相同的智能合約。 第4部分:真實世界的行業案例研究 第15章“跨越金融服務行業的區塊鏈”,探討金融服務行業的真實用法/研究案例。我們將闡述區塊鏈對這個行業的影響,以及哪些日常運營已經在轉變。 第16章“跨越交通運輸行業的區塊鏈”,討論了交通運輸行業的實際例子,區塊鏈的影響,以及為什么它是該行業的可行技術。我們詳細解釋了區塊鏈如何改變貨運/車隊跟蹤和國際航運(供應鏈)。 第17章“跨越醫療保健行業的區塊鏈”,揭示了哪些類型的醫療保健用例在區塊鏈上運行時效果會很好。可以考慮的類型包括安全的電子病歷、藥物供應鏈、欺詐檢測和高級臨床試驗等。 第18章“未來的行業和技術方向”,探討了能源和農業等其他行業的區塊鏈的未來發展方向,以及為什么這些行業需要更長的時間才能實現轉型。本章還討論了未來10年區塊鏈技術本身的發展。 本書編寫體例 本書的編寫體例值得做一番解釋。我們的目標受眾不僅針對開發者社區,而且也針對使用Oracle的更廣泛的客戶群。為了幫助做到這一點,我已經設置了一些參數來幫助你理解本書的編寫方式。請注意以下事項: (1)本書分為多個部分,第一部分是區塊鏈的概述;第二部分詳細介紹了區塊鏈核心概念和術語;第三部分討論了如何實現一個許可區塊鏈;第四部分提供了跨多個行業的區塊鏈實現的實際示例。你可以根據自己的需要閱讀這些部分,以便在你可用的時間內從書中獲得最大價值。 (2)本書的第三部分專門適用于使用Oracle區塊鏈云服務(OBCS)實現區塊鏈的開發人員。在本部分中,我們將詳細介紹Oracle云上區塊鏈的設置和運行,但智能合約代碼也可以部署在其他供應商上。 (3)圍繞“任何事物都可以聯系在一起”的合理想法來構建示例。為實現這一目標,我產生了將以前的專業工作項目作為用例來實現區塊鏈技術的想法。 (4)努力以最佳實踐而不是純粹教條主義的方式傳達這些想法和概念。 (5)盡量不要陷入可能產生的任何不必要的復雜性,以確保每個人都了解區塊鏈中的數據流。所有這些示例都應該在你的家中或工作計算機上運行,而無須與你的互聯網接入服務提供商或網絡管理員談論IP地址的問題。 (6)本書使用了全部目標受眾都可以理解和使用的工具。“好”的軟件和工具不一定在本書中使用。我們討論的軟件和工具都是最受歡迎和常用的軟件和工具。 本書適合的讀者 本書旨在適合于最廣泛的讀者,從業務經理到軟件架構師和開發人員,都是我們的目標受眾。前兩章對于想要了解區塊鏈對其業務可能產生的影響的人來說特別有用。除了一開始的概述外,本書還介紹了區塊鏈的技術細節,例如典型區塊鏈網絡的構建模塊。 我們將共同探討在你當前的IT架構中添加區塊鏈的影響。最后,本書面向開發人員,將在Oracle自主云服務上完成設置和運行許可區塊鏈的過程,并通過連接到本地區塊鏈網絡進行擴展。示例實現部分主要在Oracle提供的云服務上完成,但我們開發的智能合約則可以部署在任何Hyperledger Fabric區塊鏈網絡上。 充分利用本書 本書的大部分內容都不需要任何其他前置學習條件。它已經介紹了實現你自己的區塊鏈所需的所有內容。我盡可能利用免費的服務和工具。我將在本書中更詳細地解釋不同的工具和服務,下面首先介紹所需的內容。 |