国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python作為機器學習語言--何謂機器學習 機器學習能做些什么?

最近我和一對夫婦共進晚餐,他們問我從事什么職業(yè),我回應道:“機器學習?!逼拮踊仡^問丈夫:“親愛的,什么是機器學習?”她的丈夫答道:“T-800型終結(jié)者?!痹凇督K結(jié)者》系列電影中,T-800是人工智能技術的反面樣板工程。不過,這位朋友對機器學習的理解還是有所偏差的。機器學習能讓我們自數(shù)據(jù)集中受到啟發(fā),換句話說,我們會利用計算機來彰顯數(shù)據(jù)背后的真實含義,這才是機器學習的真實含義。它既不是只會徒然模仿的機器人,也不是具有人類感情的仿生人。

T-800型終結(jié)者(圖片來源網(wǎng)絡)

現(xiàn)今,機器學習已應用于多個領域,遠超出大多數(shù)人的想象,下面就是假想的一日,其中很多場景都會碰到機器學習:假設你想起今天是某位朋友的生日,打算通過郵局給她郵寄一張生日賀卡。你打開瀏覽器搜索趣味卡片,搜索引擎顯示了10個最相關的鏈接。你認為第二個鏈接最符合你的要求,點擊了這個鏈接,搜索引擎將記錄這次點擊,并從中學習以優(yōu)化下次搜索結(jié)果。然后,你檢查電子郵件系統(tǒng),此時垃圾郵件過濾器已經(jīng)在后臺自動過濾垃圾廣告郵件,并將其放在垃圾箱內(nèi)。接著你去商店購買這張生日卡片,并給你朋友的孩子挑選了一些尿布。結(jié)賬時,收銀員給了你一張1美元的優(yōu)惠券,可以用于購買6罐裝的啤酒。之所以你會得到這張優(yōu)惠券,是因為款臺收費軟件基于以前的統(tǒng)計知識,認為買尿布的人往往也會買啤酒。然后你去郵局郵寄這張賀卡,手寫識別軟件識別出郵寄地址,并將賀卡發(fā)送給正確的郵車。當天你還去了貸款申請機構(gòu),查看自己是否能夠申請貸款,辦事員并不是直接給出結(jié)果,而是將你最近的金融活動信息輸入計算機,由軟件來判定你是否合格。最后,你還去了賭場想找些樂子,當你步入前門時,尾隨你進來的一個家伙被突然出現(xiàn)的保安給攔了下來?!皩Σ黄?,索普先生,我們不得不請您離開賭場。我們不歡迎老千?!?圖1.1集中展示了使用到的機器學習應用。

圖1-1 機器學習在日常生活中的應用,從左上角按照順時針方向依次使用到的機器學習技術分別為:人臉識別、手寫數(shù)字識別、垃圾郵件過濾和亞馬遜公司的產(chǎn)品推薦

上面提到的所有場景,都有機器學習軟件的存在?,F(xiàn)在很多公司使用機器學習軟件改善商業(yè)決策、提高生產(chǎn)率、檢測疾病、預測天氣,等等。隨著技術指數(shù)級增長,我們不僅需要使用更好的工具解析當前的數(shù)據(jù),而且還要為將來可能產(chǎn)生的數(shù)據(jù)做好充分的準備。

傳感器和海量數(shù)據(jù)

雖然我們已從互聯(lián)網(wǎng)上獲取了大量的人為數(shù)據(jù),但最近卻涌現(xiàn)了更多的非人為數(shù)據(jù)。傳感器技術并不時髦,但如何將它們接入互聯(lián)網(wǎng)確實是新的挑戰(zhàn)。有預測表明,20%的互聯(lián)網(wǎng)非視頻流量都將由物理傳感器產(chǎn)生。

地震預測就是一個很好的例子,傳感器收集了海量的數(shù)據(jù),如何從這些數(shù)據(jù)中抽取出有價值的信息是一個非常值得研究的課題。1989年,洛馬·普列埃塔地震襲擊了北加利福尼亞州,63人死亡,3757人受傷,成千上萬人無家可歸;然而,相同規(guī)模的地震2010年襲擊了海地,死亡人數(shù)卻超過23萬。洛馬·普列埃塔地震后不久,一份研究報告宣稱低頻磁場檢測可以預測地震, 但后續(xù)的研究顯示,最初的研究并沒有考慮諸多環(huán)境因素,因而存在著明顯的缺陷。如果我們想要重做這個研究,以便更好地理解我們這個星球,尋找預測地震的方法,避免災難性的后果,那么我們該如何入手才能更好地從事該研究呢?我們可以自己掏錢購買磁力計,然后再買一些地來安放它們,當然也可以尋求政府的幫助,讓他們來處理這些事。但即便如此,我們也無法保證磁力計沒有受到任何干擾,另外,我們又該如何獲取磁力計的讀數(shù)呢?這些都不是理想的解決方法,使用移動電話可以低成本的解決這個問題。

地震示意圖(圖片來源網(wǎng)絡)

現(xiàn)今市面上銷售的移動電話和智能手機均帶有三軸磁力計,智能手機還有操作系統(tǒng),可以運行我們編寫的應用軟件,十幾行代碼就可以讓手機按照每秒上百次的頻率讀取磁力計的數(shù)據(jù)。此外,移動電話上已經(jīng)安裝了通信系統(tǒng),如果可以說服人們安裝運行磁力計讀取軟件,我們就可以記錄下大量的磁力計數(shù)據(jù),而附帶的代價則是非常小的。除了磁力計,智能電話還封裝了很多其他傳感器,如偏航率陀螺儀、三軸加速計、溫度傳感器和GPS接收器,這些傳感器都可以用于測量研究。

移動計算和傳感器產(chǎn)生的海量數(shù)據(jù)意味著未來我們將面臨著越來越多的數(shù)據(jù),如何從海量數(shù)據(jù)中抽取到有價值的信息將是一個非常重要的課題。

機器學習非常重要

在過去的半個世紀里,發(fā)達國家的多數(shù)工作崗位都已從體力勞動轉(zhuǎn)化為腦力勞動。過去的工作基本上都有明確的定義,類似于把物品從A處搬到B處,或者在這里打個洞,但是現(xiàn)在這類工作都在逐步消失?,F(xiàn)今的情況具有很大的二義性,類似于“最大化利潤”,“最小化風險”、“找到最好的市場策略”......諸如此類的任務要求都已成為常態(tài)。雖然可從互聯(lián)網(wǎng)上獲取到海量數(shù)據(jù),但這并沒有簡化知識工人的工作難度。針對具體任務搞懂所有相關數(shù)據(jù)的意義所在,這正成為基本的技能要求。正如谷歌公司的首席經(jīng)濟學家Hal Varian所說的那樣:

“我不斷地告訴大家,未來十年最熱門的職業(yè)是統(tǒng)計學家。很多人認為我是開玩笑,誰又能想到計算機工程師會是20世紀90年代最誘人的職業(yè)呢?如何解釋數(shù)據(jù)、處理數(shù)據(jù)、從中抽取價值、展示和交流數(shù)據(jù)結(jié)果,在未來十年將是最重要的職業(yè)技能,甚至是大學,中學,小學的學生也必需具備的技能,因為我們每時每刻都在接觸大量的免費信息,如何理解數(shù)據(jù)、從中抽取有價值的信息才是其中的關鍵。這里統(tǒng)計學家只是其中的一個關鍵環(huán)節(jié),我們還需要合理的展示數(shù)據(jù)、交流和利用數(shù)據(jù)。我確實認為,能夠從數(shù)據(jù)分析中領悟到有價值信息是非常重要的。職業(yè)經(jīng)理人尤其需要能夠合理使用和理解自己部門產(chǎn)生的數(shù)據(jù)?!?br>——McKinsey Quarterly,2009年1月


大量的經(jīng)濟活動都依賴于信息,我們不能在海量的數(shù)據(jù)中迷失,機器學習將有助于我們穿越數(shù)據(jù)霧靄,從中抽取出有用的信息。

Python語言的優(yōu)勢

基于以下三個原因,我們選擇Python作為實現(xiàn)機器學習算法的編程語言:(1) Python的語法清晰;(2) 易于操作純文本文件;(3) 使用廣泛,存在大量的開發(fā)文檔。

可執(zhí)行偽代碼

Python具有清晰的語法結(jié)構(gòu),大家也把它稱作可執(zhí)行偽代碼(executable pseudo-code)。默認安裝的Python開發(fā)環(huán)境已經(jīng)附帶了很多高級數(shù)據(jù)類型,如列表、元組、字典、集合、隊列等,無需進一步編程就可以使用這些數(shù)據(jù)類型的操作。使用這些數(shù)據(jù)類型使得實現(xiàn)抽象的數(shù)學概念非常簡單。此外,讀者還可以使用自己熟悉的編程風格,如面向?qū)ο缶幊獭⒚嫦蜻^程編程、或者函數(shù)式編程。

Python語言處理和操作文本文件非常簡單,非常易于處理非數(shù)值型數(shù)據(jù)。Python語言提供了豐富的正則表達式函數(shù)以及很多訪問Web頁面的函數(shù)庫,使得從HTML中提取數(shù)據(jù)變得非常簡單直觀。

Python比較流行

Python語言使用廣泛,代碼范例也很多,便于讀者快速學習和掌握。此外,在開發(fā)實際應用程序時,也可以利用豐富的模塊庫縮短開發(fā)周期。

在科學和金融領域,Python語言得到了廣泛應用。SciPy和NumPy等許多科學函數(shù)庫都實現(xiàn)了向量和矩陣操作,這些函數(shù)庫增加了代碼的可讀性,學過線性代數(shù)的人都可以看懂代碼的實際功能。另外,科學函數(shù)庫SciPy和NumPy使用底層語言(C和Fortran)編寫,提高了相關應用程序的計算性能。

Python的科學工具可以與繪圖工具Matplotlib協(xié)同工作。Matplotlib可以繪制2D、3D圖形,也可以處理科學研究中經(jīng)常使用到的圖形。

Python開發(fā)環(huán)境還提供了交互式shell環(huán)境,允許用戶開發(fā)程序時查看和檢測程序內(nèi)容。

Python開發(fā)環(huán)境將來還會集成Pylab模塊,它將NumPy、SciPy和Matplotlib合并為一個開發(fā)環(huán)境。雖然Pylab還沒有并入Python環(huán)境,但是不遠的將來我們肯定可以在Python開發(fā)環(huán)境找到它。

Python語言的特色

諸如MATLAB和Mathematica等高級程序語言也允許用戶執(zhí)行矩陣操作,MATLAB甚至還有許多內(nèi)嵌的特征可以輕松地構(gòu)造機器學習應用,而且MATLAB的運算速度也很快。然而MATLAB的不足之處是軟件費用太高,單個軟件授權(quán)就要花費數(shù)千美元。雖然也有適合MATLAB的第三方插件,但是沒有一個有影響力的大型開源項目。

Java和C等強類型程序設計語言也有矩陣數(shù)學庫,然而對于這些程序設計語言來說,最大的問題是即使完成簡單的操作也要編寫大量的代碼。程序員首先需要定義變量的類型,對于Java來說,每次封裝屬性時還需要實現(xiàn)getter和setter方法。另外還要記著實現(xiàn)子類,即使并不想使用子類,也必須實現(xiàn)子類方法。為了完成一個簡單的工作,我們必須花費大量時間編寫了很多無用冗長的代碼。Python語言則與Java和C完全不同,它清晰簡練,而且易于理解,即使不是編程人員也能夠理解程序的含義,而Java和C對于非編程人員則像天書一樣難于理解。

所有人在小學二年級已經(jīng)學會了寫作,然而大多數(shù)人必須從事其他更重要的工作。
——鮑比·奈特


也許某一天,我們可以在這句話中將“寫作”替代為“編寫代碼”,雖然有些人對于編寫代碼很感興趣,但是對于大多數(shù)人來說,編程僅是完成其他任務的工具而已。Python語言是高級編程語言,我們可以花費更多的時間處理數(shù)據(jù)的內(nèi)在含義,而無須花費太多精力解決計算機如何得到數(shù)據(jù)結(jié)果。Python語言使得我們很容易表達自己的目的。

Python語言的缺點

Python語言唯一的不足是性能問題。Python程序運行的效率不如Java或者C代碼高,但是我們可以使用Python調(diào)用C編譯的代碼。這樣,我們就可以同時利用C和Python的優(yōu)點,逐步地開發(fā)機器學習應用程序。我們可以首先使用Python編寫實驗程序,如果進一步想要在產(chǎn)品中實現(xiàn)機器學習,轉(zhuǎn)換成C代碼也不困難。如果程序是按照模塊化原則組織的,我們可以先構(gòu)造可運行的Python程序,然后再逐步使用C代碼替換核心代碼以改進程序的性能。C++ Boost庫就適合完成這個任務,其他類似于Cython和PyPy的工具也可以編寫強類型的Python代碼,改進一般Python程序的性能。

如果程序的算法或者思想有缺陷,則無論程序的性能如何,都無法得到正確的結(jié)果。如果解決問題的思想存在問題,那么單純通過提高程序的運行效率,擴展用戶規(guī)模都無法解決這個核心問題。從這個角度來看,Python快速實現(xiàn)系統(tǒng)的優(yōu)勢就更加明顯了,我們可以快速地檢驗算法或者思想是否正確,如果需要,再進一步優(yōu)化代碼。

來自:圖靈社區(qū)

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
你以為我在玩游戲,其實我在學編程,這一波我在大氣層
沒接觸任何編程語言,該怎么學習人工智能技術呢?
[IOT物聯(lián)網(wǎng)]Python快速上手開發(fā)物聯(lián)網(wǎng)上位機程序前言(Python簡單易學的語法和大量的數(shù)據(jù)處理庫使得它成為處理物聯(lián)網(wǎng)傳感器數(shù)據(jù)的最佳選擇)
Apache Spark的承諾及所面臨的挑戰(zhàn)
神奇的python
R與Python或協(xié)同助力機器學習:聽Azure ML Studio講座有感
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服