解密人工智能:線性回歸 | 邏輯回歸 | SVM

在這里插入圖片描述

文章目錄

  • 1、機器學習算法簡介
    • 1.1 機器學習算法包含的兩個步驟
    • 1.2 機器學習算法的分類
  • 2、線性回歸算法
    • 2.1 線性回歸的假設是什么?
    • 2.2 如何確定線性回歸模型的擬合優度?
    • 2.3 如何處理線性回歸中的異常值?
  • 3、邏輯回歸算法
    • 3.1 什么是邏輯函數?
    • 3.2 邏輯回歸可以用于多類分類嗎?
    • 3.3 如何解釋邏輯回歸中的系數?
  • 4、支持向量機(SVM)算法
    • 4.1 優點
    • 4.2 缺點
  • 5、結語

1、機器學習算法簡介

機器學習算法是一種基于數據和經驗的算法,通過對大量數據的學習和分析,自動發現數據中的模式、規律和關聯,并利用這些模式和規律來進行預測、分類或優化等任務。機器學習算法的目標是從數據中提取有用的信息和知識,并將其應用于新的未知數據中。
在這里插入圖片描述

1.1 機器學習算法包含的兩個步驟

機器學習算法通常包括兩個主要步驟:訓練和預測。在訓練階段,算法使用一部分已知數據(訓練數據集)來學習模型或函數的參數,以使其能夠對未知數據做出準確的預測或分類。在預測階段,算法將學習到的模型應用于新的數據,通過模型對數據進行預測、分類或其他任務。

1.2 機器學習算法的分類

機器學習算法可以是基于統計學原理、優化方法、神經網絡等等。根據學習的方式不同,機器學習算法可以分為監督學習、無監督學習和強化學習等幾種類型。不同的機器學習算法適用于不同的問題和數據類型,選擇合適的算法可以提高機器學習的任務效果。

  1. 監督學習算法:監督學習算法需要訓練數據集中包含輸入和對應的輸出(或標簽)信息。常用的監督學習算法包括:線性回歸、邏輯回歸、決策樹、支持向量機、樸素貝葉斯、人工神經網絡等。

  2. 無監督學習算法:無監督學習算法不需要訓練數據集中的輸出信息,主要用于數據的聚類和降維等問題。常用的無監督學習算法包括:K均值聚類、層次聚類、主成分分析、關聯規則挖掘等。

  3. 強化學習算法:強化學習算法通過與環境進行交互,試圖找到最優策略來最大化獎勵。常用的強化學習算法包括:Q學習、深度強化學習算法等。

此外,還有一些常用的機器學習算法和技術,如集成學習、降維方法、深度學習、遷移學習、半監督學習等,它們通過不同的方式和建模方法來解決不同的問題。選擇合適的機器學習算法需要考慮問題的性質、數據的特點、算法的可解釋性和計算效率等因素。

2、線性回歸算法

線性回歸是一種統計方法,用于檢查兩個連續變量之間的關系:一個自變量和一個因變量。線性回歸的目標是通過一組數據點找到最佳擬合線,然后可用于對未來的觀察進行預測。

在這里插入圖片描述
簡單線性回歸模型的方程為:

y = b 0 + b 1 ? x y = b0 + b1*x y=b0+b1?x
其中 y 是因變量,x 是自變量,b0 是 y 截距(直線與 y 軸的交點),b1 是直線的斜率。斜率表示給定 x 變化時 y 的變化。

為了確定最佳擬合線,我們使用最小二乘法,該方法找到使預測 y 值與實際 y 值之間的平方差之和最小化的線。線性回歸也可以擴展到多個自變量,稱為多元線性回歸。多元線性回歸模型的方程為: y = b 0 + b 1 x 1 + b 2 x 2 + … + b n ? x n y = b0 + b1x1 + b2x2 + … + bn*xn y=b0+b1x1+b2x2++bn?xn。其中 x1, x2, …, xn 是自變量,b1, b2, …, bn 是相應的系數。

線性回歸可用于簡單線性回歸和多元線性回歸問題。系數 b0 和 b1, …, bn 使用最小二乘法估計。一旦估計了系數,它們就可以用于對因變量進行預測。線性回歸可用于對未來進行預測,例如預測股票的價格或將出售的產品的單位數量。然而,線性回歸是一種相對簡單的方法,可能并不適合所有問題。它假設自變量和因變量之間的關系是線性的,但情況可能并非總是如此。此外,線性回歸對異常值高度敏感,這意味著如果存在任何不遵循數據總體趨勢的極值,將會顯著影響模型的準確性。

總之,線性回歸是一種強大且廣泛使用的統計方法,可用于檢查兩個連續變量之間的關系。它是一個簡單但功能強大的工具,可用于預測未來。但是,請務必記住,線性回歸假設變量之間存在線性關系,并且對異常值敏感,這可能會影響模型的準確性。

2.1 線性回歸的假設是什么?

  • 線性:自變量和因變量之間的關系是線性的。

  • 獨立性:觀察結果彼此獨立。

  • 同方差性:誤差項的方差在自變量的所有水平上都是恒定的。

  • 正態性:誤差項呈正態分布。

  • 無多重共線性:自變量彼此不高度相關。

  • 無自相關:誤差項與其自身不自相關。

2.2 如何確定線性回歸模型的擬合優度?

有多種方法可以確定線性回歸模型的擬合優度:

  • R 平方:R 平方是一種統計度量,表示因變量中的方差由模型中的自變量解釋的比例。R 平方值為 1 表示模型解釋了因變量中的所有方差,值為 0 表示模型沒有解釋任何方差。

  • 調整 R 平方:調整 R 平方是 R 平方的修改版本,它考慮了模型中自變量的數量。在比較具有不同數量自變量的模型時,它可以更好地指示模型的擬合優度。

  • 均方根誤差 (RMSE):RMSE 衡量預測值與實際值之間的差異。RMSE 較低表明模型與數據的擬合效果更好。

  • 平均絕對誤差 (MAE):MAE 測量預測值與實際值之間的平均差異。MAE 越低表明模型與數據的擬合效果越好。

在這里插入圖片描述

2.3 如何處理線性回歸中的異常值?

線性回歸中的異常值可能會對模型的預測產生重大影響,因為它們可能會扭曲回歸線。處理線性回歸中的異常值有多種方法,包括以下幾點:

  • 刪除異常值:一種選擇是在訓練模型之前簡單地從數據集中刪除異常值。然而,這可能會導致重要信息的丟失。

  • 轉換數據:應用轉換(例如記錄數據日志)有助于減少異常值的影響。

  • 使用穩健回歸方法:穩健回歸方法(例如 RANSAC 或 Theil-Sen)對異常值的敏感度低于傳統線性回歸。

  • 使用正則化:正則化可以通過在成本函數中添加懲罰項來幫助防止由異常值引起的過度擬合。

總之,采用什么方法將取決于特定的數據集和分析的目標。

3、邏輯回歸算法

邏輯回歸是一種統計方法,用于根據一個或多個自變量預測二元結果,例如成功或失敗。它是機器學習中的一種流行技術,通常用于分類任務,例如確定電子郵件是否是垃圾郵件,或預測客戶是否會流失。

在這里插入圖片描述

邏輯回歸模型基于邏輯函數,邏輯函數是一個sigmoid函數,它將輸入變量映射到 0 到 1 之間的概率。然后使用該概率對結果進行預測。

邏輯回歸模型由以下方程表示:

P ( y = 1 ∣ x ) = 1 / ( 1 + e ? ( b 0 + b 1 x 1 + b 2 x 2 + … + b n ? x n ) ) P(y=1|x) = 1/(1+e^-(b0 + b1x1 + b2x2 + … + bn*xn)) P(y=1∣x)=1/(1+e?(b0+b1x1+b2x2++bn?xn))

其中 P(y=1|x) 是給定輸入變量 x 時結果 y 為 1 的概率,b0 是截距,b1, b2, …, bn 是輸入變量 x1, x2, … 的系數, xn。通過在數據集上訓練模型并使用優化算法(例如梯度下降)來最小化成本函數(通常是對數損失)來確定系數。模型訓練完成后,就可以通過輸入新數據并計算結果為 1 的概率來進行預測。將結果分類為 1 或 0 的閾值通常設置為 0.5,但這可以根據情況進行調整具體任務以及誤報和漏報之間所需的權衡。

3.1 什么是邏輯函數?

邏輯函數,也稱為 s i g m o i d sigmoid sigmoid函數,是一條 S 形曲線,將任何實數值映射到 0 到 1 之間的值。它的定義為 f ( x ) = 1 / ( 1 + e ? x ) f(x) = 1 / (1 + e^-x ) f(x)=1/(1+e?x)其中 e 是自然對數的底。邏輯函數在邏輯回歸中用于對二元結果的概率進行建模。

在這里插入圖片描述

3.2 邏輯回歸可以用于多類分類嗎?

邏輯回歸可用于多類分類,方法是為每個類創建單獨的二元邏輯回歸模型并選擇預測概率最高的類。這被稱為一對一或一對一的方法。或者,我們可以使用 s o f t m a x softmax softmax回歸,它是邏輯回歸的推廣,可以直接處理多個類。

3.3 如何解釋邏輯回歸中的系數?

邏輯回歸中的系數表示在保持所有其他預測變量不變的情況下,預測變量發生一個單位變化時結果的對數幾率的變化。優勢比可用于解釋系數的大小。優勢比大于 1 表示預測變量增加一個單位會增加結果的可能性,而優勢比小于 1 表示預測變量增加一個單位會降低結果的可能性。

4、支持向量機(SVM)算法

支持向量機 (SVM) 是一種監督學習算法,可用于分類或回歸問題。SVM 背后的主要思想是通過最大化間隔(邊界與每個類最近的數據點之間的距離)來找到分隔數據中不同類的邊界。這些最接近的數據點稱為支持向量。

在這里插入圖片描述
當數據不可線性分離(這意味著數據不能用直線分離)時,SVM 特別有用。在這些情況下,SVM 可以使用稱為核技巧的技術將數據轉換為更高維的空間,其中可以找到非線性邊界。SVM 中使用的一些常見核函數包括多項式、徑向基函數 (RBF) 和 s i g m o i d sigmoid sigmoid

SVM 的主要優點之一是它們在高維空間中非常有效,并且即使在特征數量大于樣本數量時也具有良好的性能。此外,SVM 內存效率高,因為它們只需要存儲支持向量,而不是整個數據集。另一方面,SVM 對核函數和算法參數的選擇很敏感。還需要注意的是,SVM 不適合大型數據集,因為訓練時間可能相當長。總之,支持向量機(SVM)是一種強大的監督學習算法,可用于分類和回歸問題,特別是當數據不可線性分離時。該算法以其在高維空間中的良好性能以及發現非線性邊界的能力而聞名。然而,它對核函數和參數的選擇很敏感,也不適合大型數據集。

4.1 優點

  • 在高維空間中有效:即使當特征數量大于樣本數量時,SVM 也具有良好的性能。

  • 內存效率高:SVM 只需要存儲支持向量,而不需要存儲整個數據集,因此內存效率高。

  • 通用性:SVM 可用于分類和回歸問題,并且可以使用核技巧處理非線性可分離數據。

  • 對噪聲和異常值具有魯棒性:SVM 對數據中的噪聲和異常值具有魯棒性,因為它們僅依賴于支持向量。

4.2 缺點

  • 對核函數和參數的選擇敏感:SVM 的性能高度依賴于核函數的選擇和算法參數。

  • 不適合大型數據集:對于大型數據集,SVM 的訓練時間可能會相當長。

  • 解釋結果困難:解釋 SVM 的結果可能很困難,特別是在使用非線性核時。

  • 不適用于重疊類:當類有明顯重疊時,SVM 可能會遇到困難。

總之,SVM 是一種強大且通用的機器學習算法,可用于分類和回歸問題,特別是當數據不可線性分離時。然而,它們可能對核函數和參數的選擇敏感,不適合大型數據集,并且難以解釋結果。


5、結語

今天的分享到這里就結束啦!如果覺得文章還不錯的話,可以三連支持一下,春人的主頁還有很多有趣的文章,歡迎小伙伴們前去點評,您的支持就是春人前進的動力!
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40625.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40625.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40625.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

火山引擎聯合Forrester發布《中國云原生安全市場現狀及趨勢白皮書》,賦能企業構建云原生安全體系

國際權威研究咨詢公司Forrester 預測,2023年全球超過40%的企業將會采用云原生優先戰略。然而,云原生在改變企業上云及構建新一代基礎設施的同時,也帶來了一系列的新問題,針對涵蓋云原生應用、容器、鏡像、編排系統平臺以及基礎設施…

用棧解決有效的括號匹配問題

//用數組實現棧 typedef char DataType; typedef struct stack {DataType* a;//動態數組int top;//棧頂int capacity; //容量 }ST;void STInit(ST*pst);//初始化void STDestroy(ST* pst);//銷毀所有空間void STPush(ST* pst, DataType x);//插入數據到棧中void STPop(ST* pst);…

【業務功能篇65】maven加速 配置settings.xml文件 鏡像

maven加速 添加阿里鏡像倉 <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additi…

Kubernetes 調度約束(親和性、污點、容忍)

目錄 一、Pod啟動典型創建過程 二、調度流程 三、指定調度節點 1.使用nodeName字段指定調度節點 2.使用nodeSelector指定調度節點 2.1給對應的node節點添加標簽 2.2修改為nodeSelector調度方式 3.通過親和性來指定調度節點 3.1節點親和性 3.2Pod親和性與反親和性 3.2…

Vue CLI創建Vue項目詳細步驟

&#x1f680; 一、安裝Node環境&#xff08;建議使用LTS版本&#xff09; 在開始之前&#xff0c;請確保您已經安裝了Node.js環境。您可以從Node.js官方網站下載LTS版本&#xff0c;以確保穩定性和兼容性。 中文官網下載 確認已安裝 Node.js。可以在終端中運行 node -v 命令…

基于STM32設計的中藥分裝系統

一、設計需求 基于STM32設計的中藥分裝系統 【1】項目背景 中藥文化是我國文化瑰寶之一,它具有療效好、副作用小的優點,而且相對于西藥,全天然的中藥還具有標本兼治的特點,不僅可以用來治病,更可以對患者身體進行調理,所以格外受到當今一直追求生活質量的人們的追捧&quo…

在Spring Boot和Vue中實現請求過濾器以驗證請求頭中的Token

在Spring Boot應用程序中創建一個過濾器類&#xff0c;用于處理請求&#xff1a; Component public class AuthenticationFilter implements Filter {Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException,…

FastAPI入門

目錄 FastAPI FastAPI 是什么 為什么要用 FastAPI FastAPI 入門 安裝 用 FastAPI 寫個接口 調試接口 創建快捷請求 保存為快捷請求 發送請求 總結 FastAPI FastAPI 是什么 什么是 FastAPI 呢&#xff1f; FastAPI 是 Python 的一個框架&#xff0c;如果要類比的話…

ros編譯catkin_make/catkin build 報錯“string no output variable specified”

文章目錄 問題描述問題分析問題描述 CMake Error at /opt/ros/melodic/share/catkin/cmake/platform/lsb.cmake:8 (string):string no output variable specified Call Stack (most recent call first):/opt/ros/melodic/share/catkin/cmake/all.cmake:164 (include)/opt/ros/…

Django的簡介安裝與配置及兩大設計模式

一.Djang的介紹 1.Django是什么 Django 是使用 Python 語言開發的一款免費而且開源的 Web 應用框架。 由于 Python 語言的跨平臺性&#xff0c;所以 Django 同樣支持 Windows、Linux 和 Mac 系統。 在 Python 語言熾手可熱的當下&#xff0c;Django 也迅速的崛起&#xff0c;在…

javaScript:一分鐘看懂數組排序以及冒泡排序(重點)

目錄 一.前言 二.數組排序 sort&#xff08;&#xff09; 字符串大小的比較原則 字符編碼排序規則 如果使用sort從小到大排列 &#xff08;重點&#xff09; 函數的返回值 規則&#xff1a; 代碼 案例 數組打亂 sort相關代碼 三.冒泡排序&#xff08;重點&#xff…

【RocketMQ】NameServer總結

NameServer是一個注冊中心&#xff0c;提供服務注冊和服務發現的功能。NameServer可以集群部署&#xff0c;集群中每個節點都是對等的關系&#xff08;沒有像ZooKeeper那樣在集群中選舉出一個Master節點&#xff09;&#xff0c;節點之間互不通信。 服務注冊 Broker啟動的時候會…

【通俗易懂】如何使用GitHub上傳文件,如何用git在github上傳文件

目錄 創建 GitHub 倉庫 使用 Git 進行操作 步驟 1&#xff1a;初始化本地倉庫 步驟 2&#xff1a;切換默認分支 步驟 3&#xff1a;連接到遠程倉庫 步驟 4&#xff1a;獲取遠程更改 步驟 5&#xff1a;添加文件到暫存區 步驟 6&#xff1a;提交更改 步驟 7&#xff1a…

Chrome 手動代理設置 HTTP/Socks5

1、安裝代理插件&#xff1a;SwitchyOmega 在線安裝 從 Chrome 應用商店 安裝&#xff0c;如果您無法從該鏈接安裝&#xff0c;請使用下面的離線安裝。 離線安裝 ①、去 Github 下載 最新版安裝包 &#xff0c;或者直接 本地下載 文件進行安裝。 ②、下載安裝文件后&#xf…

[Vue warn]: Error in render: “SyntaxError: “undefined“ is not valid JSON“

[Vue warn]: Error in render: “SyntaxError: “undefined” is not valid JSON” 這說明出現了undefined這個變量類型&#xff0c;比如JSON.parse()時候會出現&#xff0c;可以先嘗試打印JSON.parse()括號中的內容是否是undefined&#xff0c;如果是&#xff0c;那問題的根源…

RenderDoc 導出Cubemap到UE

找到使用了Cubemap的模型,再Output里會顯示該模型使用的所有貼圖 ,選中Cubemap導出 選擇導出格式為HDR 導出的Cubemap是豎著的,需要再PS里逆時針旋轉&#xff19;&#xff10;度 還有&#xff0c;導出的的Cubemap方向是錯的,需要把3,4 跟1,2 對換,6旋轉180度 UE 文檔里的方向參…

Spring Boot @Validated 驗證注解的使用

1、引入依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency> 2、使用 2.1、非對象參數 參數如果是非對象格式&#xff0c;需要在controller類上面添…

JVM——HotSpot的算法細節實現

一、根節點枚舉 固定可作為GC Roots的節點主要在全局性的引用&#xff08;如常量或類靜態屬性&#xff09;與執行上下文&#xff08;如棧幀中的本地變量表&#xff09;中&#xff0c;盡管目標明確&#xff0c;但查找要做到高效很難。現在java應用越來越龐大&#xff0c;光方法區…

Code interpreter生成無聊的APP:病理圖像切割和提取

一、寫在前面 機器學習100步不夠分配了&#xff0c;所以開個新專欄&#xff0c;就叫做《Code interpreter生成無聊的APP》&#xff0c;旨在探索GPT-4官方插件Code interpreter的使用心路歷程。 主要靈感來源&#xff1a;聽戶主說&#xff0c;她們在做病理組學圖像標注和分割的…

如何用Apipost實現sign簽名?

我們平常對外的接口都會用到sign簽名&#xff0c;對不同的用戶提供不同的apikey ,這樣可以提高接口請求的安全性&#xff0c;避免被人抓包后亂請求。 如何用Apipost實現sign簽名&#xff1f; 可以在Apipost中通過預執行腳本調用內置的JS庫去實現預執行腳本是在發送請求之前自…