一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

構(gòu)建算法的推薦步驟

深度學習自然語言處理 ? 來源:登龍 ? 2020-08-28 10:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、構(gòu)建算法的推薦步驟

當我們遇到一個問題,比如預(yù)測房價,我們想要用機器學習算法來更好的解決這個問題,推薦的步驟如下:

1.1 實現(xiàn)一個簡單的算法

建議先花點時間實現(xiàn)一個簡單能用的算法,比如線性回歸預(yù)測房價,不需要一開始就花很多時間設(shè)計復(fù)雜的算法(在軟件開發(fā)中叫避免過早優(yōu)化)

你可以先實現(xiàn)能用的算法,然后利用上篇文章從 0 開始機器學習 - 機器學習算法診斷中的學習曲線等診斷法來分析算法的優(yōu)化方向,這樣一個簡單的算法就成為了優(yōu)化問題的好工具!

1.2 分析學習曲線

有個簡單的算法后,我們就可以畫出學習曲線了,然后就可以決定下一步到底要往哪個方向做優(yōu)化:

獲得更多的訓(xùn)練樣本

嘗試減少特征的數(shù)量

嘗試獲得更多的特征

嘗試增加多項式特征

嘗試減少正則化程度

嘗試增加正則化程度

...

1.3 誤差分析

假如我們有多個方向可以作為優(yōu)化的方向,比如以下的方向都可以解決模型的高方差問題:

獲得更多的訓(xùn)練樣本 - 適用于高方差的模型

嘗試減少特征的數(shù)量 - 適用于高方差的模型

嘗試增加正則化程度 - 適用于高方差的模型

那我們又如何來評估每種方法的性能到底提升多少呢?或者說有沒有一種直接的指標來告訴我,使用了這樣一種優(yōu)化措施后我的算法性能到底提高了多少百分比?

今天就來看看如何分析機器學習算法的誤差。

二、機器學習算法誤差分析

2.1 偏斜類問題

在介紹誤差分析指標前,先來了解一個偏斜類問題:

訓(xùn)練集中有非常多同一類的樣本,只有很少或者沒有其他類的樣本,這樣的訓(xùn)練樣本稱為偏斜類。

比如預(yù)測癌癥是否惡性的 100 個樣本中:95 個是良性的腫瘤,5 個惡性的腫瘤,假設(shè)我們在這個樣本上對比以下 2 種分類算法的百分比準確度,即分類錯誤的百分比:

普通非機器學習算法:人為把所有的樣本都預(yù)測為良性,則分錯了 5 個惡性的樣本,錯誤率為 5 / 100 = 0.05 = 5%

神經(jīng)網(wǎng)絡(luò)算法:訓(xùn)練后預(yù)測 100 個樣本,把 10 個良性的樣本誤分類為惡性的樣本,錯誤率為 10 / 100 = 10%

如果僅僅從錯誤率大小來判斷算法的優(yōu)劣是不合適的,因為第一種人為設(shè)置樣本都為良性的算法不會在實際項目中使用,但是通過指標卻發(fā)現(xiàn)效果比神經(jīng)網(wǎng)絡(luò)還要好,這肯定是有問題的。

正是因為存在這么一種偏斜類的訓(xùn)練樣本,所以我們需要用一個更加一般性的算法準確度評價指標,以此適用與任何類型的樣本,解決上面那種荒唐的結(jié)論。

2.2 查準率與查全率

為了解決這個問題,使用查準率(Precision)和查全率(Recall)這 2 個誤差指標,為了計算這 2 者,我們需要把算法預(yù)測的結(jié)果分為以下 4 種:

正確肯定(True Positive,TP):預(yù)測為真,實際為真

正確否定(True Negative,TN):預(yù)測為假,實際為假

錯誤肯定(False Positive,F(xiàn)P):預(yù)測為真,實際為假

錯誤否定(False Negative,F(xiàn)N):預(yù)測為假,實際為真

把這 4 個寫到表格里面:

Positive Negative
Positive TP FN
Negative FP TN
實際值 預(yù)測值

然后我們就可以定義這 2 個指標啦:

查準率 = TP / (TP + FP):預(yù)測為真(惡性腫瘤)的情況中,實際為真(惡性腫瘤)的比例,越高越好

查全率 = TP / (TP + FN):實際為真(惡性腫瘤)的情況中,預(yù)測為真(惡性腫瘤)的比例,越高越好

有了這 2 個指標我們再來分析下上面的算法性能,第一個人為的算法認為所有的腫瘤都是良性的,也就等價于原樣本中 5 個惡性的腫瘤樣本一個都沒有預(yù)測成功,也即所有惡性腫瘤樣本,該算法成功預(yù)測惡性腫瘤的比例為 0,所以查全率為 0,這說明該算法的效果并不好。

2.3 查準率與查全率的整合

在實際的使用中,查準率和查全率往往不能很好的權(quán)衡,要想保持兩者都很高不太容易,通過使用以下的公式來整合這 2 個評價指標可以幫助我們直接看出一個算法的性能優(yōu)劣:

以后評價一個算法的性能直接比較 F1 Score 即可,這就大大方便了我們對比算法的性能。

三、機器學習的樣本規(guī)模

除了評價指標,還有一個要關(guān)心的問題就是樣本的規(guī)模,在機器學習領(lǐng)域有一句話:「取得成功的人不是擁有最好算法的人,而是擁有最多數(shù)據(jù)的人」

這句話的意思就是說當我們擁有非常多的數(shù)據(jù)時,選擇什么樣的算法不是最最重要的,一些在小樣本上表現(xiàn)不好的算法,經(jīng)過大樣本的訓(xùn)練往往也能表現(xiàn)良好。

比如下面這 4 種算法在很大樣本上訓(xùn)練后的效果相差不是很大,但是在小樣本時有挺大差距:

但在實際的機器學習算法中,為了能夠使得訓(xùn)練數(shù)據(jù)發(fā)揮最大效用,我們往往會選一個比較好的模型(不太容易欠擬合,比如神經(jīng)網(wǎng)絡(luò)),再加上很多的樣本數(shù)據(jù)(防止過擬合)

通過這 2 者就可以讓一個算法變的很強大,所以以后當你設(shè)計機器學習算法的時候一定要考慮自己的樣本規(guī)模,選擇合適的模型適應(yīng)你的數(shù)據(jù),如果你有很多很多的數(shù)據(jù),那么可以選擇復(fù)雜一點的模型,不能白白浪費你的數(shù)據(jù)!

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

    關(guān)注

    23

    文章

    4709

    瀏覽量

    95339
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3517

    瀏覽量

    50402
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8501

    瀏覽量

    134577

原文標題:從 0 開始機器學習 - 機器學習系統(tǒng)的設(shè)計與誤差分析

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RNN算法的三個關(guān)鍵步驟

    DL之RNN:RNN算法相關(guān)論文、相關(guān)思路、關(guān)鍵步驟、配圖集合+TF代碼定義
    發(fā)表于 12-28 14:20

    MAKEFILE條件預(yù)構(gòu)建步驟

    您好,我在項目中有兩個配置,我想在構(gòu)建配置之前做一些事情。我已經(jīng)在項目屬性中使用了預(yù)構(gòu)建步驟,但有不同的東西。我可以使用“IFEQ”來選擇MaFIX文件“.BuffPi::”部分中的配置的預(yù)構(gòu)
    發(fā)表于 01-30 07:54

    六大步驟學習貝葉斯算法

    學習貝葉斯算法的五個步驟
    發(fā)表于 07-16 16:57

    怎么將#define值傳遞給后期構(gòu)建步驟?

    我想創(chuàng)建一個打包后的步驟來打包我的版本。我們使用C源代碼中的一個定義來配置我們的構(gòu)建。是否有人知道一種方法,可以在后生成步驟中從源代碼中傳遞清單常數(shù)的值?例如,如果在Cfg.h中存在
    發(fā)表于 10-08 10:17

    PID算法調(diào)試步驟

    0、前言在我看來,其實控制題是較好做(混)的一種題型,你懂我意思吧??刂祁}簡單概括下,大概就是三個步驟。1、構(gòu)建整體方案。2、設(shè)計整體控制電路。3、軟件程序設(shè)計—PID算法調(diào)試。1 、整體方案拿到
    發(fā)表于 11-30 06:34

    有什么方法可以添加閃存前和閃存后構(gòu)建步驟嗎?

    有什么方法可以添加閃存前和閃存后構(gòu)建步驟嗎?對于我的系統(tǒng),我必須向 ESP 發(fā)送一條特殊命令以將其置于引導(dǎo)加載程序模式,然后再發(fā)送一條命令使其真正啟動。除了正常的構(gòu)建步驟之外,我似乎無
    發(fā)表于 03-02 08:36

    有什么方法可以添加閃存前和閃存后構(gòu)建步驟嗎?

    有什么方法可以添加閃存前和閃存后構(gòu)建步驟嗎?對于我的系統(tǒng),我必須向 ESP 發(fā)送一條特殊命令以將其置于引導(dǎo)加載程序模式,然后再發(fā)送一條命令使其真正啟動。除了正常的構(gòu)建步驟之外,我似乎無
    發(fā)表于 04-14 08:07

    基于設(shè)備性能的藍牙散列網(wǎng)構(gòu)建算法

    藍牙規(guī)范中沒有提供藍牙散列網(wǎng)的構(gòu)建方法。該文采用基于設(shè)備性能組建散列網(wǎng)的思想,提出一種散列網(wǎng)構(gòu)建算法。算法選擇性能優(yōu)良的設(shè)備擔任主節(jié)點和橋節(jié)點,并采取措施控制
    發(fā)表于 03-29 11:00 ?14次下載

    WSN中能量有效的連通支配集構(gòu)建算法

    現(xiàn)有的連通支配集構(gòu)建算法大多過程復(fù)雜、步驟冗余、耗能較多,且不能適應(yīng)網(wǎng)絡(luò)動態(tài)拓撲的變化。為此,提出一種能量有效的構(gòu)建算法。該
    發(fā)表于 03-06 17:22 ?1次下載

    OpenHarmony Dev-Board-SIG專場:搭建編譯構(gòu)建主要步驟

    OpenHarmony Dev-Board-SIG專場:搭建編譯構(gòu)建主要步驟
    的頭像 發(fā)表于 12-28 14:37 ?1248次閱讀
    OpenHarmony Dev-Board-SIG專場:搭建編譯<b class='flag-5'>構(gòu)建</b>主要<b class='flag-5'>步驟</b>

    TensorRT構(gòu)建具有動態(tài)形狀的引擎的步驟

    動態(tài)形狀(Dynamic Shapes)?是延遲指定部分或全部張量維度直到運行時的能力。動態(tài)形狀可以通過 C++ 和 Python 接口使用。 以下部分提供了更詳細的信息;但是,這里概述了構(gòu)建具有動態(tài)形狀的引擎的步驟
    的頭像 發(fā)表于 05-13 16:40 ?3574次閱讀

    介紹從一組可重用的驗證組件中構(gòu)建測試平臺所需的步驟

    本文介紹了從一組可重用的驗證組件中構(gòu)建測試平臺所需的步驟。UVM促進了重用,加速了測試平臺構(gòu)建的過程。
    的頭像 發(fā)表于 06-13 09:11 ?720次閱讀
    介紹從一組可重用的驗證組件中<b class='flag-5'>構(gòu)建</b>測試平臺所需的<b class='flag-5'>步驟</b>

    可重用的驗證組件中構(gòu)建測試平臺的步驟

    本文介紹了從一組可重用的驗證組件中構(gòu)建測試平臺所需的步驟。UVM促進了重用,加速了測試平臺構(gòu)建的過程。 首先對 測試平臺集成者(testbench integrator) 和 測試編寫者(test
    的頭像 發(fā)表于 06-13 09:14 ?845次閱讀
    可重用的驗證組件中<b class='flag-5'>構(gòu)建</b>測試平臺的<b class='flag-5'>步驟</b>

    EEMD方法的原理與算法實現(xiàn)步驟

    電子發(fā)燒友網(wǎng)站提供《EEMD方法的原理與算法實現(xiàn)步驟.pdf》資料免費下載
    發(fā)表于 10-23 11:44 ?0次下載
    EEMD方法的原理與<b class='flag-5'>算法</b>實現(xiàn)<b class='flag-5'>步驟</b>

    使用SSR構(gòu)建React應(yīng)用的步驟

    使用SSR(Server-Side Rendering,服務(wù)器端渲染)構(gòu)建React應(yīng)用的步驟通常包括以下幾個階段: 一、項目初始化與配置 創(chuàng)建React項目 : 可以使用Create React
    的頭像 發(fā)表于 11-18 11:30 ?831次閱讀