由於人工智能和機器學習,世界正在迅速變化,這對我們日常生活的各個方面都有影響。
從使用 NLP 和機器學習來預約、在日曆上查找事件、播放音樂的語音助手,到準確到可以在我們考慮之前預測我們的需求的設備。
計算機可以下棋、做手術,並在機器學習算法的幫助下發展成更智能、更像人類的機器。
我們正處於技術不斷進步的時代,通過了解計算機如何隨著時間的推移而發展,我們可以預測未來會發生什麼。
計算工具和方法的民主化是這場革命中突出的關鍵方面之一。 數據科學家 在過去五年中,通過毫不費力地實施尖端方法,創建了強大的數據處理計算機。 結果令人驚訝。
在這篇文章中,我們將仔細研究 機器學習 算法及其所有變體。
那麼,什麼是機器學習算法?
人工智能係統用來執行其任務的方法(通常是根據給定的輸入數據預測輸出值)被稱為機器學習算法。
機器學習算法是一個利用數據的過程,用於創建可供生產的機器學習模型。 如果說機器學習是執行工作的火車,那麼機器學習算法就是推動工作前進的火車頭。
使用的最佳機器學習方法將取決於您嘗試解決的業務問題、您正在使用的數據集類型以及您擁有的可用資源。
機器學習算法是將數據集轉化為模型的算法。 根據您嘗試回答的問題類型、可用的處理能力以及您擁有的數據類型,監督式、無監督式或強化學習算法都可以表現良好。
那麼,我們討論了監督學習、無監督學習和強化學習,但它們是什麼? 讓我們來探索一下它們。
監督學習、無監督學習和強化學習
監督學習
在監督學習中,人工智能模型是根據提供的輸入和代表預測結果的標籤開發的。 根據輸入和輸出,模型開發一個映射方程,並使用該映射方程來預測未來輸入的標籤。
假設我們需要創建一個可以區分狗和貓的模型。 多張貓和狗的照片被輸入到模型中,並帶有指示它們是貓還是狗的標籤,以訓練模型。
該模型試圖建立一個將輸入照片上的標籤與這些圖像相關聯的方程。 即使模型以前從未見過該圖像,經過訓練後,它也可以識別出這是貓還是狗。
無監督學習
無監督學習涉及僅根據輸入訓練人工智能模型,而不對其進行標記。 該模型將輸入數據分為具有相關特徵的組。
然後根據輸入的屬性與某一分類的匹配程度來預測輸入的未來標籤。 考慮這樣的情況:我們必須將一組紅球和藍球分為兩類。
我們假設除了顏色之外,球的其他特徵是相同的。 根據如何將球分為兩類,該模型尋找球之間的不同特徵。
當根據顏色將球分為兩組時,就會產生兩簇球(一藍一紅)。
強化學習
在強化學習中,人工智能模型力求通過在特定情況下發揮最佳作用來實現整體利潤最大化。 對先前結果的反饋有助於模型學習。
想像一下當機器人被指示選擇 A 點和 B 點之間的路線時的場景。機器人首先選擇其中一個路線,因為它沒有先前的經驗。
機器人接收其所行路線的輸入並從中獲取知識。 機器人下次遇到類似情況時可以利用輸入來解決問題。
例如,如果機器人選擇選項 B 並收到獎勵,例如正反饋,它就會明白這次它必須選擇方式 B 來增加其獎勵。
現在大家終於等到了算法。
主要機器學習算法
1. 線性回歸
偏離監督學習的最簡單的機器學習方法是線性回歸。 利用自變量的知識,它主要用於解決回歸問題並對連續因變量進行預測。
線性回歸的目的是找到最佳擬合線,這可以幫助預測連續因變量的結果。 房價、年齡和工資是連續值的一些例子。
一種稱為簡單線性回歸的模型使用直線來計算一個自變量和一個因變量之間的關聯。 多元線性回歸中有兩個以上的自變量。
線性回歸模型有四個基本假設:
- 線性:X 和 Y 的平均值之間存在線性關係。
- 同方差性:對於 X 的每個值,殘差方差都相同。
- 獨立性:觀察結果在獨立性方面是相互獨立的。
- 正態性:當 X 固定時,Y 呈正態分佈。
線性回歸對於可以沿線分離的數據表現出色。 它可以通過使用正則化、交叉驗證和降維技術來控製過度擬合。 然而,在某些情況下,需要進行大量的特徵工程,這有時會導致過度擬合和噪聲。
2. 邏輯回歸
邏輯回歸是另一種不同於監督學習的機器學習技術。 它的主要用途是分類,同時也可用於回歸問題。
邏輯回歸用於使用獨立因素的信息來預測分類因變量。 目標是對輸出進行分類,輸出只能落在 0 到 1 之間。
輸入的加權總和由 sigmoid 函數處理,該函數是一種在 0 和 1 之間轉換值的激活函數。
邏輯回歸的基礎是最大似然估計,這是一種在給定特定觀測數據的情況下計算假設概率分佈參數的方法。
3. 決策樹
另一種從監督學習中分離出來的機器學習方法是決策樹。 對於分類和回歸問題,都可以採用決策樹方法。
這種決策工具類似於一棵樹,使用視覺表示來顯示行動的預期結果、成本和影響。 通過將數據劃分為不同的部分,這個想法類似於人類的思維。
我們已將數據盡可能細化為不同的部分。 決策樹的主要目標是建立一個可用於預測目標變量類別的訓練模型。 可以使用決策樹自動處理缺失值。
不需要一次性編碼、虛擬變量或其他數據預處理步驟。 它是僵化的,因為很難向其中添加新數據。 如果您獲得了額外的標記數據,則應該在整個數據集上重新訓練樹。
因此,對於任何需要動態模型更改的應用程序來說,決策樹都是一個糟糕的選擇。
根據目標變量的種類,決策樹分為兩類:
- 分類變量:目標變量是分類的決策樹。
- 連續變量:目標變量是連續的決策樹。
4. 隨機森林
隨機森林方法是下一代機器學習技術,是一種廣泛用於分類和回歸問題的監督機器學習算法。 它也是一種基於樹的方法,類似於決策樹。
隨機森林方法使用一片樹木,或者許多決策樹來進行判斷。 在處理分類任務時,隨機森林方法使用分類變量,而使用包含連續變量的數據集處理回歸任務。
隨機森林方法所做的就是集成或混合多個模型,這意味著預測是使用一組模型而不是僅使用一個模型進行的。
隨機森林的一個主要優點是能夠用於分類和回歸問題(構成大多數現代機器學習系統)。
Ensemble 使用兩種不同的策略:
- Bagging:通過這樣做,可以為訓練數據集生成更多數據。 為了減少預測的變化,這樣做了。
- Boosting 是通過構建連續模型將弱學習器與強學習器結合起來的過程,從而產生具有最大準確度的最終模型。
5.樸素貝葉斯
可以使用樸素貝葉斯技術來解決二元(二類)和多類分類問題。 當使用二進製或類別輸入值解釋該方法時,它是最容易掌握的。 樸素貝葉斯分類器做出的假設是,類中一個特徵的存在與任何其他特徵的存在無關。
上式表明:
- P(H):假設 H 正確的可能性。 先驗概率稱為先驗概率。
- P(E):證據的可能性
- P(E|H):假設得到證據支持的可能性。
- P(H|E):在給定證據的情況下,假設成立的可能性。
樸素貝葉斯分類器在確定某一結果的可能性時會單獨考慮這些特徵中的每一個,即使這些屬性相互關聯。 樸素貝葉斯模型構建起來很簡單,並且對於大型數據集非常有效。
眾所周知,它的性能比最複雜的分類技術還要好,同時又很基礎。 它是全部基於貝葉斯定理的算法的集合,而不是單一方法。
6.K-最近鄰
K 最近鄰 (kNN) 技術是監督機器學習的一個子集,可用於解決分類和回歸問題。 KNN 算法假定可以在附近找到可比較的對象。
我記得那是一群志同道合的人的聚會。 kNN 利用鄰近度、接近度或距離等其他數據點之間的相似性這一概念。 為了根據最近標記的可觀察數據點來標記看不見的數據,採用數學方法來確定圖上點之間的間隔。
您必須確定數據點之間的距離,以便識別最近的可比較點。 為此可以使用諸如歐幾里德距離、漢明距離、曼哈頓距離和明可夫斯基距離之類的距離測量。 K 稱為最近鄰數,通常為奇數。
KNN 可應用於分類和回歸問題。 當 KNN 用於回歸問題時所做的預測是基於 K 個最相似事件的平均值或中值。
基於KNN的分類算法的結果可以被確定為K個最相似的出現中頻率最高的類。 每個實例本質上都會為其類別投票,並且預測屬於獲得最多選票的類別。
7.K-均值
它是一種解決聚類問題的無監督學習技術。 數據集被劃分為一定數量的簇(我們稱之為 K),這樣每個簇的數據點都是同質的,並且與其他簇中的數據點不同。
K-means 聚類方法:
- 對於每個簇,K 均值算法選擇 k 個質心或點。
- 通過最近的質心或 K 個簇,每個數據點形成一個簇。
- 現在,根據已經存在的集群成員生成新的質心。
- 使用這些更新的質心計算每個數據點的最近距離。 重複這個過程,直到質心不再改變。
它更快、更可靠、更容易理解。 如果出現問題,k-means 的適應性使調整變得簡單。 當數據集不同或彼此很好地隔離時,結果是最好的。 它無法管理不穩定的數據或異常值。
8.支持向量機
使用 SVM 技術對數據進行分類時,原始數據在 n 維空間中顯示為點(其中 n 是擁有的特徵數量)。 然後可以輕鬆對數據進行分類,因為每個特徵的值都連接到特定的坐標。
要分離數據並將它們放在圖表上,請使用稱為分類器的線。 此方法將每個數據點繪製為 n 維空間中的一個點,其中 n 是擁有的特徵數量,每個特徵的值是特定的坐標值。
現在,我們將找到一條線,將數據分為兩組以不同方式分類的數據。 沿著這條線,兩組中每組中最近點的距離將是最遠的。
由於上例中最接近的兩個點是距線最遠的點,因此將數據分為不同分類的兩組的線是中間線。 我們的分類器就是這條線。
9. 降維
使用降維方法,訓練數據可能具有更少的輸入變量。 簡單來說,它指的是縮小功能集大小的過程。 假設您的數據集有 100 列; 降維會將其減少到 20 列。
隨著特徵數量的增加,模型會自動變得更加複雜,並且過度擬合的風險也更大。 處理更大維度數據的最大問題是所謂的“維度災難”,當數據包含過多特徵時就會發生這種情況。
以下元素可用於完成降維:
- 為了找到並選擇相關特徵,採用了特徵選擇。
- 使用現有的特徵,特徵工程手動創建新特徵。
結論
無監督或監督機器學習都是可能的。 如果您的數據不太豐富且標記良好以供訓練,請選擇監督學習。
使用無監督學習,大型數據集通常會執行並產生更好的結果。 深入學習 如果您有大量可用的數據收集,那麼方法是最好的。
強化學習 和深度強化學習是你學習的一些主題。 神經網絡的特徵、用途和限制現在對您來說已經很清楚了。 最後但並非最不重要的一點是,在創建自己的程序時,您考慮了不同編程語言、IDE 和平台的選項 機器學習模型.
接下來你需要做的是開始學習和使用每一個 機器學習 方法。 即使主題很廣泛,只要專注於它的深度,任何主題都可以在幾個小時內理解。 每個主題都獨立於其他主題。
你必須一次思考一個問題,研究它,付諸實踐,並使用你選擇的語言來實現其中的算法。
發表評論