成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

人工智能教程(四):概率論入門

人工智能
在本系列的第四篇文章中,我們將開始學習 TensorFlow,這是一個非常強大的人工智能和機器學習庫。

在本系列的 上一篇文章 中,我們進一步討論了矩陣和線性代數,并學習了用 JupyterLab 來運行 Python 代碼。我們也會簡要介紹一些其它有用的庫。稍后,我們將討論概率、理論以及代碼。和往常一樣,我們先討論一些能拓寬我們對人工智能的理解的話題。

到目前為止,我們只是從技術方面討論人工智能。隨著越來越多的人工智能產品投入使用,現在是時候分析人工智能的社會影響了。想象一個找工作的場景,如果你的求職申請由人來處理,在申請被拒絕時,你可以從他們那里得到反饋,比如被拒的理由。如果你的求職申請由人工智能程序處理,當你的申請被拒絕時,你不能要求該人工智能軟件系統提供反饋。在這種情況下,你甚至不能確定你的申請被拒絕是否確實是僅基于事實的決定。這明確地告訴我們,從長遠來看,我們需要的不僅僅是魔法般的結果,還需要人工智能具有 責任accountability 和 保證guarantee。(LCTT 譯注:責任主要指確保系統的決策過程是透明的、可解釋的,并且對系統的行為負責。保證是指對于系統性能指標和行為的一種承諾或者預期。)目前有很多試圖回答這些問題的研究。

人工智能的應用也會引發許多道德和倫理上的問題。我們不必等到強人工智能(也被稱為 通用人工智能artificial general intelligence

同樣的場景下,如果汽車是由人工智能軟件在駕駛會發生什么呢?既然你是汽車的主人,那么人工智能軟件理應把你的安全放在首位,它甚至全不顧其他乘客的安全。很容易看出,如果世界上所有的汽車都由這樣的軟件控制的話將導致徹底的混亂。現在,如果進一步假設乘坐自動駕駛汽車的乘客身患絕癥。那么對于一個數學機器來說,為了行人犧牲乘客是合乎邏輯的。但對于我們這些有血有肉的人卻不見得如此。你可以花點時間思考一下其它場景,注重邏輯的機器和熱血的人類都會做出什么樣的決策。

有很多書籍和文章在討論人工智能全面運作后的政治、社會和倫理方面的問題。但對于我們這些普通人和計算機工程師來說,讀所有的書都是不必要的。然而,由于人工智能的社會意義如此重要,我們也不能輕易擱置這個問題。為了了解人工智能的社會政治方面,我建議你通過幾部電影來理解人工智能(強人工智能)如何影響我們所有人。斯坦利·庫布里克Stanley Kubrick的杰作《2001:太空漫游2001: A Space Odyssey》是最早描繪超級智能生物如何俯視我們人類的電影之一。這部電影中人工智能認為人類是世界最大的威脅,并決定毀滅人類。事實上,有相當多的電影都在探索這種情節。由偉大的藝術大師史蒂文·斯皮爾伯格Steven Spielberg親自執導的《人工智能Artificial Intelligence》,探討了人工智能機器如何與人類互動。另一部名為《機械姬Ex Machina》的電影詳細闡述了這一思路,講述了具有人工智能的機器。在我看來這些都是了解人工智能的影響必看的電影。

最后思考一下,試想如果馬路上的汽車使用來自制造商的不同的自動駕駛規則和人工智能,這將導致徹底的混亂。

TensorFlow 入門

TensorFlow 是由 谷歌大腦Google Brain 團隊開發的一個自由開源的庫,使用 Apache 2.0 許可證。TensorFlow 是開發人工智能和機器學習程序的重量級的庫。除了 Python 之外,TensorFlow 還提供 C++、Java、JavaScript 等編程語言的接口。在我們進一步討論之前,有必要解釋一下 張量tensor

首先,我們要在 JupyterLab 中安裝 TensorFlow。TensorFlow 有 GPU 版本和 CPU 版本兩種安裝類型可以選擇。這主要取決于你的系統是否有合適的 GPU。GPU 是一種利用并行處理來加快圖像處理速度的電路。它被廣泛用在游戲和設計領域,在開發人工智能和機器學習程序時也是必不可少的硬件。但一個不太好的消息是 TensorFlow 只兼容英偉達的 GPU。此外,你需要在系統中安裝一個稱為 CUDA(計算統一設備架構compute unified device architecture)的并行計算平臺。如果你的系統滿足這些要求,那么在 JupyterLab 上執行命令 pip install tensorflow-gpu 來安裝 GPU 版本的 TensorFlow。如果你系統的 GPU 配置無法滿足要求,當你嘗試使用 TensorFlow 時,會得到如下錯誤消息:“CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected”。此時使用 pip uninstall tensorflow-gpu 卸載 GPU 版本的 TensorFlow。然后執行命令 pip install tensorflow 安裝 CPU 版本的 TensorFlow。現在 TensorFlow 就準備就緒了。請注意,目前我們將討論限制在 CPU 和 TensorFlow 上。

圖 1:第一個使用 TensorFlow 的 Python 腳本圖 1:第一個使用 TensorFlow 的 Python 腳本

現在,讓我們運行第一個由 TensorFlow 驅動的 Python 代碼。圖 1 顯示了一個簡單的 Python 腳本及其在 JupyterLab 上執行時的輸出。前兩行代碼將庫 NumPy 和 TensorFlow 導入到 Python 腳本中。順便一提,如果你想在 Jupyter Notebook 單元中顯示行號,單擊菜單 “查看View > 顯示行號Show Line Numbers”。第 3 行使用 NumPy 創建了一個名為 arr 的數組,其中包含三個元素。第 4 行代碼將數組 arr 的每個元素乘 3,將結果存儲在一個名為 ten 的變量中。第 5 行和第 6 行分別打印變量 arr 和 ten 的類型。從代碼的輸出中可以看到,arr 和 ten 的類型是不同的。第 7 行打印變量 ten 的值。注意,ten 的形狀與數組 arr 的形狀是相同的。 數據類型 int64 在本例中用于表示整數。這使得本例中 NumPy 和 TensorFlow 數據類型之間的無縫轉換成為可能。

TensorFlow 支持很多操作和運算。隨著處理的數據量的增加,這些操作會變得越來越復雜。TensorFlow 支持常見的算術運算,比如乘法、減法、除法、冪運算、模運算等。如果參與運算的是列表或元組,TensorFlow 會逐元素執行該操作。

圖 2:TensorFlow 中的逐元素操作圖 2:TensorFlow 中的逐元素操作

TensorFlow 還支持邏輯運算、關系運算和位運算。這里的操作也是按元素執行的。圖 2 顯示了執行這些按元素操作的 Python 腳本。第 1 行代碼從列表創建一個張量,并將其存儲在變量 t1 中。TensorFlow 的函數 constant() 用于從 Python 對象(如列表、元組等)創建張量。類似地,第 2 行創建了另一個張量 t2。第 3 行和第 4 行都是執行逐元素求冪并打印輸出。從圖 2 中可以清楚地看出,該求冪的結果是相同的。第 5 行代碼比較張量 t1 和 t2 的元素并打印結果。輸出中的 [True True False] 分別是對應 3>2、4>3 和 2>6 的結果。第 6 行的輸出與之類似。

圖 3:TensorFlow 矩陣乘法圖 3:TensorFlow 矩陣乘法

圖 3 展示了 TensorFlow 處理矩陣的例子。第 1 行和第 3 行分別構造兩個矩陣 x 和 y,第 2 行和第 4 行分別打印矩陣 x 和 y的形狀。代碼的輸出顯示 x 的形狀為 (3,3)y 的形狀為 (3,)。從本系列前面介紹的矩陣知識,我們知道這兩個矩陣是不能相乘的。

因此,在第 5 行中將矩陣 y 增加了一個維度。在第 6 行,再次打印矩陣 y 的形狀,輸出結果為 (3,1)。現在矩陣 x 和 y 可以相乘了。第 7 行中,將矩陣相乘并打印輸出。注意,類似的操作也可以在張量上執行,即使張量的維數很高,TensorFlow 也可以很好地擴展。在本系列的后續文章中,我們將更多地了解 TensorFlow 支持的數據類型和其他復雜操作。

既然介紹了 TensorFlow,我想我也應該提一下 Keras。它為 TensorFlow 提供 Python 接口。在后續的文章中,我們將專門介紹 Keras。

我們如何利用非英偉達 GPU 的能力呢?有許多功能強大的軟件包可以做到這一點。比如 PyOpenCL,一個在 Python 中編寫并行程序的框架。它讓我們可以使用 OpenCL(開放計算語言open computing language)。OpenCL 可以與 AMD、Arm、英偉達等廠商的 GPU 進行交互。當然還有其他選擇,比如 Numba。它是一種JIT 編譯器,可用在代碼執行期間將 Python 代碼編譯為機器碼。如果 GPU 可用,Numba 允許代碼使用的 GPU 能力。圖 4 是展示了使用 Numba 的 Python 代碼。

我們可以看到函數 fun() 具有允許并行化的特征。從圖 4 中可以看到,代碼在不使用和使用 Numba 的情況下的答案是相同的。但是我們可以看到所花費的執行時間是不同的。當使用 Numba 并行化代碼時,只花費了不到一半的時間。此外隨著問題規模的增加,并行化和非并行化版本所花費的時間之間的差距也將增加。

圖 4:使用 Numba 進行并行化圖 4:使用 Numba 進行并行化

SymPy 入門

SymPy 是一個用于符號計算的 Python 庫。通過圖 5 中的例子,讓我們試著理解什么是符號計算。它使用 SymPy 提供的函數 Integral()來求積分。圖 5 也顯示了這個符號計算的輸出。注意,SciPy 提供的 integrate() 函數返回數值計算結果,而 SymPy 的 Integral() 函數能提供精確的符號結果表達式。人工智能和機器學習程序開發中會用到一些統計學操作,SymPy 在執行這些操作時非常有用。

圖 5:符號計算的例子圖 5:符號計算的例子

在本系列的下一篇文章中,我們將討論 Theano。Theano 是一個 Python 庫和優化編譯器,用于計算數學表達式。

概率論入門

現在是概率論出場的時候了,它是人工智能和機器學習的另一個重要話題。對概率論的詳細討論超出了本系列的范圍。我強烈建議在繼續閱讀之前,先通過維基百科上關于“概率”、“貝葉斯定理”和“標準差”的文章了解一些重要的術語和概念,如概率、獨立事件、互斥事件、條件概率、貝葉斯定理、均值、標準差等。學習完這些后,你將能夠輕松理解后面關于概率的討論。

我們從概率分布開始講起。根據維基百科的說法,“概率分布是一個數學函數,它能給出一個實驗中不同的可能結果發生的概率”。現在,讓我們試著理解什么是概率分布函數。最著名的概率分布函數是正態分布,通常也稱為高斯分布(以偉大的數學家高斯的名字命名)。正態分布函數的圖像是一條鐘形曲線。圖 6 是一個鐘形曲線的例子。鐘形曲線的確切形狀取決于均值和標準差。讓我們試著通過分析一種自然現象來理解鐘形曲線。從網上可以查到,中國男性的平均身高約為1.7米。在我們周圍的到多數男性的身高都非常接近這個數字。你看到一個身高低于1.4米或高于2米的男人的可能性很小。如果記錄 100 萬人的身高,然后以橫軸為身高,縱軸為該身高的人數,繪制統計結果,你會發現繪制出的圖像近似為鐘形曲線,其中只有一些輕微的傾斜和彎曲。因此,正態分布很容易地捕捉到自然現象的概率特征。

圖 6:鐘形曲線(圖像來源:維基百科)圖 6:鐘形曲線(圖像來源:維基百科)

現在,我們來看一個使用正態分布的例子。圖 7 的代碼中我們使用 NumPy 的正態分布的函數 normal(),然后使用 Matplotlib 進行繪圖。從第 3 行我們可以看到樣本大小為 1000。第 4 行繪制一個包含 1000 個 桶bin 的直方圖。但是圖 7 的鐘形曲線與圖 6 中看到的鐘形曲線相差很大。究其原因是我們的樣本數量只有 1000。樣本量應該足夠大才能獲得更清晰的圖像。將第 3 行代碼替換為 sample = normal(size=100000000),行并再次執行程序。圖 8 顯示了一條更好的鐘形曲線。這一次,我們的樣本大小為 100,000,000,鐘形曲線與圖 6 所示非常相似。正態分布和鐘形曲線只是開始。在下一篇文章中,我們將討論可以概括其他事件和自然現象的概率分布函數。下一次,我們還將更正式地討論這個主題。

圖 7:繪制鐘形曲線圖 7:繪制鐘形曲線

本篇的內容就到此結束了。在下一篇文章中,我們將繼續探索概率和統計中的一些概念。我們還將安裝和使用 Anaconda,這是一個用于科學計算的 Python 發行版,對于開發人工智能、機器學習和數據科學程序特別有用。如前所述,我們還將熟悉另一個名為 Theano 的 Python 庫,它在人工智能和機器學習領域被大量使用。

圖 8:更好的鐘形曲線圖 8:更好的鐘形曲線

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2024-01-02 19:20:37

人工智能Anaconda

2018-08-17 15:17:56

人工智能層次極端

2017-09-20 13:13:30

貝葉斯定理概率分布

2025-06-20 01:00:00

人工智能AI

2023-11-20 16:23:32

人工智能矩陣

2018-06-27 14:23:38

機器學習人工智能入門方法

2020-03-02 19:28:03

人工智能AI

2017-07-26 16:26:47

數據中心人工智能技術

2022-09-03 13:38:15

人工智能AI

2023-10-30 08:00:24

2022-10-19 07:04:12

?人工智能云服務Alaas

2022-06-20 11:05:58

通用人工智能機器人

2023-05-04 14:56:03

2021-05-11 11:26:18

人工智能自然語言機器人

2023-12-25 22:27:38

2023-10-17 10:20:23

2018-03-28 09:40:00

CITE人工智能館

2022-01-19 00:08:26

人工智能AlphaGO計算機

2015-10-10 09:34:52

人工智能機器學習

2021-11-05 09:56:36

人工智能AI指數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区在线看 | 超碰97人人人人人蜜桃 | 国产精品久久久久久模特 | 羞羞的视频免费在线观看 | 欧美国产视频一区二区 | 日韩成人免费在线视频 | 美女视频一区二区三区 | 美女一级毛片 | 黄色免费观看网站 | 日韩视频―中文字幕 | 男女羞羞在线观看 | 色在线免费视频 | 免费一级黄色电影 | 亚洲狠狠 | 在线一区 | 中文字幕日韩一区 | 91文字幕巨乱亚洲香蕉 | 欧美一区二区三区免费电影 | 激情欧美一区二区三区 | 一区二区三区精品在线 | 中文字幕 亚洲一区 | 久久久久久国产 | 91精品久久久久 | 国产精品亚洲综合 | 青青草视频网站 | 人人天天操 | 美女久久久久久久 | 日韩中文视频 | 精品视频99| 羞羞的视频免费观看 | 韩国精品在线 | 欧美一级黄带 | 亚洲精品自在在线观看 | 色性av | 亚洲精品视频网站在线观看 | 久久久久久久久久久久91 | 99精品99 | 欧美久久不卡 | 91精品久久久久久久久久入口 | 成人不卡 | 久在线 |