0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Excel本身就能編寫大量基礎機器學習算法

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-06-21 10:18 ? 次閱讀

編者按:當初學者第一次接觸機器算法時,直觀了解算法正在做什么是一項非常重要的任務,這也是論智一直推崇可視化方法的原因之一。雖然初級算法的數(shù)學計算并不難掌握,但當他們一看到滿篇的數(shù)學理論和符號,學習下去的興致和氣勢就消減了不少。

作為一名數(shù)據(jù)工作者,這年頭“熟悉機器學習算法”遠比“精通Excel”在求職市場上要搶手得多,但前者的“熟悉”究竟是熟悉到什么程度呢?Excel本身就能編寫大量基礎機器學習算法,而且對于初學者來說,這樣的編寫過程不僅能加深對算法的理解,還能幫助他們更充分地感受算法的美妙。

下面我們用一個例子來證明這一點。

從本質(zhì)上來說,大多數(shù)數(shù)據(jù)科學算法其實就是優(yōu)化問題,而其中最常用的算法之一就是梯度下降算法。對于初學者來說,梯度下降這個詞可能乍一聽有些可怕,但它真的這么復雜嗎?

以下是一個房價預測任務:根據(jù)歷史房價數(shù)據(jù)創(chuàng)建一個模型,結(jié)合房屋面積預測新房價格。讓我們先用已有數(shù)據(jù)建立一個表格:

pIYBAFsrC7iAOpbsAAA9WDcYL54282.png

如上表所示,房屋面積是X,房價是Y,由此我們可以繪制歷史房價數(shù)據(jù)折線圖:

pIYBAFsrC7iAPlxVAABZymetJgM598.png

現(xiàn)在用一個簡單的線性模型,對歷史數(shù)據(jù)進行擬合,根據(jù)房屋面積X預測新房價格Y(pre):

pIYBAFsrC7iAdHnhAABQbEvgtnI803.png

在上圖中,紅線是我們的線性模型,因此鑒于橫坐標和縱坐標信息,它的表達式是:Y(pred) = a + bX。

藍線是已知的歷史房價,從分布上簡單給出了房價和房屋面積相關程度的基本信息。

連接紅線和藍線的黃色虛線表示對于同一面積的房屋,模型預測和實際房價的誤差(E)。

所以我們的目標是找到最好的a和b,使誤差項E最?。?/p>

殘差平方和(SSE)= ?(真實房價-預測房價)2= ?(Y - Ypred)2

(SSE只是一種方法,還可以用其他方法統(tǒng)計誤差)

好了,下面我們就要用到梯度下降了。梯度下降是一種優(yōu)化算法,它能幫我們找到優(yōu)化權重(a,b),并保證模型預測的準確率。下面是具體步驟:

步驟1:用隨機值初始化權重a和b,并計算誤差(SSE)。

步驟2:計算梯度,即當權重從初始隨機值逐漸變小時SSE的變化。這有助于我們把a和b朝SSE最小的方向優(yōu)化。

步驟3:用梯度調(diào)整權重以使SSE最小化,以達到最佳值。

步驟4:用新權重進行預測,并計算新的SSE。

步驟5:重復步驟2和3,直到再次調(diào)整權重后不再明顯降低預測錯誤率。

如果說這樣描述有些泛泛而談,下面我們就結(jié)合圖表詳細介紹。請牢記一點,事先把數(shù)據(jù)處理好有助于更高效的優(yōu)化。

pIYBAFsrC7mAXLtwAABj1ZdBkJI209.png

第一步: 為了擬合Y(pred) = a + bX,用隨機值初始化a和b,并計算預測誤差(SSE)。

pIYBAFsrC7mAEY1kAABHN3riu6c619.png

第二步:計算權重的誤差梯度。

?SSE/?a =-(Y-Ypred)

?SSE/?b =-(Y-Ypred)X

其中,SSE=? (Y-Ypred)2= ?(Y-(a+bX))2

雖然有一點點讓人煩惱的微積分計算,但這已經(jīng)很基礎了,?SSE/?a和?SSE/?b是我們想要的梯度,它們給出了SSE“下降”的方向。

pIYBAFsrC7mAWg-jAABOGL7l5iQ765.png

第三步:用梯度調(diào)整權重,使SSE獲得最小值,也就是最佳值。

pIYBAFsrC7mAOHWyAACb4ECd06E022.png

這之后我們就能用新權重更新a和b的值,以便模型沿著最優(yōu)方向移動。

因為

a-?SSE/?a

b-?SSE/?b

所以更新規(guī)則就是:

新的a = a - r × ?SSE/?a = 0.45–0.01× 3.300 = 0.42

新的b = b - r × ?SSE/?b = 0.75–0.01×1.545 = 0.73

其中r=0.01是學習率,表示權重調(diào)整的步幅。

第四步:用新的a和b進行預測并計算新的SSE。

pIYBAFsrC7mAIvYaAABKCZqGDGg034.png

可以看到,SSE已經(jīng)從0.677下降到0.553了,這意味著模型的預測準確率有所提高。

第五步:重復第二步和第三步,直到再改變a和b,SSE不再發(fā)生明顯變化。

以上就是用Excel實現(xiàn)的梯度下降算法,比起一堆數(shù)學計算,這樣圖文并茂的演示是不是更有趣呢?

在MOOC課程中,除了吳恩達的deeplearning.ai和Udacity,李飛飛強烈推薦的Fast.ai也有其獨到之處。這家公司的CEO Jeremy Howard是深度學習領域的一朵奇葩,他沒有過硬的學術背景,也沒有大型科技公司的就職經(jīng)歷,僅憑自學就在kaggle競賽中鋒芒畢露。對于這樣一個人,他的課絕對值得初學者學習。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Excel
    +關注

    關注

    4

    文章

    218

    瀏覽量

    55527
  • 機器學習
    +關注

    關注

    66

    文章

    8418

    瀏覽量

    132646

原文標題:最強神器!用Excel實踐機器學習算法

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    美光和思科在SEMICON West 2017:實現(xiàn)機器學習的前提是讓機器使用大量數(shù)據(jù)創(chuàng)建算法

    眾所周知,機器學習是影響技術領域的最大趨勢之一,它為全球企業(yè)帶來了新的見解和利潤。實現(xiàn)機器學習的前提是讓機器使用
    的頭像 發(fā)表于 09-23 09:25 ?1w次閱讀

    機器學習算法應用

    關于機器學習的相關算法。正版資源,免費看的。
    發(fā)表于 08-24 22:14

    機器學習——期望最大算法

    機器學習 - 期望最大(EM)算法
    發(fā)表于 05-21 14:31

    機器學習算法分享

    機器學習算法(1)——Logistic Regression
    發(fā)表于 06-09 13:30

    什么是機器學習? 機器學習基礎入門

    另一方面,機器學習是向計算機提供一組輸入和輸出,并要求計算機識別“算法”(或用機器學習的說法稱為模型)的過程,這種
    發(fā)表于 06-21 11:06

    Spark機器學習庫的各種機器學習算法

    本文將簡要介紹Spark機器學習庫(Spark MLlibs APIs)的各種機器學習算法,主要包括:統(tǒng)計
    發(fā)表于 09-28 16:44 ?1次下載

    通過Python就能讀懂機器學習

    具體來說有四個方面的介紹,包括機器學習的定義、機器學習的起源,以及進化反向、機器學習的分類和類別
    的頭像 發(fā)表于 05-14 14:31 ?2597次閱讀
    通過Python<b class='flag-5'>就能</b>讀懂<b class='flag-5'>機器</b><b class='flag-5'>學習</b>

    機器學習的范圍和算法

    什么是機器學習?機器學習是英文名稱MachineLearning(簡稱ML)的直譯。機器學習涉及
    發(fā)表于 11-12 10:19 ?1408次閱讀

    詳談機器學習模型算法的質(zhì)量保障方案

    近年來,機器學習模型算法在越來越多的工業(yè)實踐中落地。在滴滴,大量線上策略由常規(guī)算法遷移到機器
    發(fā)表于 05-05 17:08 ?2329次閱讀
    詳談<b class='flag-5'>機器</b><b class='flag-5'>學習</b>模型<b class='flag-5'>算法</b>的質(zhì)量保障方案

    機器學習算法的基礎介紹

    現(xiàn)在,機器學習有很多算法。如此多的算法,可能對于初學者來說,是相當不堪重負的。今天,我們將簡要介紹 10 種最流行的機器
    的頭像 發(fā)表于 10-24 10:08 ?1951次閱讀

    什么是深度學習算法?深度學習算法的應用

    什么是深度學習算法?深度學習算法的應用 深度學習算法被認為是人工智能的核心,它是一種模仿人類大腦
    的頭像 發(fā)表于 08-17 16:03 ?2158次閱讀

    機器學習算法匯總 機器學習算法分類 機器學習算法模型

    是解決具體問題的一系列步驟,機器學習算法被設計用于從大量的數(shù)據(jù)中自動學習并不斷改進自身的性能。本文將為大家介紹
    的頭像 發(fā)表于 08-17 16:11 ?1111次閱讀

    機器學習算法總結(jié) 機器學習算法是什么 機器學習算法優(yōu)缺點

    機器學習算法總結(jié) 機器學習算法是什么?機器
    的頭像 發(fā)表于 08-17 16:11 ?1920次閱讀

    機器學習算法入門 機器學習算法介紹 機器學習算法對比

    機器學習算法入門 機器學習算法介紹 機器
    的頭像 發(fā)表于 08-17 16:27 ?956次閱讀

    機器學習有哪些算法?機器學習分類算法有哪些?機器學習預判有哪些算法?

    機器學習有哪些算法?機器學習分類算法有哪些?機器
    的頭像 發(fā)表于 08-17 16:30 ?1997次閱讀