發表文章

目前顯示的是有「數據分析」標籤的文章

機器學習的墊腳石在這!十種演算法圖解分享給你~(非監督式學習)

圖片
上篇的機器學習的五種演算法圖解你都會了嗎?學會的快往下看,進入下一階段~ 二、非監督式學習 1. 隨機森林(Random Forest) 隨機森林可以視為決策樹的延伸,可以把隨機森林當作是多個決策樹組合而成,並加入隨機分配的訓練資料,以大幅增進最終的運算結果。其想法就是結合多個「弱學習器」(即決策樹)來建構一個「強學習器」模型。這種方法被稱為「集成」(Ensemble Method)。同時也能降低單個決策樹出錯的風險。 ▲ 決策樹演算法示意圖 例如若創建一個隨機森林模型預測數值,只有第三個決策樹預測為 0,但是如果整合所有決策樹的結果,將會判斷出預測值是為 1。 隨機森林的優點,就是可以處理大量的輸入變數,同時計算各例中的親近度,這點對於資料探勘、偵測離群點和將資料視覺化非常有用。 2. 聚類分析(Cluster analysis) 聚類分析是統計資料分析的技術,後來在如 機器學習 等領域受到廣泛應用。「聚類」是把相似的物件通過靜態分類,分成不同的組別或子集(subset)。聚類有很多種方法,常見的如 K-means、層次聚類(Hierarchical clustering)、譜聚類(Spectral Clustering)等等。 ▲ 「聚類」是把相似的物件通過靜態分類,分成不同的組別或子集 (圖片來源: geeksforgeeks.org) 聚類時,需要實現的目標只是要把相似的東西聚到一起,一個聚類算法只需要知道如何計算相似度就可以開始分類,因此聚類算法並不需要使用訓練資料進行學習。 3. 主成分分析(Principal Component Analysis,PCA) 主成分分析 PCA 是一個在 機器學習 與統計學領域中被廣泛用來分析資料、降低數據維度以及去關聯的線性降維方法。降維(Dimension reduction)是當資料維度數(變數)很多的時候,嘗試讓維度數(變數)少一點,但資料特性不會差太多的方法。 機器學習 使用 PCA 達到降維的目的,主要是為了避免「維數災難」,或稱「維度詛咒」,指當維度增加時,分析和組織高維空間因體積指數增加而遇到各種問題:在 機器學習 問題中,模型預測能力會隨著維度的增加而減小。 4. 奇異值分解(Singular Value ...

機器學習的墊腳石在這!十種演算法圖解分享給你~(監督式學習)

圖片
今天要分享的是現在超紅的機器學習知識!先讓我們來學學監督式學習非監督式學習的演算法圖解! 隨著人工智慧的深入發展,沒有學習能力的 AI 侷限性越發明顯,為了突破這個瓶頸,「 機器學習 」逐漸成為 AI 領域的研究核心之一,也發展出各種 機器學習 的演算法。 現在有哪些熱門的算法?各有什麼特點?本次就要來盤點幾大常用的 機器學習 演算法,並告訴你為何 機器學習 語言要首選 Python  ,你沒聽錯,就是那個鼎鼎大名的python! 接著讓我們來進入正題! 機器學習 演算法大致上可以分為三類:監督式學習(Supervised learning)、非監督式學習(Unsupervised learning)與強化式學習(Reinforcement learning)。 本次將著重介紹「監督式學習」與「非監督式學習」的演算法。 一、監督式學習 監督學習算法可以分成兩個大方向:分類和迴歸。 1. 線性迴歸(Linear Regression) ▲ 線性回歸的視覺化,平面內有一系列點,尋找出一條最能擬合資料趨勢分布的線用來預測新的資料出現的位置 線性回歸源自於統計學的方法,通過一個或多個自變量與因變量進行建模的回歸分析。視覺化後如上圖,平面內有一系列點,尋找出一條最能擬合資料趨勢分布的線,也能用來預測新的資料出現的位置,就叫線性回歸。 在線性回歸中,數據使用線性預測函數來建模,並且未知的模型參數也是通過數據來估計,簡單的線性回歸公式為: ▲ 簡單的線性回歸公式 y 是因變量(y)對自變量(x)任何給定值的預測值;B0 是截距,即 x 為 0 時 y 的預測值;B1 是回歸係數–表示期望 y 隨著 x 的增加而改變多少;x 是自變量(期望的變量影響 y);e 是估計值的誤差,或表示回歸係數估計值有多少變化。 2. 邏輯回歸(Logistic Regression) 邏輯回歸延伸自線性回歸,是一個二元分類算法,透過選取不同的特徵與權重來對樣本進行機率分類。 邏輯回歸會使用某種函數將機率值壓縮到某一特定範圍,如 Sigmoid 函數。S 函數是一種具有 S 形曲線、用於二分類的函數。 ▲ 邏輯分布函數圖像(圖片來源:Wikipedia) 邏輯回歸的輸出變量是離...

面對人工智慧和機器學習,要選Python或R語言?(下)

圖片
  Python的介紹在上篇已經說明完畢,R語言的優缺點將在這篇揭曉! R語言 R 語言是由統計學家所開發的。任何開發人員只要看一下語法,就能分析、預測。由於該語言包含了機器學習中涉及的數學計算,而機器學習是從統計學中衍生出來的,因此對於希望能深入理解底層細節、構建創新的正確選擇。 如果你的工作需要深入觀察,像是檢驗數據集之類,R可以替你縮小工作範圍,是最佳選擇。   R 的優勢 適用於分析:如果你的工作需要大量的檢驗數據,R 就是你的最佳選擇,因為它可以快速建模,並與數據集一起搭建 AI /機器學習模型。 大量實用的函式庫和工具:與 Python  類似,R 也有不同的封包,可以提升機器學習模型的結果。例如 Caret 包就支援 AI 人工智慧 應用,助於有效地建立預測模型。R 開發人員可受惠於這些數據分析包:因為這些封包中包含了針對建模前後階段的特定任務,如模型驗證或數據可視化等。 適用於探索性工作:如果你需要在項目開始的階段,在測量模型中進行探索性研究時,若使用 R 語言,僅僅只需添加幾行代碼即可完成。   R 的缺點 較難學,且不容易寫好。身為弱型別(Weak typing)的程式語言,函數經常會回傳預料之外的物件種類。 與其它的語言不同,R 是從 1 開始,不是 0 開始。     結論: R 和 Python 在機器學習上,都有各自的優勢。最好的辦法便是將兩者運用在各自擅長的項目中,互相搭配使用。 建議:一開始我們可以使用 Python 進行資料彙整的階段,再將資料丟到 R 做數據檢驗。 按照這些思路,之後可以將 R 用作 Python 的庫或將 Python 用作 R 的預處理庫。 本篇為下篇,上篇請點此 連結 相關文章: 面對人工智慧和機器學習,要選Python或R語言?(上) 不知該學哪種程式語言?Python的三大用途讓你無法錯過! Python到底是什麼?它到底有什麼功能? 人工智慧、機器人、Python、大數據⋯⋯到底有什麼關係? AI 人工智慧、ML 機器學習、深度學習、Python 是什麼? 捷克新創Resistant.AI 開發2產品 揪出欺騙人...

面對人工智慧和機器學習,要選Python或R語言?(上)

圖片
Python和R語言,到底哪個才適合人工智慧,或機器學習?想知道就別錯過上下篇! 要是你想要建構一個機器學習的專案,但是又卡在不知道該使用 Python 還是 R 語言,恭喜你,你現在看到對的文章了! 這篇文章不只是讓你了解到 Python 與 R 語言的不同,同時也會知道哪個程式語言在多方面都比較佔優勢。現在就讓我們一起深入研究吧! Python 與 R 語言都具有相同的功能,且是數據科學家間非常熱門的工具。約有 69% 的開發者在 人工智慧 上使用 Python 語言,R 語言則只佔了 24%。兩者都是免費開源的程式語言,不過 Python 被建構成一種可廣泛使用的程式語言,而 R 語言則是為了統計分析而造。 推薦閱讀: Python 與 R 語言之戰鹿死誰手?盤點 5 個即將消失的程式語言! 人工智慧 ( AI )與數據分析,是真正可以開源創新的兩個領域。 Python 與 R 語言都創造了強大的開源設備與函式庫的環境,可以幫助不同能力水平的數據科學家更有效率的執行工作。 機器學習與數據分析之間的區別,相對來說比較模糊。但是一般認為,機器學習在模型可解釋性上著重在預知的準確程度;而數據分析則著重在事實的推測。 在預知的準確度上, Python 可是有口皆碑的;R 語言則擅長於事實推論與靜態推論。 推薦閱讀: AI 人工智慧、ML 機器學習、深度學習、Python 是什麼? 這並不代表我們要將這兩個語言歸為一類 —— Python 完全可被應用為數據分析工具;而 R 語言則可以完成機器學習中的一些大工程。 其實兩種語言都有許多能使其達成對方優點的函式庫與封包:像是 Python 有能進行測量後歸納的函式庫;R語言則有增強預測準確度的封包。 接著,我們將會分成上下兩篇,深入說明兩種語言,可以大大地幫助你針對自己的專案,使用合適的語言! Python 程式語言誕生於 80 年代末期,承擔了推動 Google 內部框架的重責大任。 Python 被一群熱情的程式設計師所擁護著,也被廣泛應用在 YouTube、Instagram、Quora 和 Dropbox。 Python 也全面被應用在 IT 產業以及開發團隊中的基礎建構。因此若你需要的是一個多工的程式語言以及大量可擴展的 AI ...