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

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

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

將機器學習這本深奧的課程,以更加淺顯易懂的方式講出來

DPVg_AI_era ? 來源:lp ? 2019-03-15 09:13 ? 次閱讀

雖然在Coursera、MIT、UC伯克利上有很多機器學習的課程,包括吳恩達等專家課程已非常經(jīng)典,但都是面向有一定理科背景的專業(yè)人士。本文試圖將機器學習這本深奧的課程,以更加淺顯易懂的方式講出來,讓沒有理科背景的讀者都能看懂。

把復雜的東西簡單化,讓非專業(yè)人士也能短時間內(nèi)理解,并露出恍然大悟的表情,是一項非常厲害的技能。

舉個例子。你正在應聘機器學習工程師,面對的是文科出身的HR,如果能在最短時間內(nèi)讓她了解你的專業(yè)能力,就能極大地提升面試成功率。

現(xiàn)在,機器學習這么火,想入行的人越來越多,然而被搞糊涂的人也越來越多。因為大眾很難理解機器學習是干嗎的?那些神秘拗口的概念,比如邏輯回歸、梯度下降到底是什么?j

一個23歲的藥物學專業(yè)的學生說,當他去參加機器學習培訓課程的時候,感覺自己就家里那位不懂現(xiàn)代科技的奶奶。

于是一名叫Audrey Lorberfeld的畢業(yè)生,試圖將大眾與機器學習之間的鴻溝,親手填補上。于是有了這個系列文章。

本系列第一講:梯度下降、線性回歸和邏輯回歸。

算法 vs 模型

在理解開始了解機器學習之前,我們需要先搞懂兩個基礎概念:算法和模型。

我們可以把模型看做是一個自動售貨機,輸入(錢),輸出(可樂)。算法是用來訓練這個模型的,

模型根據(jù)給定的輸入,做出對應的決策獲得預期輸出。例如,一個算法根據(jù)投入的金額,可樂的單價,判斷錢夠不夠,如果多了該找多少錢。

總而言之,算法是模型背后的數(shù)學生命力。沒有模型,算法只是一個數(shù)學方程式。模型的不同,取決于用的算法的不同。

梯度下降/最佳擬合線

(雖然這個傳統(tǒng)上并不被認為是一種機器學習算法,但理解梯度對于了解有多少機器學習算法可用,及如何優(yōu)化至關重要。)梯度下降幫助我們根據(jù)一些數(shù)據(jù),獲得最準確的預測。

舉個例子。你有一個大的清單,列出每個你認識的人身高體重。然后做成下面這種分布圖:

圖上面的數(shù)字比較奇怪?不用在意這些細節(jié)。

現(xiàn)在,小區(qū)居委會要舉辦一個根據(jù)身高猜體重的比賽,贏的人發(fā)紅包。就用這張圖。你怎么辦?

你可能會想在圖上畫一根線,這個線非常完美的給出了身高和體重的對應關系。

比如,根據(jù)這條完美線,身高1.5米的人體重基本在60斤左右。啊那么,這根完美線是怎么找出來呢?答:梯度下降。

我們先提一個概念叫RSS(the residual sum of squares)。RSS是點和線之間差異的平方和,這個值代表了點和線的距離有多遠。梯度下降就是找出RSS的最小值。

我們把每次為這根線找的不同參數(shù)進行可視化,就得到了一個叫做成本曲線的東西。這個曲線的地步,就是我們的RSS最小值。

Gradient Descent可視化(使用MatplotLib)

來自不可思議的數(shù)據(jù)科學家Bhavesh Bhatt

梯度下降還有其他的一些細分領域,比如“步長”和“學習率”(即我們想要采取什么方向到底部的底部)。

總之,:我們通過梯度下降找到數(shù)據(jù)點和最佳擬合線之間最小的空間;而最佳你和線是我們做預測的直接依據(jù)。

線性回歸

線性回歸是分析一個變量與另外一個或多個變量(自變量)之間,關系強度的方法。

線性回歸的標志,如名稱所暗示的那樣,即自變量與結果變量之間的關系是線性的,也就是說變量關系可以連城一條直線。

這看起來像我們上面做的!這是因為線性回歸中我們的“回歸線”之前的最佳實踐線。最佳擬合線顯示了我們的點之間最佳的線性關系。反過來,這使我們能夠做出預測。

關于線性回歸的另一個重點是,結果變量或“根據(jù)其他變量而變化的”變量(有點繞哈)總是連續(xù)的。但這意味著什么?

假設我們想測量一下紐約州影響降雨的因素:結果變量就是降雨量,就是我們最關系的東西,而影響降水的自變量是海拔。

如果結果變量不是連續(xù)的,就可能出現(xiàn)在某個海拔,沒有結果變量,導致我們沒辦法做出預測。

反之,任意給定的海拔,我們都可以做出預測。這就是線性回歸最酷的地方!

嶺回歸與LASSO回歸

現(xiàn)在我們知道什么是線性回歸,接下來還有更酷的,比如嶺回歸。在開始理解嶺回歸之前,我們先來了解正則化。

簡單地說,數(shù)據(jù)科學家使用正則化,確保模型只關注能夠對結果變量產(chǎn)生顯著影響的自變量。

但是那些對結果影響不顯著的自變量會被正則忽略嗎?當然不會!原因我們后面再展開細講。

原則上,我們創(chuàng)建這些模型,投喂數(shù)據(jù),然后測試我們的模型是否足夠好。

如果不管自變量相關也好不相關都投喂進去,最后我們會發(fā)現(xiàn)模型在處理訓練數(shù)據(jù)的時候超棒;但是處理我們的測試數(shù)據(jù)就超爛。

這是因為我們的模型不夠靈活,面對新數(shù)據(jù)的時候就顯得有點不知所措了。這個時候我們稱之為“Overfit”過擬合。

接下來我們通過一個過長的例子,來體會一下過擬合。

比方說,你是一個新媽媽,你的寶寶喜歡吃面條。幾個月來,你養(yǎng)成了一個在廚房喂食并開窗的習慣,因為你喜歡新鮮空氣。

接著你的侄子給寶寶一個圍裙,這樣他吃東西就不會弄得滿身都是,然后你又養(yǎng)成了一個新的習慣:喂寶寶吃面條的時候,必須穿上圍裙。

隨后你又收養(yǎng)了一只流浪狗,每次寶寶吃飯的時候狗就蹲在嬰兒椅旁邊,等著吃寶寶掉下來的面條。

作為一個新媽媽,你很自然的會認為,開著的窗戶+圍裙+嬰兒椅下面的狗,是讓你的寶寶能夠開心吃面條的必備條件。

直到有一天你回娘家過周末。當你發(fā)現(xiàn)廚房里沒有窗戶你有點慌;然后你突然想起來走的匆忙圍裙也沒帶;最要命的是狗也交給鄰居照看了,天哪!

你驚慌到手足無措以至于忘記給寶寶喂食,就直接把他放床上了???,當你面對一個完全新的場景時你表現(xiàn)的很糟糕。而在家則完全是另外一種畫風了。

經(jīng)過重新設計模型,過濾掉所有的噪音(不相關的數(shù)據(jù))后你發(fā)現(xiàn),其實寶寶僅僅是喜歡你親手做的面條。

第二天,你就能坦然的在一個沒有窗戶的廚房里,沒給寶寶穿圍裙,也沒有狗旁邊,開開心心的喂寶寶吃面條了。

這就是機器學習的正則化所干的事情:讓你的模型只關注有用的數(shù)據(jù),忽略干擾項。

在左邊:LASSO回歸(你可以看到紅色梯級表示的系數(shù)在穿過y軸時可以等于零)

在右邊:嶺回歸(你可以看到系數(shù)接近,但從不等于零,因為它們從不穿過y軸)

圖片來源:Prashant Gupta的“機器學習中的正規(guī)化”

在各種正規(guī)化的,有一些所謂的懲罰因子(希臘字母拉姆達:λ)。這個懲罰因子的作用是在數(shù)學計算中,縮小數(shù)據(jù)中的噪聲。

在嶺回歸中,有時稱為“L2回歸”,懲罰因子是變量系數(shù)的平方值之和。懲罰因子縮小了自變量的系數(shù),但從來沒有完全消除它們。這意味著通過嶺回歸,您的模型中的噪聲將始終被您的模型考慮在內(nèi)。

另一種正則化是LASSO或“L1”正則化。在LASSO正則化中,只需懲罰高系數(shù)特征,而不是懲罰數(shù)據(jù)中的每個特征。

此外,LASSO能夠將系數(shù)一直縮小到零。這基本上會從數(shù)據(jù)集中刪除這些特征,因為它們的“權重”現(xiàn)在為零(即它們實際上是乘以零)。

通過LASSO回歸,模型有可能消除大部分噪聲在數(shù)據(jù)集中。這在某些情況下非常有用!

邏輯回歸

現(xiàn)在我們知道,線性回歸=某些變量對另一個變量的影響,并且有2個假設:結果變量是連續(xù)的;變量和結果變量之間的關系是線性的。

但如果結果變量不是連續(xù)的而是分類的呢?這個時候就用到邏輯回歸了。

分類變量只是屬于單個類別的變量。比如每一周都是周一到周日7個日子,那么這個時候你就不能按照天數(shù)去做預測了。

每周的第一天都是星期一,周一發(fā)生的事情,就是發(fā)生在周一。沒毛病。

邏輯回歸模型只輸出數(shù)據(jù)點在一個或另一個類別中的概率,而不是常規(guī)數(shù)值。這也是邏輯回歸模型主要用于分類的原因。

在邏輯回歸的世界中,結果變量與自變量的對數(shù)概率(log-odds)具有線性關系。

比率(odds)

邏輯回歸的核心就是odds。舉個例子:

一個班里有19個學生,其中女生6個,男生13個。假設女性通過考試的幾率是5:1,而男性通過考試的幾率是3:10。這意味著,在6名女性中,有5名可能通過測試,而13名男性中有3名可能通過測試。

那么,odds和概率(probability)不一樣嗎?并不。

概率測量的是事件發(fā)生的次數(shù)與所有事情發(fā)生的總次數(shù)的比率,例如,投擲40次投幣10次是正面的概率是25%;odds測量事件發(fā)生的次數(shù)與事件的次數(shù)的比率,例如拋擲30次有10次是正面,odds指的是10次正面:30次反面。

這意味著雖然概率總是被限制在0-1的范圍內(nèi),但是odds可以從0連續(xù)增長到正無窮大!

這給我們的邏輯回歸模型帶來了問題,因為我們知道我們的預期輸出是概率(即0-1的數(shù)字)。

那么,我們?nèi)绾螐膐dds到概率?

讓我們想一個分類問題,比如你最喜歡的足球隊和另一只球隊比賽,贏了6場。你可能會說你的球隊失利的幾率是1:6,或0.17。

而你的團隊獲勝的幾率,因為他們是一支偉大的球隊,是6:1或6。如圖:

圖片來源:

https://www.youtube.com/watch?v=ARfXDSkQf1Y

現(xiàn)在,你不希望你的模型預測你的球隊將在未來的比賽中取勝,只是因為他們過去獲勝的幾率遠遠超過他們過去失敗的幾率,對吧?

還有更多模型需要考慮的因素(可能是天氣,也許是首發(fā)球員等)!因此,為了使得odds的大小均勻分布或對稱,我們計算出一些稱為對數(shù)比率(log-odds)的東西。

log-odds

我們所謂的“正態(tài)分布”:經(jīng)典的鐘形曲線!

Log-odds是自然對數(shù)odds的簡寫方式。當你采用某種東西的自然對數(shù)時,你基本上可以使它更正常分布。當我們制作更正常分布的東西時,我們基本上把它放在一個非常容易使用的尺度上。

當我們采用log-odds時,我們將odds的范圍從0正無窮大轉換為負無窮正無窮大。可以在上面的鐘形曲線上看到這一點。

即使我們?nèi)匀恍枰敵鲈?-1之間,我們通過獲取log-odds實現(xiàn)的對稱性使我們比以前更接近我們想要的輸出!

Logit函數(shù)

“l(fā)ogit函數(shù)”只是我們?yōu)榱说玫絣og-odds而做的數(shù)學運算!

恐怖的不可描述的數(shù)學。呃,我的意思是logit函數(shù)。

logit函數(shù),用圖表繪制

正如您在上面所看到的,logit函數(shù)通過取其自然對數(shù)將我們的odds設置為負無窮大到正無窮大。

Sigmoid函數(shù)

好的,但我們還沒有達到模型給我們概率的程度?,F(xiàn)在,我們所有的數(shù)字都是負無窮大到正無窮大的數(shù)字。名叫:sigmoid函數(shù)。

sigmoid函數(shù),以其繪制時呈現(xiàn)的s形狀命名,只是log-odds的倒數(shù)。通過得到log-odds的倒數(shù),我們將我們的值從負無窮大正無窮大映射到0-1。反過來,讓我們得到概率,這正是我們想要的!

與logit函數(shù)的圖形相反,其中我們的y值范圍從負無窮大到正無窮大,我們的sigmoid函數(shù)的圖形具有0-1的y值。好極了!

有了這個,我們現(xiàn)在可以插入任何x值并將其追溯到預測的y值。該y值將是該x值在一個類別或另一個類別中的概率。

最大似然估計

你還記得我們是如何通過最小化RSS(有時被稱為“普通最小二乘法”或OLS法)的方法在線性回歸中找到最佳擬合線的嗎?

在這里,我們使用稱為最大似然估計(MLE)的東西來獲得最準確的預測。

MLE通過確定最能描述我們數(shù)據(jù)的概率分布參數(shù),為我們提供最準確的預測。

我們?yōu)槭裁匆P心如何確定數(shù)據(jù)的分布?因為它很酷?。ú⒉皇牵?/p>

它只是使我們的數(shù)據(jù)更容易使用,并使我們的模型可以推廣到許多不同的數(shù)據(jù)。

一般來說,為了獲得我們數(shù)據(jù)的MLE,我們將數(shù)據(jù)點放在s曲線上并加上它們的對數(shù)似然。

基本上,我們希望找到最大化數(shù)據(jù)對數(shù)似然性的s曲線。我們只是繼續(xù)計算每個log-odds行的對數(shù)似然(類似于我們對每個線性回歸中最佳擬合線的RSS所做的那樣),直到我們得到最大數(shù)量。

好了,到此為止我們知道了什么是梯度下降、線性回歸和邏輯回顧,下一講,由Audrey妹子來講解決策樹、隨機森林和SVM。

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

    關注

    1

    文章

    33

    瀏覽量

    12306
  • 機器學習
    +關注

    關注

    66

    文章

    8323

    瀏覽量

    132165
  • 線性回歸
    +關注

    關注

    0

    文章

    41

    瀏覽量

    4288

原文標題:文科生都能看懂的機器學習教程:梯度下降、線性回歸、邏輯回歸

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    清華大學Matlab7.0基礎教程

    `本書是由清華大學出版的matlab基礎教程,全面的介紹了matlab,深入淺出,淺顯易懂,是你學習matlab的不可多得的好書遇見了就不要錯過他。[hide][/hide]`
    發(fā)表于 10-31 14:59

    電子設計從零開始(第二版)

    ` 本帖最后由 woaixiang0911 于 2013-5-22 15:46 編輯 電子設計從零開始這本書,淺顯易懂,非常適合電子設計初學者。文件較大且本人級別較低,只能將文件分割,給您下載帶來不便請見諒!`
    發(fā)表于 05-22 15:36

    非常適合電子設計初學者看的書

    電子設計從零開始這本書,淺顯易懂,非常適合電子設計初學者。下面是下載鏈接。有需要的自己去下載。
    發(fā)表于 05-22 18:49

    張飛實戰(zhàn)電子之零歐姆電阻的十二種作用

    附件為張工在實踐中為大家總結的零歐姆電阻的十二種作用,實用且淺顯易懂,歡迎大家下載學習。
    發(fā)表于 03-03 15:26

    張飛實戰(zhàn)電子之零歐姆電阻的十二種作用

    附件為張工在實踐中為大家總結的零歐姆電阻的十二種作用,實用且淺顯易懂,歡迎大家下載學習
    發(fā)表于 03-03 15:30

    淺顯易懂方式帶你敲開Linux驅動開發(fā)的大門

    # 前言開發(fā)過單片機的小伙伴可以看下我之前的一篇文章從單片機開發(fā)到linux內(nèi)核驅動,淺顯易懂方式帶你敲開Linux驅動開發(fā)的大門。# 正文用戶空間的每個函數(shù)(用于使用設備或者文件的),在內(nèi)
    發(fā)表于 01-19 08:31

    基于RS-232的DSP與上位機通訊電路

    這篇文淺顯易懂的介紹了RS-232通信接口的工作原理,以及與上位機之間的通信方式。
    發(fā)表于 04-01 17:00 ?5次下載

    開關電源的原理與設計 張占松箸 557頁 18.5M

    開關電源論述詳細,淺顯易懂,好東西大放送。
    發(fā)表于 05-04 11:05 ?29次下載

    守護進程的初級教程

    守護進程的初級教程,淺顯易懂,適合初學者
    發(fā)表于 06-17 16:16 ?0次下載

    數(shù)據(jù)結構與算法分析

    一部淺顯易懂的介紹數(shù)據(jù)結構與算法的書籍。
    發(fā)表于 07-14 17:12 ?0次下載

    解析甄別人工智能泡沫淺顯易懂的方法

    不過,這套方法論對用戶可能并不適用,畢竟并無這樣的專業(yè)知識和經(jīng)驗積累。所以,面對市面上林林總總的人工智能產(chǎn)品,要不要掏錢包,還得有淺顯易懂的甄別人工智能泡沫的方法。
    的頭像 發(fā)表于 01-09 10:43 ?2266次閱讀

    電容器是如何工作的概述

    通過本文淺顯易懂的了解電容器是如何工作的?
    的頭像 發(fā)表于 03-29 10:46 ?7831次閱讀

    機器學習中的相關概念、數(shù)學知識和各種經(jīng)典算法

    正是對機器學習的過程中的痛苦有切身體會,我希望能做一份教程,淺顯易懂方式去講解它,降低大家的學習
    的頭像 發(fā)表于 03-15 14:40 ?3098次閱讀

    常用的光纖連接器種類介紹

    光纖連接器種類眾多,在前期報導中我們淺顯易懂方式,教您如何選擇正確的光纖線?
    的頭像 發(fā)表于 01-09 11:14 ?8831次閱讀

    動力電池各種概念及原理剖析

    通過最淺顯易懂方式解讀動力電池的相關概念、結構及工作原理,讓大家對動力電池有更深入的理解。
    的頭像 發(fā)表于 12-21 14:14 ?2945次閱讀