色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

機器學習和傳統編程之間有什么聯系

洪振霞2年前15瀏覽0評論

機器學習和傳統編程之間有什么聯系?

有些人認為人工智能(AI)和機器學習(ML)有些言過其實,它們只不過是if語句或者僅僅是編程之類的東西。但是事實真的是這樣嗎?本文向您提供了豐富的信息,在這篇文章中,我們將對比這些術語,并展示涉及這兩個領域的專家(如軟件工程師、機器學習專家、數據科學家和程序員等)之間的差異,它們真的是一樣的嗎?如果是的話,機器學習和傳統編程。

什么是機器學習?

有些人說人工智能和機器學習只不過是if語句,更有甚至說它們只是簡單的統計數據。或者說機器學習只是一個描述數學+算法的新詞, 這種簡化看起來很有道理,但很明顯,機器學習更加復雜一些。

簡單地說,人工智能是一把傘,它涵蓋了圖像處理、認知科學、神經網絡等其他領域的知識,機器學習也屬于這一范疇。機器學習的核心思想是,計算機不僅使用預先編寫的算法,而且學習如何解決問題本身。Arthur Samuel(他創造了ML這個詞)給出了一個很好的定義:

機器學習是一個使計算機無需明確編程即可學習的研究領域。

機器學習能解決各種復雜的、很難用算法解決的任務。例如,它可以是手機上的人臉識別或語音識別、自動駕駛汽車(如谷歌自動駕駛汽車)、根據癥狀診斷疾病(Watson)、書籍(亞馬遜),電影(Netflix)、音樂(Spotify)、個人助理(Siri)等等。

關于機器學習的另一件重要的事:任何可用的機器學習技術都可以歸因于三個可訪問性層次。第一個層次是它特別適用于像谷歌或IBM這樣的主要技術巨頭,第二個層次是有一定知識存儲的人(例如學生)可以使用它。機器學習可訪問性的第三個層次是,即使是老奶奶也能處理它。

我們目前所處的發展階段是機器學習處于第二層和第三層之間。在這項技術的幫助下,世界正在極速變化。

最后一件關于機器學習的事情是,大多數機器學習任務可以分為有老師的學習(監督學習)和沒有老師的學習(非監督學習)。

“老師”的意思是人類干預數據處理。當訓練時有老師干預,也就是監督學習,我們可以根據數據預測一些事情。反之就是無監督學習,通過這些數據,我們可以了解機器學習的性質。

機器學習和傳統編程有什么不同?

在傳統編程中,開發人員要對程序進行硬編碼;在機器學習中,是機器從數據中學習。因此,這些術語是無法互換的,數據工程師不能替代傳統編程工作,反之亦然。盡管每個數據工程師都必須使用至少一種編碼語言,但傳統編程只是他們工作的一小部分。反過來,我們也不能說軟件開發人員正在使用機器學習算法來創建一個網站。

與人工智能一樣,機器學習不是一種替代,而是對傳統編程方法的補充。例如,機器學習可用于為在線交易平臺構建預測算法,而該平臺的UI、數據可視化和其他元素將使用主流編程語言(如Ruby或Java)執行。

因此,最重要的是,當機器學習用于傳統編程策略不足以完全實現某個任務的情況下,這在實踐中意味著什么?

下面用兩種不同的方法解決經典的匯率預測問題。

不管哪種解決方案,第一個任務都是創建最合適的算法并編寫代碼。然后,必須設置輸入參數,如果算法是正確的,它將產生預期的結果。

軟件開發人員如何創建解決方案

當預測某件事時,需要使用具有各種輸入參數的算法。對于匯率的預測,必須有以往的匯率、發行貨幣的國家內部和外部的經濟變化等等作為參考。因此,我們設計了一個能夠接受一組參數并基于輸入數據預測新匯率的解決方案。

這很簡單,我們需要添加上千個參數,使它用有限的集合構建一個非常基本且不可擴展的模型。但是,人工處理如此龐大的數據是很麻煩的。

所以我們需要一個機器學習方法來完成這個任務。

為了使用機器學習方法解決這個問題,數據工程師使用了與傳統編程完全不同的過程。他們不需要自己開發算法,而是需要收集一系列歷史數據用于半自動模型構建。在收集到一組令人滿意的數據之后,數據工程師將其加載到已經定制的機器學習算法中。這樣得出的結果是一個可以預測新結果的模型,可以接收新數據作為輸入。

數據工程師如何使用機器學習開發解決方案

機器學習的一個顯著特征是不需要構建模型,任務是由機器學習算法執行的。而機器學習專家只需對此添加一個小的編輯。機器學習和編程之間的另一個顯著差異是由模型能夠處理的輸入參數量決定的。要想做出準確的預測,必須輸入大量參數,并且準確度要高,因為每一個參數都會影響最終的結果,人工計算目前達不到這樣的要求。

然而,機器學習是沒有這樣的限制的。只要有足夠的處理器能力和內存,機器學習就可以使用任意多的輸入參數。毫無疑問,這一事實使機器學習變得非常強大。

Wiki認為,數據科學是一個多學科領域,它一般使用科學方法、過程、算法和系統從結構化和非結構化數據中提取知識和見解。

它使用最強大的硬件、最強大的編程系統和最高效的算法來解決問題。2012年,《哈佛商業評論》稱其為“21世紀最性感的工作”。

因此,數據科學就像計算機科學一樣,只是數據科學的目的是處理數據并從中提取有用的信息。

那么編程呢?如今的數據科學家不僅是程序員,而且通常還應該具有應用統計學或研究背景。有些公司還從事軟件工程,特別是在其產品中提供數據科學或機器學習服務的公司。

機器學習工程師的職位特點

機器學習工程師的職位更偏向“技術型”。換句話說,與數據科學家相比,機器學習工程師與經典軟件工程師有更多的共同點。機器學習工程師的標準通常類似于數據科學家,另外你還需要能夠處理數據,嘗試用不同的機器學習算法來解決問題,包括創建原型和現成的解決方案。

這里要強調的關鍵區別有:

精通一種或多種語言(通常是Python)編程技能;較少強調在數據分析環境中工作的能力,而更多地強調機器學習算法;能夠在應用程序中為不同堆棧使用現成的庫,例如,用于Python的NumPy / SciPy;能夠使用Hadoop等創建分布式應用程序。

程序員的職業特點

程序員實際上是像數據分析師或業務系統開發人員那樣的人。他們不必自己構建系統,只需針對現有系統編寫松散結構的代碼。數據科學可以說是編程的新浪潮,但編碼只是其中的一小部分,注意不要混淆。

但是如果深入挖掘,我們會發現其他如軟件工程師和軟件開發人員也不相似。例如,軟件工程師必須設計產品,他們處理生產應用程序、分布式系統、并發性、構建系統和微服務。另外,軟件開發人員需要了解軟件開發的所有周期,而不僅僅是實現步驟(有時甚至不需要任何編程或編碼)。

你現在能感覺到編程和機器學習的不同了嗎?希望這篇文章能幫助您避免混淆這些術語。毫無疑問,他們有技術共同點 ,但他們之間的差異要大得多。因此,機器學習工程師、軟件工程師和軟件開發人員是完全不可互換的。