無需Python、Anaconda和其他爬蟲的機器學習

不,當然,我不是認真的。 簡化主題的程度必須是有限的。 但對於第一階段,了解基本概念並快速「進入」主題,可能還可以。 最後我們將討論如何正確命名該材料(選項:「傻瓜機器學習」、「尿布數據分析」、「小孩子演算法」)。

說到點子上了。 在 MS Excel 中編寫了多個應用程序,用於視覺化和視覺化表示分析資料時不同機器學習方法中發生的過程。 畢竟,眼見為實,正如該文化的承載者所說,這些方法中的大部分都是由它開發出來的(順便說一句,不是全部)。最強大的“支持向量機”(SVM),支援向量機是我們的同胞弗拉基米爾·瓦普尼克 (Vladimir Vapnik),莫斯科管理學院。順便說一下,1963 年!但現在他在美國任教和工作)。

三份文件供審查

1.K均值聚類

這類問題指的是“無監督學習”,即我們需要將初始數據劃分為預先已知的一定數量的類別,但我們沒有任何數量的“正確答案”;我們必須從數據本身中提取它們。 尋找鳶尾花亞種的基本經典問題(Ronald Fisher,1936!)被認為是該知識領域的第一個標誌,也正是具有這種性質。

方法非常簡單。 我們有一組表示為向量的物件(N 個數字的集合)。 在鳶尾花中,這些是表徵花朵特徵的 4 個數字組:分別​​是花被的外葉和內葉的長度和寬度(費雪虹膜 - 維基百科)。 通常的笛卡爾度量被選擇為距離或物件之間接近度的度量。

接下來,隨機(或非隨機,見下文)選擇聚類中心,並計算每個物件到聚類中心的距離。 給定迭代步驟中的每個物件都被標記為屬於最近的中心。 然後將每個簇的中心轉移到其成員座標的算術平均值(類比物理學,也稱為「質心」),並重複該過程。

過程收斂得相當快。 在二維圖片中,它看起來像這樣:

1.平面上點的初始隨機分佈和簇的數量

無需Python、Anaconda和其他爬蟲的機器學習

2. 指定聚類中心並為其聚類分配點

無需Python、Anaconda和其他爬蟲的機器學習

3. 傳輸聚類中心座標,重新計算點的隸屬關係,直到中心穩定。 簇中心移動到最終位置的軌跡是可見的。

無需Python、Anaconda和其他爬蟲的機器學習

您可以隨時設定新的聚類中心(無需產生新的點分佈!),並且可以看到劃分過程並不總是明確的。 從數學上講,這意味著對於正在最佳化的函數(從點到其簇中心的距離平方和),我們發現的不是全局最小值,而是局部最小值。 這個問題可以透過非隨機選擇初始聚類中心,或透過列舉可能的中心來解決(有時將它們精確地放置在其中一個點是有利的,那麼至少可以保證我們不會為空)簇)。 無論如何,有限集合總是有下確界。

您可以透過此連結播放該文件 (不要忘記啟用巨集支援。文件已經過病毒掃描)

維基百科上對此方法的描述 - k均值法

2. 透過多項式近似和資料分解。 再培訓

傑出科學家、數據科學普及者 K.V. 沃龍佐夫將機器學習方法簡單地描述為「通過點繪製曲線的科學」。 在此範例中,我們將使用最小平方法在資料中找到模式。

展示了將來源資料分為「訓練」和「控制」的技術,以及對資料進行再訓練或「重新調整」的現象。 透過正確的近似,我們在訓練資料上會有一定的誤差,在控制資料上會有稍大的誤差。 如果不正確,就會導致訓練資料的精確調整和測試資料的巨大誤差。

(眾所周知,透過 N 個點可以繪製一條 N-1 次曲線,但這種方法在一般情況下不會給出所需的結果。 維基百科上的拉格朗日插值多項式)

1. 設定初始分佈

無需Python、Anaconda和其他爬蟲的機器學習

2. 我們將分數依照70比30的比例分為「訓練」和「控制」。

無需Python、Anaconda和其他爬蟲的機器學習

3.我們沿著訓練點繪製近似曲線,我們看到它在控制資料上給出的誤差

無需Python、Anaconda和其他爬蟲的機器學習

4. 我們透過訓練點繪製一條精確的曲線,我們看到控制資料上有一個巨大的錯誤(訓練資料上的錯誤為零,但這有什麼意義呢?)。

無需Python、Anaconda和其他爬蟲的機器學習

當然,所示的是最簡單的選擇,將其單一劃分為“訓練”和“控制”子集;在一般情況下,為了對係數進行最佳調整,需要多次執行此操作。

該文件可在此處取得,並已透過防毒軟體掃描。 啟用巨集以進行正確操作

3. 梯度下降和誤差變化的動態

將有一個 4 維情況和線性迴歸。 線性迴歸係數將使用梯度下降法逐步確定,最初所有係數均為零。 單獨的圖表顯示了隨著係數調整得越來越準確,誤差減少的動態。 可以查看所有四個二維投影。

如果你將梯度下降步長設定得太大,你可以看到每次我們都會跳過最小值並且會以更多的步數到達結果,儘管最終我們仍然會到達(除非我們也延遲下降步長)太多- 那麼演算法將「毫無疑問」)。 並且取決於迭代步驟的誤差圖不會是平滑的,而是「生澀的」。

1.產生數據,設定梯度下降步長

無需Python、Anaconda和其他爬蟲的機器學習

2. 透過正確選擇梯度下降步長,我們可以順利快速地達到最小值

無需Python、Anaconda和其他爬蟲的機器學習

3. 如果梯度下降步長選擇不正確,我們會超過最大值,誤差圖會“生澀”,收斂需要更多的步數

無需Python、Anaconda和其他爬蟲的機器學習
и

無需Python、Anaconda和其他爬蟲的機器學習

4. 如果我們選擇的梯度下降步驟完全錯誤,我們就會遠離最小值

無需Python、Anaconda和其他爬蟲的機器學習

(若要使用圖片中顯示的梯度下降步長值重現流程,請勾選「參考資料」方塊)。

文件在這個鏈接,需要啟用宏,沒有病毒。

根據受人尊敬的社區的說法,這種呈現材料的簡化和方法可以接受嗎? 這篇文章值得翻譯成英文嗎?

來源: www.habr.com

添加評論