chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

從頭開始編寫任何機(jī)器學(xué)習(xí)算法的6個(gè)步驟

DPVg_AI_era ? 來(lái)源:未知 ? 作者:李倩 ? 2018-09-28 09:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文以單層感知器為案例,介紹從頭開始編寫任何機(jī)器學(xué)習(xí)算法的6個(gè)步驟。這些方法可以很容易地用于其他機(jī)器學(xué)習(xí)算法。

從頭開始編寫算法是一種有益的體驗(yàn),當(dāng)你最終點(diǎn)擊運(yùn)行的那一刻,你會(huì)了解算法背后真正發(fā)生了什么。

如果你以前用scikit-learn實(shí)現(xiàn)過(guò)這個(gè)算法,從頭開始編寫就會(huì)很容易?不是這樣。

有些算法只是比其他算法更復(fù)雜,所以可以從簡(jiǎn)單的開始,比如單層感知器(Perceptron)。

本文將以感知器為案例,引導(dǎo)你完成從頭開始編寫算法的6個(gè)步驟。這種方法可以很容易地用于編寫其他機(jī)器學(xué)習(xí)算法。

1. 對(duì)算法有一個(gè)基本的了解

這又回到了我最初所說(shuō)的。如果你不了解基礎(chǔ)知識(shí),請(qǐng)不要從頭開始處理算法。至少,你應(yīng)該能夠回答以下問(wèn)題:

它是什么?

它通常用于做什么?

什么時(shí)候不能使用它?

對(duì)于感知器,上面三個(gè)問(wèn)題的答案是:

單層感知器是最基本的神經(jīng)網(wǎng)絡(luò),通常用于二進(jìn)制分類問(wèn)題(1或0,“是”或“否”)。

它是一個(gè)線性分類器,因此只有在存在線性決策邊界的情況下才能有效使用。一些簡(jiǎn)單的用途可以是情緒分析(正面或負(fù)面反應(yīng))或貸款違約預(yù)測(cè)(“會(huì)違約”,“不會(huì)違約”)。對(duì)于這兩種情況,決策邊界都必須是線性的。

如果決策邊界是非線性的,那么你實(shí)際上無(wú)法使用感知器。對(duì)于這些問(wèn)題,需要使用其他算法。

2. 找到各種類型的學(xué)習(xí)資源

在對(duì)模型有了基本的了解之后,是時(shí)候開始進(jìn)行研究了。我建議使用大量資源。有些人用教科書學(xué)得更好,有些人用視頻學(xué)得更好。就我個(gè)人而言,我喜歡使用各種類型的資源。對(duì)于數(shù)學(xué)細(xì)節(jié),教科書的解釋很好,但對(duì)于更實(shí)際的例子,我更喜歡看博客文章和YouTube視頻。

對(duì)于感知器,這里有一些很棒的資源。

教材:

《統(tǒng)計(jì)學(xué)習(xí)基礎(chǔ)》,第4.5.1節(jié)

《深入理解機(jī)器學(xué)習(xí):從原理到算法》,第21.4節(jié)

博客:

JasonBrownlee的Machine Learning Mastery系列文章,其中一篇是《如何用Python從頭開始實(shí)現(xiàn)感知器算法》:

https://machinelearningmastery.com/implement-perceptron-algorithm-scratch-python/

SebastianRaschka的博客,Single-Layer Neural Networks and Gradient Descent

https://sebastianraschka.com/Articles/2015_singlelayer_neurons.html

視頻:

感知器訓(xùn)練:

https://www.youtube.com/watch?v=5g0TPrxKK6o

Perceptron算法的工作原理

https://www.youtube.com/watch?v=1XkjVl-j8MM

3. 將算法分解為塊

現(xiàn)在,我們已經(jīng)收集了需要的資料,是時(shí)候開始學(xué)習(xí)了。與其從頭到尾閱讀書本或博客文章,不如先瀏覽一下章節(jié)標(biāo)題和其他重要信息。寫下要點(diǎn),并嘗試概述算法。

在瀏覽完這些資料后,我們可以將Perceptron算法分解為以下幾個(gè)塊(chunks):

初始化權(quán)重

將輸入乘以權(quán)重,并求和

將結(jié)果與閾值進(jìn)行比較,并計(jì)算輸出(1或0)

更新權(quán)重

重復(fù)這個(gè)過(guò)程

將算法分解成這樣的塊,可以使得學(xué)習(xí)更容易?;旧?,我已經(jīng)使用偽代碼概述了這個(gè)算法,現(xiàn)在可以回過(guò)頭來(lái)填寫細(xì)節(jié)了。 下面這張圖是第二步的筆記,即權(quán)重和輸入的點(diǎn)積:

4. 從一個(gè)簡(jiǎn)單的例子開始

在整理好算法相關(guān)的筆記后,是時(shí)候開始在代碼中實(shí)現(xiàn)它了。

在深入研究一個(gè)復(fù)雜的問(wèn)題之前,我想先從一個(gè)簡(jiǎn)單的例子開始。對(duì)于感知器,NAND gate(與非門)是一個(gè)完美的簡(jiǎn)單數(shù)據(jù)集。如果兩個(gè)輸入都為真(1),則輸出為假(0),否則輸出為真。下面是數(shù)據(jù)集的一個(gè)示例:

現(xiàn)在,有了一個(gè)簡(jiǎn)單的數(shù)據(jù)集,我將開始實(shí)現(xiàn)我在步驟3中概述的算法。最好將這個(gè)算法分成塊編寫并進(jìn)行測(cè)試,而不是試圖一次性寫完。這樣在剛開始時(shí)更容易調(diào)試。

下面是我在步驟3中概述的算法點(diǎn)積部分的Python代碼示例:

5. 使用可信的實(shí)現(xiàn)進(jìn)行驗(yàn)證

我們已經(jīng)編寫了代碼,并針對(duì)一個(gè)小數(shù)據(jù)集進(jìn)行了測(cè)試,現(xiàn)在是時(shí)候擴(kuò)展到更大的數(shù)據(jù)集了。為了確保我們的代碼在這個(gè)更復(fù)雜的數(shù)據(jù)集上正確工作,最好在一個(gè)可信的實(shí)現(xiàn)上對(duì)其進(jìn)行測(cè)試。對(duì)于感知器,我們可以使用scikit-learn中的實(shí)現(xiàn)。

為了測(cè)試代碼,我將檢查權(quán)重。如果正確地實(shí)現(xiàn)了算法,我的權(quán)重應(yīng)該與scikit-learn中感知器的權(quán)重相匹配。

一開始,我沒(méi)有得到相同的權(quán)重,這是因?yàn)槲也坏貌徽{(diào)整scikit-learn Perceptron中的默認(rèn)設(shè)置。我并不是每次都實(shí)現(xiàn)一個(gè)新的隨機(jī)狀態(tài),而只是一個(gè)fixed seed,所以不得不關(guān)閉它。shuffling也是這樣,也需要關(guān)閉它。為了匹配學(xué)習(xí)率,我將eta0改為0.1。最后,我關(guān)閉了fit_intercept選項(xiàng)。我在特征數(shù)據(jù)集中包含了一個(gè)1的虛擬列,所以已經(jīng)自動(dòng)擬合了偏差項(xiàng)。

這引出了另一個(gè)重要的問(wèn)題。在驗(yàn)證模型的現(xiàn)有實(shí)現(xiàn)時(shí),你需要非常清楚模型的輸入。你不應(yīng)盲目地使用模型,而要總是質(zhì)疑你的假設(shè),以及每個(gè)輸入的確切含義。

6. 寫下你的過(guò)程

這個(gè)過(guò)程的最后一步可能是最重要的。 你已經(jīng)完成所有的學(xué)習(xí)工作,做了筆記,從頭開始編寫了算法,并將它與可信的實(shí)現(xiàn)進(jìn)行了比較。那么不要讓所有這些工作白白浪費(fèi)掉。編寫流程非常重要,原因是:

你會(huì)得到更深刻的理解,因?yàn)檫@樣做相當(dāng)于在教別人你剛學(xué)到的東西。你可以向潛在的雇主展示它。證明你可以利用機(jī)器學(xué)習(xí)庫(kù)實(shí)現(xiàn)算法是一回事,但如果你可以從頭開始實(shí)現(xiàn)一個(gè)算法,那就更令人印象深刻了。

結(jié)論

從頭開始編寫算法是一種非常有益的體驗(yàn)。這是深入了解模型、構(gòu)建一個(gè)令人印象深刻的項(xiàng)目組合的好方法。

記得要慢慢來(lái),從簡(jiǎn)單的事情開始吧。最重要的是,一定要記錄和分享你的工作。

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

原文標(biāo)題:只需6步,從頭開始編寫機(jī)器學(xué)習(xí)算法

文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    經(jīng)典算法大全(51個(gè)C語(yǔ)言算法+單片機(jī)常用算法+機(jī)器學(xué)十大算法

    算法的描述:是對(duì)要解決一個(gè)問(wèn)題或要完成一項(xiàng)任務(wù)所采取的方法和步驟的描述,包括需要什么數(shù)據(jù)(輸入什么數(shù)據(jù)、輸出什么結(jié)果)、采用什么結(jié)構(gòu)、使用什么語(yǔ)句以及如何安排這些語(yǔ)句等。通常使用自然語(yǔ)言、結(jié)構(gòu)化
    發(fā)表于 10-23 14:31

    MikroElektronika的mikroBUS Click板是否從頭開始的制作?

    的示例代碼,因此您不必從頭開始。2x2按鍵單擊,F(xiàn)LICKER單擊,Arduino UNO單擊Shield我想用Click板創(chuàng)建一個(gè)項(xiàng)目來(lái)展示它們,但有數(shù)百個(gè)選項(xiàng)我無(wú)法決定該怎么做。起初我想抓住一些像
    發(fā)表于 10-31 07:10

    如何使用和聲從頭開始設(shè)置HTTP服務(wù)?

    有沒(méi)有關(guān)于如何使用和聲從頭開始設(shè)置HTTP服務(wù)的最新教程/設(shè)置?(不是從演示項(xiàng)目開始
    發(fā)表于 04-08 09:39

    ARM嵌入式系統(tǒng)設(shè)計(jì):從頭開始構(gòu)建還是使用SBC?

    一些是早期產(chǎn)品的迭代。對(duì)于他們而言,開發(fā)一個(gè)可在其整個(gè)產(chǎn)品組合中使用的標(biāo)準(zhǔn)平臺(tái)是一種可行的替代方案,而不是為每個(gè)新產(chǎn)品從頭開始進(jìn)行新設(shè)計(jì)。選擇特定的微控制器或微處理器產(chǎn)品系列,這些產(chǎn)品在一系列處理器速度
    發(fā)表于 10-21 10:11

    Excel本身就能編寫大量基礎(chǔ)機(jī)器學(xué)習(xí)算法

    作為一名數(shù)據(jù)工作者,這年頭“熟悉機(jī)器學(xué)習(xí)算法”遠(yuǎn)比“精通Excel”在求職市場(chǎng)上要搶手得多,但前者的“熟悉”究竟是熟悉到什么程度呢?Excel本身就能編寫大量基礎(chǔ)
    的頭像 發(fā)表于 06-21 10:18 ?6548次閱讀
    Excel本身就能<b class='flag-5'>編寫</b>大量基礎(chǔ)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>算法</b>

    如果要從事機(jī)器學(xué)習(xí)方面的研發(fā),可以按照以下幾個(gè)步驟學(xué)習(xí)

    具備軟件開發(fā)能力的程序員,轉(zhuǎn)向機(jī)器學(xué)習(xí)領(lǐng)域會(huì)更容易一些,但是即使沒(méi)有軟件開發(fā)基礎(chǔ),如果具備扎實(shí)的數(shù)學(xué)基礎(chǔ)以及較強(qiáng)的學(xué)習(xí)能力,也完全可以從頭開始學(xué)習(xí)
    的頭像 發(fā)表于 09-20 10:26 ?3474次閱讀

    人工智能正在學(xué)習(xí)量子力學(xué)以此來(lái)設(shè)計(jì)新分子

    一種新的機(jī)器學(xué)習(xí)算法可以探測(cè)分子的量子行為,從而使化學(xué)家具有更好的從頭開始設(shè)計(jì)新化合物的能力。
    發(fā)表于 12-03 10:30 ?2703次閱讀

    TensorFlow Quantum將允許用戶編寫Quantum應(yīng)用程序

    它是做什么的?TensorFlow是使機(jī)器學(xué)習(xí)變得更容易訪問(wèn)的眾多工具之一,它簡(jiǎn)化了深度神經(jīng)網(wǎng)絡(luò),并提供可重用代碼,這樣新的機(jī)器學(xué)習(xí)應(yīng)用程序就不必
    的頭像 發(fā)表于 04-15 15:27 ?2421次閱讀

    從頭開始構(gòu)建無(wú)人機(jī)

    電子發(fā)燒友網(wǎng)站提供《從頭開始構(gòu)建無(wú)人機(jī).zip》資料免費(fèi)下載
    發(fā)表于 11-22 10:35 ?1次下載
    <b class='flag-5'>從頭開始</b>構(gòu)建無(wú)人機(jī)

    如何從頭開始制作六足機(jī)器

    電子發(fā)燒友網(wǎng)站提供《如何從頭開始制作六足機(jī)器人.zip》資料免費(fèi)下載
    發(fā)表于 11-23 09:53 ?2次下載
    如何<b class='flag-5'>從頭開始</b>制作六足<b class='flag-5'>機(jī)器</b>人

    PyTorch教程3.4之從頭開始執(zhí)行線性回歸

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程3.4之從頭開始執(zhí)行線性回歸.pdf》資料免費(fèi)下載
    發(fā)表于 06-05 11:25 ?0次下載
    PyTorch教程3.4之<b class='flag-5'>從頭開始</b>執(zhí)行線性回歸

    PyTorch教程4.4之從頭開始實(shí)現(xiàn)Softmax回歸

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程4.4之從頭開始實(shí)現(xiàn)Softmax回歸.pdf》資料免費(fèi)下載
    發(fā)表于 06-05 15:37 ?0次下載
    PyTorch教程4.4之<b class='flag-5'>從頭開始</b>實(shí)現(xiàn)Softmax回歸

    PyTorch教程-3.4. 從頭開始執(zhí)行線性回歸

    3.4. 從頭開始執(zhí)行線性回歸? Colab [火炬]在 Colab 中打開筆記本 Colab [mxnet] Open the notebook in Colab Colab [jax
    的頭像 發(fā)表于 06-05 15:38 ?786次閱讀
    PyTorch教程-3.4. <b class='flag-5'>從頭開始</b>執(zhí)行線性回歸

    在Spartan 6 FPGA上從頭開始實(shí)現(xiàn)全加器

    電子發(fā)燒友網(wǎng)站提供《在Spartan 6 FPGA上從頭開始實(shí)現(xiàn)全加器.zip》資料免費(fèi)下載
    發(fā)表于 06-15 10:13 ?0次下載
    在Spartan <b class='flag-5'>6</b> FPGA上<b class='flag-5'>從頭開始</b>實(shí)現(xiàn)全加器

    機(jī)器學(xué)習(xí)算法匯總 機(jī)器學(xué)習(xí)算法分類 機(jī)器學(xué)習(xí)算法模型

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