機器學習著重於訓練電腦從資料中學習,並根據經驗改進,建立有效的模型。在機器學習中會訓練演算法尋找大型資料集的模式和關聯性,並根據該分析做出最佳決策和預測。機器學習應用程式會隨著使用者習慣或數據不斷改善,存取的資料越多、精準確度也會越高。我們現在眾所皆知機器學習已廣泛應用於生活上的許多事物,例如家中智能電視、智能冰箱、線上商城購物車、娛樂媒體(遊戲、串流媒體),以及醫療保健業(臨床檢驗儀器)。

相信現在越來越多人會聽到機器學習的議題,許多的企業也對外宣稱已在使用人工智慧(AI)的科技。那機器學習到底是什麼?為何各大企業都對此特別在乎?

此篇文章,Glints會帶大家了解機器學習的基礎,並且了解著在市場中最常被使用的4種學習方式,最後討論為何機器學習在這個時間點如此重要。

man watching streaming service

機器學習是什麼?

機器學習是人工智慧(AI)和計算機科學的一個分支,專注於使用數據和演算法來模仿人類學習的方式,逐步提高其準確性。

在資料科學的領域中,機器學習是一個不斷發展的重要組成部分。通過使用統計方法,對演算法進行訓練以進行分類或預測,從而揭示數據挖掘項目中的關鍵見解。最後在將這些洞察隨後推動至應用於各式不同決策,理想中當然是對關鍵指標的成長有正面的影響。

隨著大數據的不斷擴展和增長,市場對資料科學家的需求也逐漸增加,需要他們協助識別最相關的業務問題,並隨後使用對數據的解析來解決問題。

機器學習與AI的關係

機器學習、深度學習以及神經網路的元件,都屬於AI的衍生領域。AI會分析資料以制定決策和預測。機器學習演算法讓AI不僅能處理資料,還能在不藉助額外程式設計的情況下,使用資料進行學習使演算法不斷進步,越來越精準。人工智慧是所有機器學習子集的起源。它的首個子集是機器學習,機器學習下轄的子集為深度學習,而深度學習再下層的子集為神經網路。

ai and machine learning relationship chart

機器學習的運作

機器學習包含做主要的4種不同類型的學習模式,並且使用各種演算的技術,根據資料的性質和期望結果,採用監督式(supervised)、非監督式(unsupervised)、半監督式(semi-supervised)或強化式(reinforcement)四種學習模式。在各個模式中都能夠套用一或多種演算法技術,這會取決於使用的資料集和預期結果。機器學習演算法主要用於分類事物、辨識模式、預測結果,並做出周全的判斷。分析複雜且難以預測的資料時,選擇使用一種演算法,或是組合多種演算法以達到最佳的準確性也是很正常的。

以下來稍微了解上述4個不同的機器學習模式:

監督式學習(Supervised learning):

在這個模式中,所有資料都被「標註」(label),告訴機器相對應的值,以提供機器學習在輸出時判斷誤差作為使用。這種方法稱之為人工分類,對電腦來說相對的簡單,反而對人類來說最辛苦。

這種方法就好比告訴電腦標準的答案,依照標準答案作答,正確性會比較高。例如,若要訓練機器區分小狗和小貓,則提供機器100張小狗和小貓的照片。機器依照標註的照片去偵測小狗和小貓的特徵,依照特徵就能辨識出小狗和小貓並進行預測。 

非監督式學習(Unsupervised learning):

在這個模式中,所有資料都沒有標註,是靠著機器透過尋找資料的特徵,自己進行分類。此種方法不用人工進行分類,對人類來說最簡單,但對電腦來說最辛苦,誤差容易變得比較大。

使用非監督式學習模式辨識小狗及小貓,機器得自行判斷提供的100張照片裡有哪些特徵是小狗的、而哪些特徵是小貓的,並將其同時進行分類。在未來預測時,利用機器自行所分類的特徵去辨識是哪一種動物。

半監督式學習(Semi-supervised learning):

在這種模式中,對少部分資料進行標註,電腦只需要透過有標註的資料去找到特徵,而後再對其它的資料進行分類。這種方法等於以上兩種模式的融合,取一個平衡點,讓預測時更為精準,同時秉持不過度使用人工分類的初衷。

以同樣的例子來說,100張照片中,標註其中10張哪些是小狗、哪些是小貓。讓機器透過這10張照片的特徵去辨識及分類剩餘的照片。因為已經有辨識的依據,所以預測出來的結果通常比非監督式學習準確。

強化式學習(Reinforcement learning):

在這種模式中,我們讓機器透過每一次與環境互動來學習,以取得最大化的預期利益。運用強化式學習的方式,如同非監督模式,不做標註資料的動作,但告訴機器在什麼時候該採取什麼步驟是正確的、錯誤的。根據反饋的好壞,讓機器自行逐步修正、最終得到正確的結果。基本上是能使非監督式學習達成一定程度的正確性的強化方法。

若機器自行辨識特徵與分類,將某張小狗的照片預測成小貓,則人類給予錯誤的訊息。機器會再次辨認特徵及分類。透過一次一次正確與錯誤的學習,最後的預測就會越來越精準。


想成為機器學習工程師,需要注意什麼?

以下是機器學習演算法工程師需要掌握的技能包:

基礎資料結構與演算法

樹與相關演算法、圖與相關演算法、雜湊表與相關演算法、矩陣與相關演算法

概率和統計基礎

大數定理、中心極限定理、常用概率分佈、假設校驗理論、最大後驗理論、最大似然理論、EM演算法、貝葉斯理論、貝葉斯分類錯誤率、機器學習理論

監督式學習

bagging、決策樹、naive bayes、knn、fm、LR

非監督式學習

混合高斯模型、層次聚類、DBSCAN、k-measn、PCA、SVD、word2vec

基礎理論

最優化理論、正則化、資訊理論、VC Dimension

特徵處理

特徵選擇處理、特徵規範化、特徵離散化、特徵交叉

開發語言和開發工具

  • 大資料開發工具(Storm、Spark、Hadoop)
  • 單機開發工具(numpy、sk-learn、pandas、libsvm、xgboost)
  • 開發語言(Scala、R、Python)

基礎開發能力

程式碼整潔度、可讀性和可維護性、穩定性、效能、健壯性調優能力、邏輯抽象複用、單元測試

架構設計

機器學習相關服務架構、資料倉儲

除了以上的技能之外,要成為一位優秀的機器學習程師,還需要不斷的進步自己、學習如何跟上進步快速的時代。這裡推薦科技報橘TechOrange的精選文章:【如何當一名優秀的機器學習工程師?12 點真心建議,幫助你保持競爭力】


機器學習工程師的待遇

機器學習的技術性非常高,而又是不斷在演變的科技,所以也相對的難以全部掌握,在來他們還需要對資料科學有一定的了解,在職場上也會需要面對並與資料工程師、資料科學家合作。自然而然這方面的人才,比起其他的軟體工程師也比較少見。所以在薪資方面也會優於其他人。

根據glassdoor的資料,台灣的機器學習工程師平均薪水為年薪118萬。最低年薪來到69.4萬,而最高是年薪200萬。再看看美國的機器學習工程師平均薪水:7.6萬到15.4萬美金(換算台幣為211萬到428萬)。


結論

人工智慧這個概念可以追溯到1950年代,是相當長的一段時間。到了1980年,機器學習開始越來越受歡迎。大約到了2010年,深度學習在人工智慧系統方面有了重大的進展。所以如果在生活與工作上對機器學習有興趣,不妨更深入的了解,為自己的未來好好規劃。

在這邊也提醒大家兩個重點:一、一定要掌握中文以外的第二語言(現階段英文是最夯的)。二、現在遠端工作的趨勢越來越顯著,必然是未來的機會。也許可以成為一位遠端的機器學習工程師,住在台灣,享有國外的薪水!

如果你希望可以得到更多資訊,可以追蹤Glints的臉書粉絲頁,每個星期都可以看到熱門職缺與職涯資訊 。

你也可以到Glints – Taiwan去了解更多!或是註冊帳號,收到職缺通知!

延伸閱讀:

對找工作有興趣的人,可以看看Glints的其他精選文章

About Author

Passionate writer, who love to tell stories that are both informative and impactful!

Leave A Comment

Your email address will not be published. Required fields are marked *