機器學習-線性模型

目錄

線性模型

1、線性回歸:

2、對數幾率回歸:

3、線性判別分析:

4、多分類學習:

5、類別不平衡問題:

基本數理知識補充:

損失函數:

凹凸函數

梯度下降


線性模型

????????線性模型形式簡單、易于建模,(如簡單的二元一次方程線性函數,復雜的線性函數,多維變量與因變量的關系)卻蘊涵著機器學習中的一些重要的基本思想。許多功能更為強大的線性模型可以在線性模型的基礎上通過引入層級結構或者高維映射而得。?幾種經典的線性模型(線性回歸、對數幾率回歸、線性判別分析、多分類學習)

1、線性回歸:

根據已有的數據確定一個函數然后預測,怎樣衡量函數的準確度呢,均方誤差是常用的,幾何意義上是求得一條線使得所有的樣本到直線的歐式距離之和最小,基于均方誤差最小化進行模型求解的方法稱為最小二乘法,以單變量為例f(x)=wx+b,求解w和b使得m代表有m個數據,通過使得所有數據誤差就和最小的w,b就是所要求得的最佳參數。

將求解公式等于0可求得w和b的最優封閉解

由此多元線性回歸的參數求解以同樣的思路求解,多參數轉為矩陣涉及到矩陣逆的計算,在不滿秩的時候經常會出現不止一組解使得均方誤差最小,涉及到選擇偏好,處理時加入正則化。也可以使用線性回歸的衍生物,即讓得到的模型和另外的函數產生關系lny=wx+b,這其實是輸入空間到輸出的一個非線性預測,對數線性回歸。

2、對數幾率回歸:

二分類任務的結果[0,1],而一般函數的輸出是實值,單位階躍函數以一定閾值劃分類別。但是單位階躍函數不連續不能直接作用于函數的輸出對數幾率函數常用的代替函數對數幾率函數(在神經網絡里有重要的作用)是一種sigmoid函數(S型函數)將z值轉化為一個接近0或1的y值。使用最大似然估計的方法來計算出w和b兩個參數的取值。

3、線性判別分析:

(LDA)經典的線性學習方法,基本思想是:將訓練樣本投影到一條直線上,使得同類的樣例盡可能近,不同類的樣例盡可能遠。如圖所示:

想讓同類樣本點的投影點盡可能接近,不同類樣本點投影之間盡可能遠,即:讓各類的協方差之和盡可能小,不用類之間中心的距離盡可能大。基于這樣的考慮,LDA定義了兩個散度矩陣。如圖:類內散度矩陣(越小越好)?類間散度矩陣(越大越好),最后得到了LDA的最大化目標:“廣義瑞利商”

最優化求解w的問題,當求解出w后對新的樣本進行分類時,只需將該樣本點投影到這條直線上,根據與各個類別的中心值進行比較,從而判定出新樣本與哪個類別距離最近。

4、多分類學習:

多分類的問題常常是使用差分策略,通過二分類學習來解決多分類問題,即將多分類問題拆解為多個二分類訓練二分類學習器最后通過繼承得到結果,最經典拆分策略有三種:“一對一”(OvO)、“一對其余”(OvR)和“多對多”(MvM),核心思想與示意圖如下所示:

1)OvO:給定數據集D假定其中有N個真實類別,將這N個類別進行兩兩配對(一個正類/一個反類),從而產生N(N-1)/2個二分類學習器,在測試階段,將新樣本放入所有的二分類學習器中測試,得出N(N-1)個結果,最終通過投票產生最終的分類結果。訓練N個分類器,開銷較大。
?2)OvM:給定數據集D假定其中有N個真實類別,每次取出一個類作為正類,剩余的所有類別作為一個新的反類,從而產生N個二分類學習器,在測試階段得出N個結果若僅有一個學習器預測為正類,則對應的類標作為最終分類結果。優時也要考慮預置置信度的大小確定類別。
? 3)MvM:給定數據集D假定其中有N個真實類別,每次取若干個類作為正類,若干個類作為反類(通過ECOC碼給出編碼),若進行了M次劃分,則生成了M個二分類學習器,在測試階段(解碼),得出M個結果組成一個新的碼,最終通過計算海明/歐式距離選擇距離最小的類別作為最終分類結果。

5、類別不平衡問題:

指分類問題中不同類別的訓練樣本相差懸殊的情況,在分類是實際上是輸出的y值是與一個閾值比較,y反應的是一個類別被劃分的可能性大小,閾值是0.5表明正反兩類結果可能性一致,一般情況下假設訓練集無偏差的,因此觀測幾率就代表真實幾率,則如果出現,則預測就為正例,但是預測其實依靠y/1-y是否大于來判斷,這要求對預測值進行微調,即根據此公式判斷是實際上是依靠,,但是此時依據假設樣本絕對均勻,但是這種假設不成立,需要多樣本盡可能處理,常見的處理這種問題的做法有三種:在訓練樣本較:

1)多的類別中進行“欠采樣”(undersampling),使得正反接近再學習,常見的算法有:EasyEnsemble。
2)在訓練樣本較少的類別中進行“過采樣”(oversampling),例如通過對反例中的數據進行插值,來產生額外的反例,常見的算法有SMOTE。
3)直接基于原數據集進行學習,對預測值進行“再縮放”處理。?再縮放也是代價敏感學習的基礎。

具體代碼示例?

python3+TensorFlow 2.x(二) 回歸模型_tensorflow2的線性回歸模型舉例-CSDN博客

基本數理知識補充:

損失函數:

是用來衡量模型預測結果與真實標簽之間差距的函數。它告訴我們模型預測的“錯誤”有多大。損失函數的值越小,說明模型預測越準確。訓練模型的目標就是通過優化算法(如梯度下降)最小化損失函數。

凹凸函數

凸函數:函數圖像呈“碗”形,任何兩點連線都在函數圖像上方。對凸函數,局部最小值就是全局最小值。梯度下降在凸函數上能保證找到全局最優解。

非凸函數:可能有多個局部極小值,梯度下降可能陷入局部最優。

梯度下降

導數:導數表示函數在某一點的瞬時變化率。簡單來說:導數告訴我們函數曲線在某點的切線斜率。斜率正,函數在該點往上升;斜率負,函數往下降。斜率為零,函數在該點可能達到極值(最大值或最小值)。

梯度下降是一種迭代優化算法,用于尋找函數的最小值(或最大值,通常最小值)。核心思想:從一個初始點開始,計算函數在該點的梯度(導數)。梯度指示函數上升最快的方向,反方向就是下降最快的方向。沿著梯度的反方向移動一定步長(學習率),函數值會減小。不斷重復這個過程,最終會收斂到函數的局部最小值。

學習率大小的影響

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

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

相關文章

Git上傳代碼如何解決Merge沖突

示例 解決方案 1、第一步切到本地的主分支 git checkout master2、拉取線上最新的代碼 git pull3、切到本地自己的分支 gco feat-xx4、將代碼從master變基&#xff08;移動/合并&#xff09;過來 git rebase master5、手動解決沖突 <<<<<<< HEAD 本…

fluentd + elasticsearch + grafana 不能顯示問題

fluentd中配置log 源文件后&#xff0c;再配置elasticsearch后&#xff0c; elasticsearch pod中查詢日志記錄正常。 修改log 文件 后&#xff0c; elasticsearch pod中查詢日志記錄更新也正常。 但是在grafana中添加elasticsearch data source后&#xff0c; 連接正常&#…

《分布式事務新形態:AT模式如何被Seata TCC擊穿》的深度解析,包含AT死鎖原理/TCC原子性保障/Service Mesh深度集成三大硬核模塊

一、AT模式的死刑判決&#xff1a;全局鎖引發的血案 1.1 死鎖現場還原&#xff08;支付寶真實案例&#xff09; 1.2 全局鎖原理與缺陷 二、TCC模式的絕地反擊&#xff1a;原子性保障三板斧 2.1 TCC核心架構設計 2.2 冪等控制原子防護網 三、Service Mesh深度集成&#xf…

【Elasticsearch】es初識,在項目架構中的用途,與mysql和kafka的配合使用,

ES是一個開源的高擴展的分布式全文檢索引擎 在項目已有mysql增刪改查的情況下&#xff0c;新增kafka&#xff0c;es流程 用戶新增/修改商家&#xff08;寫MySQL&#xff09; ↓ Kafka 生產者發送商家數據消息 ↓ Kafka 消費者監聽消息 → 寫入 Elasticsearch ↓ 前端搜索商家時…

【DataWhale組隊學習】AI辦公實踐與應用-數據分析

AI辦公&#xff1a;數據分析 1. 使用大模型進行數據分析的常見流程 把數據扔給AI讓AI自動分析&#xff0c;并告訴你結果 下面我們對上面兩個步驟進行詳細說明 2. 使用大模型進行數據分析 2.1 將數據扔給大模型 2.1.1 選擇合適的辦公大模型 要使用大模型進行數據分析時&a…

5G 浪潮:發展全景、困境突圍與未來航向

在當今數字化浪潮中&#xff0c;5G 技術宛如一顆璀璨的明星&#xff0c;照亮了各個行業前行的道路。自 5G 正式商用以來&#xff0c;它不僅深刻改變了人們的生活方式&#xff0c;更在工業、農業、交通等領域掀起了一場數字化轉型的革命。本文將深入探討 5G 技術的原理、發展現狀…

理論加案例,一文讀懂數據分析中的分類建模

一、什么是分類 分類&#xff0c;是數據建模領域的重要分支&#xff0c;你每天也都會接觸。 手機垃圾短信過濾&#xff0c;就是分類算法給短信打的標簽&#xff0c;比如0代表正常短信&#xff0c;1代表垃圾短信。 在醫學領域&#xff0c;根據影像檢查判斷腫瘤是良性還是惡性。…

數組題解——二分查找【LeetCode】

704. 二分查找 算法邏輯分析 初始化邊界 left 設為0&#xff0c;right 設為len(nums)&#xff0c;表示左閉右開區間 [left, right)。這意味著搜索區間包含下標left&#xff0c;但不包含下標right。 循環條件 while left < right:&#xff0c;只要left小于right&#xff0c…

Function AI 工作流發布:以 AI 重塑企業流程自動化

作者&#xff1a;寒斜 在 AI 技術飛速發展的今天&#xff0c;企業的流程自動化方式也正在發生深刻變革。過去&#xff0c;流程自動化往往依賴于人工配置和固定規則&#xff0c;難以適應復雜、多變的業務場景。而如今&#xff0c;隨著 LLM&#xff0c;Agent&#xff0c;MCP 等節…

【單元測試】單元測試的定義和作用

介紹 ?單元測試不僅是對函數進行測試&#xff0c;還包括對類、組件等最小可測試單元的測試?。單元測試是對軟件中的最小可測試單元進行驗證的過程&#xff0c;這些單元可以是函數、方法、類或組件等。單元測試的主要目的是確保這些最小單元在隔離的環境中能夠正確地實現其功…

AI 輔助生成 Mermaid 流程圖

文章目錄 背景Mermaid使用 AI 編寫 Mermaid應用 背景 在 markdown 文檔中雖然可以插入圖片&#xff0c;但是也需要管理圖片&#xff0c;一旦圖片位置變了&#xff0c;文檔中的圖片就無法顯示。圖片占用空間較大&#xff0c;對于在線文檔&#xff0c;為了加載速度&#xff0c;能…

定位坐標系深度研究報告

一、引言 定位坐標系是用于描述地理位置的數學工具&#xff0c;其發展與人類對地球形狀的認知和技術需求密切相關。早期的定位依賴于天文觀測&#xff08;如經緯度&#xff09;&#xff0c;現代則結合衛星技術&#xff08;如GPS&#xff09;和數學投影方法&#xff08;如墨卡托…

數字孿生技術引領UI前端設計潮流:沉浸式體驗的新篇章

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 當虛擬世界與物理現實的邊界逐漸模糊&#xff0c;數字孿生技術正以燎原之勢重構 UI 前端設計的…

VR油庫虛擬仿真系統:開啟智慧油庫新時代

在科技快速發展的當下&#xff0c;VR 技術在多行業廣泛應用&#xff0c;以沉浸式等特點重塑行業模式。油庫作為石油儲存與轉運關鍵樞紐&#xff0c;傳統運營管理依賴人工經驗和常規設備&#xff0c;存在安全風險高、培訓成本大等問題。在此背景下&#xff0c;油庫引入 VR 虛擬仿…

Oracle獲取前100條記錄

在Oracle數據庫中&#xff0c;獲取前100條記錄可以通過多種方式實現&#xff0c;最常見的方法是使用ROWNUM或者在較新版本的Oracle中使用FETCH FIRST子句。以下是幾種常見的方法&#xff1a; 方法1&#xff1a;使用ROWNUM ROWNUM是Oracle特有的一個偽列&#xff0c;用于為結果…

【開源庫 | libpng】使用 libpng 讀寫 png 文件詳細教程(附帶源碼)

&#x1f601;博客主頁&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客內容&#x1f911;&#xff1a;&#x1f36d;嵌入式開發、Linux、C語言、C、數據結構、音視頻&#x1f36d; &#x1f923;本文內容&#x1f923;&a…

Nuttx之nxsched_add_readytorun(non-SMP)

聲明&#xff1a;此處代碼分析&#xff0c;來源與 nuttx 12.8.0版本。 在分析之前&#xff0c;需要一圖鎮樓。 /***************************************************************************** Name: nxsched_add_readytorun** Description:* This function adds a TCB …

Nuttx之nxsched_add_blocked

聲明&#xff1a;此處代碼分析&#xff0c;來源與 nuttx 12.8.0版本。 在分析之前&#xff0c;需要一圖鎮樓。 /***************************************************************************** Name: nxsched_add_blocked** Description:* This function adds a TCB to o…

python 包含虛擬環境venv項目的移動

python 包含虛擬環境venv項目的移動 在ubuntu環境下&#xff0c;移動一個包含venv虛擬環境的項目后&#xff0c;在執行時會報錯: 錯誤1&#xff1a; Traceback (most recent call last):File "app.py", line 2, in <module>from flask import Flask, request…

WPF中實現TreeView的SelectedItem雙向綁定到ViewModel

WPF中實現TreeView的SelectedItem雙向綁定到ViewModel WPF中實現TreeView的SelectedItem雙向綁定到ViewModel問題背景解決方案一&#xff1a;附加行為&#xff08;推薦&#xff09;實現步驟優點 解決方案二&#xff1a;通過IsSelected屬性綁定實現步驟注意事項 兩種方案對比補充…