當我們拿到數據進行建模時, 如何選擇更合適的算法?

  • 2019 年 10 月 6 日
  • 筆記

春天不學習

秋季徒傷悲

一年之際在於春

當我們拿到數據進行建模時,

如何選擇更合適的算法?

Datawhale優秀回答者:

mashagua,金小楗

目標導向

>機器學習

1.先看是分類問題還是回歸問題(分類就先從常用的分類模型里選擇)

2.其次,看數據特徵的數據類型,然後做一些初步的數據統計,比如是否數據均衡,大致的數據分佈是怎樣的(不同類別的分佈)

3.然後判斷用哪個比較合適一些,是樹模型還是其他的分類模型。

4.最後查看kaggle比賽有沒有相似案例,別人做的方法有沒有值得自己學習的地方

>深度學習

對於深度學習算法選擇也是看任務目標選擇合適的模型,圖像類首選cnn及各種cnn的變種,時間順序相關的選rnn ,生成類的選vae或gan,有明確規則的選rl。

什麼是K-means算法?

Datawhale優秀回答者:金小楗、強

通俗解釋

聚類算法有很多種,K-Means 是聚類算法中的最常用的一種,算法最大的特點是簡單,好理解,運算速度快,但是只能應用於連續型的數據,並且一定要在聚類前需要手工指定要分成幾類。

K-Means 聚類算法的大致意思就是「物以類聚,人以群分」。

首先輸入 k 的值,即我們指定希望通過聚類得到 k 個分組;

從數據集中隨機選取 k 個數據點作為初始大佬(質心);

對集合中每一個小弟,計算與每一個大佬的距離,離哪個大佬距離近,就跟定哪個大佬。

這時每一個大佬手下都聚集了一票小弟,這時候召開選舉大會,每一群選出新的大佬(即通過算法選出新的質心)。

如果新大佬和老大佬之間的距離小於某一個設置的閾值(表示重新計算的質心的位置變化不大,趨於穩定,或者說收斂),可以認為我們進行的聚類已經達到期望的結果,算法終止。

如果新大佬和老大佬距離變化很大,需要迭代3~5步驟。

專業解釋

K-means算法的基本思想是初始隨機給定K個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,

從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。

K-means聚類算法主要分為三個步驟:

(1)為待聚類的點尋找聚類中心;

(2)計算每個點到聚類中心的距離,將每個點聚類到離該點最近的聚類中去;

(3)計算每個聚類中所有點的坐標平均值,並將這個平均值作為新的聚類中心;

反覆執行(2)、(3),直到聚類中心不再進行大範圍移動或者聚類次數達到要求為止。

使用K-means需要考慮的問題:

1.k如何確定

2.初始質心的選取

3.距離的度量

4.質心的計算

5.算法停止條件

6.空聚類的處理

K-means的缺陷:

K-menas算法試圖找到使平凡誤差準則函數最小的簇。當潛在的簇形狀是凸面的,簇與簇之間區別較明顯,且簇大小相近時,其聚類結果較理想。

該算法除了要事先確定簇數K和對初始聚類中心敏感外,經常以局部最優結束,同時對「噪聲」和孤立點敏感,並且該方法不適於發現非凸面形狀的簇或大小差別很大的簇。

K-means算法的聚類中心的個數K 需要事先給定,但在實際中這個 K 值的選定是非常難以估計的,很多時候,事先並不知道給定的數據集應該分成多少個類別才最合適。

K-means需要人為地確定初始聚類中心,不同的初始聚類中心可能導致完全不同的聚類結果。

K-means ++ 算法:

K-means++算法選擇初始聚類中心的基本思想就是:初始的聚類中心之間的相互距離要儘可能的遠。

1.從輸入的數據點集合中隨機選擇一個點作為第一個聚類中心;

2.對於數據集中的每一個點x,計算它與最近聚類中心(指已選擇的聚類中心)的距離D(x);

3.選擇一個新的數據點作為新的聚類中心,選擇的原則是:D(x)較大的點,被選取作為聚類中心的概率較大;

4.重複2和3直到k個聚類中心被選出來;

5.利用這k個初始的聚類中心來運行標準的k-means算法。

談談對分類(Classification)和預 測(Prediction)的理解,主要步驟 有哪些,以及兩者的區別和聯繫

Datawhale優秀回答者: 寧靜致遠

一、介紹

分類:輸入樣本數據,輸出對應的類別,將樣本中每個數據對應一個已知屬性。

預測:兩種或者兩種以上的變量之間相互依賴的函數模型,預測給定自變量對應的因變量的值。

二、步驟

分類算法分為兩步:

(1)學習步:通過訓練樣本數據集,建立分類規則

(2)分類步:用已知的測試樣本集評估分類規則的準確率,若準確率可接受,則是使用該規則對除樣本以外的數據(待測樣本集)進行預測。

預測算法分兩步:

(1)我們先要基於一定數量的樣本來訓練出一個訓練模型;

(2)為了判斷這個模型訓練的如何,我們還要對其進行檢測一下;

(3)如果測試的樣本數據與我們想像中的差別太大,那麼我們就要重新進行訓練這個預測模型,但是如果我們的預測模型符合我們的預先的期望,那麼我們就可以用這個模型進行預測的操作。

三、區別

特徵

1.分類

2.回歸預測

輸出類型

1.離散數據

2.連續數據

目的

1.尋找決策邊界

2.找到最優擬合線

評價方法

1.精度、混淆矩陣

2.SEE(sum of square errors)或擬合優度

四、聯繫

分類算法可以預測連續值,但是連續值是以類標籤的概率的形式。

預測算法可以預測離散值,但離散值以整數形式表示。

AI