」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 機器學習簡介

機器學習簡介

發佈於2024-11-08
瀏覽:284

什麼是機器學習?

機器學習是電腦科學的一個領域,它使用靜態技術賦予電腦系統「學習」的能力資料沒有 被明確編程。

這意味著,ML 就是從資料中學習

明確程式設計意味著,為每個場景編寫程式碼,以處理該情況。

Introductions to ML

在機器學習中,我們不是為每個場景編寫明確的程式碼,而是訓練模型從資料中學習模式,允許它們做出預測針對未見情況的決策

Introductions to ML

因此,我們給出輸入輸出,但不要為每種情況編寫任何程式碼。機器學習演算法自動處理它們。

一個簡單的例子可以使用:

求和函數:

在明確程式設計中,要新增 2 個數字,我們編寫僅適用於這種情況的特定程式碼。如果不加修改,此程式碼將無法用於新增 5 個或 N 個數字。

相較之下,透過 ML,我們可以提供一個 Excel 文件,其中每行包含不同的數字及其總和。當機器學習演算法在此資料集上進行訓練時,它會學習加法模式。將來,當給定 2、10 或 N 個數字時,它可以根據學習到的模式執行加法,而不需要針對每個場景編寫特定程式碼。

我們在哪裡使用機器學習?

  • 垃圾郵件分類器:

在明確程式設計中,我編寫了多個if-else 條件,例如:「如果某個關鍵字出現3 次或以上,則會被標記為垃圾郵件。」例如,如果「Huge」一詞使用3 次,則會被標記為垃圾郵件。

現在,想像一家廣告公司意識到有這樣的演算法可以偵測他們的垃圾郵件。因此,他們不會重複「巨大」3次,而是使用「巨大」、「大規模」和「大」等同義詞。在這種情況下,原來的規則就不起作用了。解決方法是什麼?我應該再次改變我以前的演算法嗎?我能做到幾次?

ML中,模型從提供的資料中學習並根據該資料自動建立演算法。如果資料發生變化,演算法會相應調整。無需手動更改演算法,它會根據新數據根據需要自行更新。

  • 圖片分類:

在影像分類的明確程式設計中,我們需要手動編寫規則來識別狗的特徵,例如它的形狀、大小、毛皮顏色或尾巴。這些規則僅適用於特定圖像,並不能很好地推廣到所有狗品種。如果我們遇到新品種或變種,我們需要為每個品種添加新規則。

ML中,我們沒有編寫特定的規則,而是為模型提供了按品種標記的狗圖像的大型數據集。然後,該模型從數據中學習模式,例如不同品種的共同特徵,並使用學到的知識對新的狗圖像進行分類,即使它以前從未見過這些確切的品種。該演算法自動適應數據的變化。

而且,機器學習有數千種用途。你可能想知道,
為什麼機器學習在 2010 年之前沒有那麼流行?

  • 儲存容量有限,硬碟短缺,難以儲存大量資料。
  • 沒有足夠的可用資料來有效地訓練機器學習模型。
  • 硬體限制,例如功能較弱的 GPU 和處理器,限制了高效能運行複雜演算法的能力。

如今,我們每天都會產生數百萬個數據點。利用如此大量的數據,機器學習模型現在變得更加準確、高效,並且能夠解決複雜的問題。他們可以學習模式、做出預測並自動執行醫療保健、金融和技術等各個領域的任務,從而改善決策並推動創新。

感謝您花時間閱讀本文。

版本聲明 本文轉載於:https://dev.to/badhonnandi/intoduction-to-ml-4h2a?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 解決MySQL插入Emoji時出現的\\"字符串值錯誤\\"異常
    解決MySQL插入Emoji時出現的\\"字符串值錯誤\\"異常
    Resolving Incorrect String Value Exception When Inserting EmojiWhen attempting to insert a string containing emoji characters into a MySQL database us...
    程式設計 發佈於2025-05-06
  • Java中假喚醒真的會發生嗎?
    Java中假喚醒真的會發生嗎?
    在Java中的浪費喚醒:真實性或神話? 在Java同步中偽裝喚醒的概念已經是討論的主題。儘管存在這種行為的潛力,但問題仍然存在:它們實際上是在實踐中發生的嗎? Linux的喚醒機制根據Wikipedia關於偽造喚醒的文章,linux實現了pthread_cond_wait()功能的Linux實現,...
    程式設計 發佈於2025-05-06
  • 左連接為何在右表WHERE子句過濾時像內連接?
    左連接為何在右表WHERE子句過濾時像內連接?
    左JOIN CONUNDRUM:WITCHING小時在數據庫Wizard的領域中變成內在的加入很有趣,當將c.foobar條件放置在上面的Where子句中時,據說左聯接似乎會轉換為內部連接。僅當滿足A.Foo和C.Foobar標準時,才會返回結果。 為什麼要變形?關鍵在於其中的子句。當左聯接的右側...
    程式設計 發佈於2025-05-06
  • 為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    查詢模式實現缺失:解決“無法找到”錯誤在Silverlight應用程序中,嘗試使用LINQ建立LINQ連接以錯誤而實現的數據庫”,無法找到查詢模式的實現。”當省略LINQ名稱空間或查詢類型缺少IEnumerable 實現時,通常會發生此錯誤。 解決問題來驗證該類型的質量是至關重要的。在此特定實例...
    程式設計 發佈於2025-05-06
  • 如何實時捕獲和流媒體以進行聊天機器人命令執行?
    如何實時捕獲和流媒體以進行聊天機器人命令執行?
    在開發能夠執行命令的chatbots的領域中,實時從命令執行實時捕獲Stdout,一個常見的需求是能夠檢索和顯示標準輸出(stdout)在cath cath cant cant cant cant cant cant cant cant interfaces in Chate cant inter...
    程式設計 發佈於2025-05-06
  • MySQL中如何高效地根據兩個條件INSERT或UPDATE行?
    MySQL中如何高效地根據兩個條件INSERT或UPDATE行?
    在兩個條件下插入或更新或更新 solution:的答案在於mysql的插入中...在重複鍵更新語法上。如果不存在匹配行或更新現有行,則此功能強大的功能可以通過插入新行來進行有效的數據操作。如果違反了唯一的密鑰約束。 實現所需的行為,該表必須具有唯一的鍵定義(在這種情況下為'名稱'...
    程式設計 發佈於2025-05-06
  • 如何使用Python理解有效地創建字典?
    如何使用Python理解有效地創建字典?
    在python中,詞典綜合提供了一種生成新詞典的簡潔方法。儘管它們與列表綜合相似,但存在一些顯著差異。 與問題所暗示的不同,您無法為鑰匙創建字典理解。您必須明確指定鍵和值。 For example:d = {n: n**2 for n in range(5)}This creates a dict...
    程式設計 發佈於2025-05-06
  • 編譯器報錯“usr/bin/ld: cannot find -l”解決方法
    編譯器報錯“usr/bin/ld: cannot find -l”解決方法
    錯誤:“ usr/bin/ld:找不到-l “ 此錯誤表明鏈接器在鏈接您的可執行文件時無法找到指定的庫。為了解決此問題,我們將深入研究如何指定庫路徑並將鏈接引導到正確位置的詳細信息。 添加庫搜索路徑的一個可能的原因是,此錯誤是您的makefile中缺少庫搜索路徑。要解決它,您可以在鏈接器命令中添...
    程式設計 發佈於2025-05-06
  • 哪種在JavaScript中聲明多個變量的方法更可維護?
    哪種在JavaScript中聲明多個變量的方法更可維護?
    在JavaScript中聲明多個變量:探索兩個方法在JavaScript中,開發人員經常遇到需要聲明多個變量的需要。對此的兩種常見方法是:在單獨的行上聲明每個變量: 當涉及性能時,這兩種方法本質上都是等效的。但是,可維護性可能會有所不同。 第一個方法被認為更易於維護。每個聲明都是其自己的語句,使...
    程式設計 發佈於2025-05-06
  • 如何克服PHP的功能重新定義限制?
    如何克服PHP的功能重新定義限制?
    克服PHP的函數重新定義限制在PHP中,多次定義一個相同名稱的函數是一個no-no。嘗試這樣做,如提供的代碼段所示,將導致可怕的“不能重新列出”錯誤。 但是,PHP工具腰帶中有一個隱藏的寶石:runkit擴展。它使您能夠靈活地重新定義函數。 runkit_function_renction_...
    程式設計 發佈於2025-05-06
  • Java中Lambda表達式為何需要“final”或“有效final”變量?
    Java中Lambda表達式為何需要“final”或“有效final”變量?
    Lambda Expressions Require "Final" or "Effectively Final" VariablesThe error message "Variable used in lambda expression shou...
    程式設計 發佈於2025-05-06
  • 圖片在Chrome中為何仍有邊框? `border: none;`無效解決方案
    圖片在Chrome中為何仍有邊框? `border: none;`無效解決方案
    在chrome 中刪除一個頻繁的問題時,在與Chrome and IE9中的圖像一起工作時,遇到了一個頻繁的問題。和“邊境:無;”在CSS中。要解決此問題,請考慮以下方法: Chrome具有忽略“ border:none; none;”的已知錯誤,風格。要解決此問題,請使用以下CSS ID塊創建帶...
    程式設計 發佈於2025-05-06
  • 如何在Java中正確顯示“ DD/MM/YYYY HH:MM:SS.SS”格式的當前日期和時間?
    如何在Java中正確顯示“ DD/MM/YYYY HH:MM:SS.SS”格式的當前日期和時間?
    如何在“ dd/mm/yyyy hh:mm:mm:ss.ss”格式“ gormat 解決方案:的,請訪問量很大,並應為procectiquiestate的,並在整個代碼上正確格式不多: java.text.simpledateformat; 導入java.util.calendar; 導入java...
    程式設計 發佈於2025-05-06
  • 為什麼HTML無法打印頁碼及解決方案
    為什麼HTML無法打印頁碼及解決方案
    無法在html頁面上打印頁碼? @page規則在@Media內部和外部都無濟於事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: ...
    程式設計 發佈於2025-05-06
  • 如何解決由於Android的內容安全策略而拒絕加載腳本... \”錯誤?
    如何解決由於Android的內容安全策略而拒絕加載腳本... \”錯誤?
    Unveiling the Mystery: Content Security Policy Directive ErrorsEncountering the enigmatic error "Refused to load the script..." when deployi...
    程式設計 發佈於2025-05-06

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3