機器學習框架(1)

以吳恩達的《機器學習》課程為藍本,整理課程框架,自己學習的簡單記錄。
課程講解很清楚,建議有空可以看看原課程。

01 單變量線性回歸

回歸偏向于連續屬性,分類偏向于離散屬性。
監督學習是給定標簽的學習;而無監督學習,未給定標簽,以聚類算法為典型。

1.1 模型表達

對于單變量,一種可能的表達方式為:表達式1

1.2 代價函數

代價函數可簡單理解為,表達的是模型所預測的值與訓練集中實際值之間的差距(即,建模誤差)。常用表達式為:
表達式2
也有其他代價函數,只是上述比較常用。
可畫圖,觀察不同參數對代價函數的影響。

1.3 梯度下降

梯度下降是一個用來求函數最小值的算法。
梯度下降背后的思想是:開始時我們隨機選擇一個參數的組合,計算代價函數,然后我們尋找下一個能讓代價函數值下降最多的參數組合。我們持續這么做直到到到一個局部最小值(local minimum),因為我們并沒有嘗試完所有的參數組合,所以不能確定我們得到的局部最小值是否便是全局最小值(global minimum)。
選擇不同的初始參數組合,可能會找到不同的局部最小值。
批量梯度下降(batch gradient descent)算法的公式為:
批量梯度下降其中α是學習率(learning rate),它決定了我們沿著能讓代價函數下降程度最大的方向向下邁出的步子有多大。
α太小,移動可能很慢,需要很久才能達到局部/全局最低點。
α太大,移動步伐太大,可能會超過最低點,無法收斂。

注意參數需要同時更新(代碼部分容易不同步):
同步更新

02 多變量線性回歸

只是參數變多,其他處理和單變量類似。
求出最優解的方式,引入“正規方程”:
正規方程
比較

03 邏輯回歸

3.1 邏輯函數

一個常用的邏輯函數為 S 形函數(Sigmoid function),公式為:
公式
函數圖像為:
函數圖像
假定:
在這里插入圖片描述
?(x)的作用是,對于給定的輸入變量,根據選擇的參數計算輸出變量=1 的可能性。如:
解釋說明

3.2 判定邊界

已知,z=0, g(z)=0.5,則邊界條件為z=0時的條件,且有:
在這里插入圖片描述

3.3 代價函數

代價函數
函數有許多局部最小值,將會影響梯度下降算法尋找全局最小值。
對比

3.4 簡化的成本函數和梯度下降

上面的表達式可以變化為:
代價函數
最小化代價函數的方法,是使用梯度下降法(gradient descent)。
需要反復更新每個參數,式子如下:
更新式子優化代價函數的不同方法,共軛梯度法 BFGS (變尺度法) 和 L-BFGS (限制變尺度法)

04 正則化

4.1 過擬合問題

過擬合問題
第一個模型是一個線性模型,欠擬合,不能很好地適應我們的訓練集;第三個模型是一個四次方的模型,過于強調擬合原始數據,而丟失了算法的本質:預測新數據。
對于第三個模型,可以看出,若給出一個新的值使之預測,它將表現的很差,是過擬合,雖然能非常好地適應我們的訓練集但在新輸入變量進行預測時可能會效果不好;而中間的模型似乎最合適。
出現過擬合問題,常從兩個角度思考處理方法:
1)丟棄一些不能幫助我們正確預測的特征(如PCA)
2)正則化。(保留所有的特征,但是減少參數的大小)

4.2 代價函數

若在之前的回歸問題中,我們的模型為:
過擬合的模型
我們可以清楚,是高次項導致了過擬合的產生,嘗試思考在一定程度上讓高次項的系數減小。
因此,我們嘗試對代價函數進行修改,對高次項的系數設置一些“懲罰”。這樣做的話,是嘗試最小化代價時將這個“懲罰”也納入考慮,并導致最終選擇較小一些的高次項的系數。
修改后的代價函數為:
修改后的代價函數假如有非常多的特征,不知道其中哪些特征我們要懲罰,直接將對所有的特征進行懲罰,并且讓代價函數最優化的軟件來選擇這些懲罰的程度。
這樣得到了一個較為簡單的能防止過擬合問題的假設:
修正公式
其中,λ也被稱為“正則化參數”。
根據慣例,我們不對 公式進行懲罰。
注意,正則化參數λ不可過大,過大則會把所有參數都最小化。

對于邏輯回歸的正則化表達式為:
正則化表達式

05 神經網絡

了解基本結構:輸入層,隱含層,輸出層。
將神經網絡的分類定義為兩種:二類分類和多類分類。
從前往后,算到最后一層輸出的預測方式,稱為正向傳播方法。

5.1 代價函數

原來只有一個輸出變量時的代價函數為:
代價函數
我們可以有多個輸出變量。這里假設我們的輸出維度為K,即K個輸出變量,代價函數更新為:
代價函數2
這個更復雜一點的代價函數,與之前代價函數的區別是:
對于每一行特征,我們都會給出K個預測。利用循環,對每一行特征都可預測出K個不同結果,然后再利用循環在K個預測中選擇可能性最高的一個,將其與y中實際數據進行比較。

5.2 反向傳播算法

之前在計算神經網絡預測結果時,我們采用的是正向傳播方法,即從第一層正向到最后一層的計算。
但是,為了計算代價函數的偏導數,偏導數,我們需要采用的事一種反向傳播算法。即,先計算最后一層的誤差,再從后往前,求出一層又一層的誤差。
以一個四層的神經網絡為例:
向前傳播
從最后一層的誤差開始計算,誤差是激活單元表達式之間的誤差。
誤差表達
由于第一層是輸入變量,故不存在誤差。
當有了所有誤差的表達式后,便可以計算代價函數的偏導數:
計算其中,
l代表目前所計算的是第幾層。
j代表目前計算層中的激活單元的下標,也將是下一層的第j個輸入變量的下標。
i代表下一層中誤差單元的下標,是受到權重矩陣中第i行影響的下一層中的誤差單元的下標。
PS:反向傳播會有點難以理解,先學會用,再說是否搞明白了原理。

5.3 梯度檢驗

對一個較為復雜的模型(例如神經網絡)使用梯度下降算法時,可能會存在一些不容易察覺的錯誤。即,雖然代價看上去在不斷減小,但最終的結果可能并不是最優解。
為了避免這樣的問題,采取一種叫做梯度的數值檢驗(Numerical Gradient Checking)方法。這種方法,是通過估計梯度值來檢驗計算出的導數值是否真的是要求的。
對梯度的估計采用的方法,是在代價函數上沿著切線的方向,選擇離兩個非常近的點,然后計算兩個點的平均值用以估計梯度。

5.4 模型的檢驗

通常將數據集分為訓練集、交叉驗證集、測試集。
例如,下面按照6:2:2 的比例分:
模型檢驗

5.5 診斷偏差和方差

當運行一個學習算法時,如果這個算法的表現不理想,常為兩種情況:偏差比較大;方差比較大。對應的問題就是欠擬合和過擬合的問題。
例如:
示意圖
通常會通過將訓練集和交叉驗證集的代價函數誤差與多項式的次數繪制在同一張圖表上來幫助分析:
示意圖2
對于訓練集,當d 較小時,模型擬合程度更低,誤差較大;隨著d的增長,擬合程度提高,誤差減小。
對于交叉驗證集,當d較小時,模型擬合程度低,誤差較大;但是隨著d的增長,誤差呈現先減小后增大的趨勢,轉折點是我們的模型開始過擬合訓練數據集的時候。
則有:
示意圖3
訓練集誤差和交叉驗證集誤差近似時:偏差/欠擬合
交叉驗證集誤差遠大于訓練集誤差時:方差/過擬合

5.6 正則化和偏差/方差

在訓練模型的過程中,常會使用一些正則化方法來防止過擬合。
但可能會正則化的程度太高或太小了,即在選擇 λ 的值時,也需要注意λ的選擇問題。
示意圖4
我們選擇一系列的想要測試的λ值,通常是 0-10 之間的呈現 2 倍關系的值(如:0,0.01,0.02,0.04,0.08,0.15,0.32,0.64,1.28,2.56,5.12,10共 12 個)。
同樣把數據分為訓練集、交叉驗證集和測試集。將訓練集和交叉驗證集模型的代價函數誤差與 λ 的值繪制在一張圖表上。

5.7 學習曲線

也可使用學習曲線來判斷某一個學習算法是否處于偏差、方差問題。
對于高偏差/欠擬合:作為例子,嘗試用一條直線來適應下面的數據,可以看出,無論訓練集有多么大誤差都不會有太大改觀:
欠擬合
即,在高偏差/欠擬合的情況下,增加數據到訓練集不一定能有幫助。

對于高方差/過擬合:假設使用一個非常高次的多項式模型,并且正則化非常小,可以看出,當交叉驗證集誤差遠大于訓練集誤差時,往訓練集增加更多數據可以提高模型的效果。
高方差
即,在高方差/過擬合的情況下,增加更多數據到訓練集可能可以提高算法效果。
解決思路:

  1. 獲得更多的訓練實例——解決高方差
  2. 嘗試減少特征的數量——解決高方差
  3. 嘗試獲得更多的特征——解決高偏差
  4. 嘗試增加多項式特征——解決高偏差
  5. 嘗試減少正則化程度 λ——解決高偏差
  6. 嘗試增加正則化程度 λ——解決高方差

5.8 其他概念

類偏斜情況表現為:訓練集中有非常多的同一種類的實例,只有很少或沒有其他類的實例。
例如,我們希望用算法來預測癌癥是否是惡性的。在我們的訓練集中,只有 0.5%的實例是惡性腫瘤。假設我們編寫一個非學習而來的算法,在所有情況下都預測腫瘤是良性的,那么誤差只有 0.5%。然而我們通過訓練而得到的神經網絡算法卻有 1%的誤差。這時,誤差的大小是不能視為評判算法效果的依據的。
因此,我們將算法預測的結果分為四類:

  1. 正確肯定(True Positive,TP):預測為真,實際為真
  2. 正確否定(True Negative,TN):預測為假,實際為假
  3. 錯誤肯定(False Positive,FP):預測為真,實際為假
  4. 錯誤否定(False Negative,FN):預測為假,實際為真
    定義:
    查準率=TP/(TP+FP)。例,在所有我們預測有惡性腫瘤的病人中,實際上有惡性腫瘤的病人的百分比,越高越好。
    查全率=TP/(TP+FN)。例,在所有實際上有惡性腫瘤的病人中,成功預測有惡性腫瘤的病人的百分比,越高越好。
    對于剛才那個總是預測病人腫瘤為良性的算法,其查全率是 0。
    因此,查準率和查全率,可作為遇到偏斜類問題的評估度量值。再很多應用中,我們希望能夠保證查準率和查全率的相對平衡。

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

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

相關文章

AI Ready數據庫,OceanBase打了一個樣

大數據產業創新服務媒體 ——聚焦數據 改變商業 過去一年,企業對AI的興趣不減。從接入大模型,到部署RAG(檢索增強生成)系統、探索AI Agent,AI從“新技術”變成了“業務工具”的候選項。但一個技術能否真正落地&#x…

趣味數據結構之——鏈

記得數組嗎,一個蘿卜一個坑的想象。在數組的世界里我們就是第三視角,置身于坑外的。如果我們是二維平面上的生物,那數組就是一維的線,我們可以隨機訪問,增刪查改,也可以一眼看出數組大小。 那么對于鏈來說…

構建低代碼平臺的技術解析

低代碼平臺表單引擎與業務事件設計實踐 低代碼平臺表單引擎與業務事件設計實踐一、什么是低代碼?它能做什么?二、請假系統案例介紹2.1 主要功能2.2 業務流程 三、表單元數據、實例數據與業務事件聯動設計3.1 表單元數據(Meta)如何…

Hive SQL 快速入門指南

在大數據蓬勃發展的當下,處理海量數據成為企業面臨的關鍵挑戰。Hive SQL 作為一款強大的工具,為我們打開了高效處理大數據的大門。接下來,讓我們一起踏上 Hive SQL 的入門之旅。? 一、Hive SQL 是什么? Hive 是基于 Hadoop 的數據倉庫工具…

國內公司把數據湖做成了數據庫

在做多年的數據倉庫項目,數據湖也在做,但是做完發現,這個不是傳統數據庫里面的ODS嗎? 好多公司做數據湖,就是把數據湖做成了ODS層(貼源數據層),難道真的數據湖就是這樣等于ODS嗎&am…

Python 數據分析與可視化 Day 6 - 可視化整合報告實戰

🎯 今日目標 整合數據分析與可視化結果生成結構化報告用代碼自動生成完整的圖文分析文檔熟悉 Jupyter Notebook / Markdown 圖表 報告生成流程 🧩 一、項目背景:學生成績分析報告 數據來源:students_cleaned.csv(含姓…

服務器、樹莓派/香橙派部署HomeAssistant與小愛音箱聯動

HomeAssistant功能介紹與多平臺部署實戰:CentOS服務器、樹莓派、香橙派部署及小愛音箱聯動控制 一、HomeAssistant簡介 HomeAssistant是一款基于Python開發的開源智能家居自動化平臺,它最大的特點是高度集成和自定義。通過HomeAssistant,用…

內存泄漏系列專題分析之二十四:內存泄漏測試Camera相機進程內存指標分布report概述

【關注我,后續持續新增專題博文,謝謝!!!】 上一篇我們講了: 這一篇我們開始講: 內存泄漏系列專題分析之二十四:內存泄漏測試Camera相機進程內存指標分布report概述 目錄 一、問題背景 二、:內存泄漏測試Camera相機進程內存指標分布report概述 2.1:Camera領域相機進…

華為堆疊理論及配置

一,堆疊基本概念 1.1交換機角色 主交換機(Master):主交換機負責管理整個堆疊。**堆疊系統中只有一臺主交換機。**備交換機(Standby):備交換機是主交換機的備份交換機。堆疊系統中只有一臺備交換…

【數字經濟】數據即產品架構在數字經濟時代的應用

數據即產品架構在數字經濟時代的應用 在數字經濟中,數據已成為核心生產要素,“數據即產品”(Data-as-a-Product)架構通過系統化封裝原始數據,實現其可交易、可交付的產品化價值。以下是其架構設計與應用解析&#xff…

MySQL 中的時間序列數據分析與處理

在互聯網應用和企業業務系統中,特別是現在當下環境電商以及跨境電商火爆的情況下,時間序列數據無處不在,如電商訂單時間、用戶登錄日志、設備監控數據等。MySQL 作為主流數據庫,具備強大的時間序列數據處理能力。本文將結合電商訂…

STM32——MDK5編譯和串口下載程序+啟動模式

一、MDK5編譯 1.1 編譯中間文件 還可通過 .map文件計算程序大小 中間文件 > 下載到開發板中的文件 > .hex 二、串口下載 2.1 前提須知 2.2 串口硬件鏈接(M3、M4系列) M7無串口下載 PC端需安裝 CH340 USB 虛擬串口驅動:CH340 USB 虛…

HyperWorks仿真案例:拓撲優化與激光增材制造的完美結合挖掘輕量化結構的新潛力

許多技術創新都基于自然界中生物結構的設計。通過不斷進化,大自然在數百萬年間已學會根據各種形狀的功能對形狀進行調整,從而最大程度地提高效率。當工程師設法構建堅固而輕盈的結構時,這些自然界中的示例可以提供重要線索。在目前的研究項目…

在Windows系統部署本地智能問答系統:基于百度云API完整教程

引言 在人工智能時代,搭建私有化智能問答系統能有效保護數據隱私并提升響應效率。本教程將手把手教你在Windows環境中,通過百度云API構建專屬智能問答系統,全程無需服務器,僅需本地計算機即可運行! 一、環境準備 系統…

Vue的watch函數實現

<script setup> import { watch, ref, reactive, toRefs } from vue;const count ref(0); const obj reactive({name: 張三,age: 18 });// 我們可以使用toRefs&#xff0c;將reactive對象中的屬性轉換為ref對象&#xff0c;保持響應性&#xff01;&#xff01; const {…

Tomcat 安裝使用教程

&#x1f4cc; 什么是 Tomcat&#xff1f; Apache Tomcat 是一個開源的 Java Servlet 容器&#xff0c;也是運行 Java Web 應用最常用的服務器之一&#xff0c;支持 Servlet、JSP 等規范。 &#x1f9f0; 一、準備工作 1. 系統要求 操作系統&#xff1a;Windows / Linux / m…

【邀請】點擊邀請鏈接參加阿里云訓練營活動,完成學習送禮品+戶外折疊凳,一個小時就能完成

點擊邀請鏈接參加阿里云訓練營活動&#xff0c;完成學習送禮品戶外折疊凳&#xff0c;快的話一個小時就能完成。 7月28日23:59前完成。 OSS進階應用與成本優化訓練營 禮品如下&#xff1a; 包尖鋼筆/祈福小神仙積木/雨傘/不銹鋼餐具隨機發放 戶外折疊凳

用戶行為序列建模(篇六)-【阿里】DSIN

簡介 DSIN&#xff08;Deep Session Interest Network&#xff09;是阿里巴巴于2019年提出的點擊率預估模型。相比于DIN、DIEN&#xff0c;考慮了用戶行為序列的內在結構&#xff08;序列是由session組成的&#xff0c;在每個session內&#xff0c;用戶行為是高度同構的&#…

現代Web表情選擇器組件:分類系統與實現詳解

你好呀&#xff0c;我是小鄒。今天給博客的emoji表情進行了歸類、補充&#xff0c;具體優化如下。 表情選擇器的核心價值在于其分類系統。本文將深入解析表情分類體系的設計與實現&#xff0c;通過完整代碼示例展示如何構建一個專業級的表情選擇器組件。 一、表情分類系統設計…

華為云Flexus+DeepSeek征文 |華為云ModelArts Studio集成OpenAI Translator:開啟桌面級AI翻譯新時代

華為云FlexusDeepSeek征文 |華為云ModelArts Studio集成OpenAI Translator&#xff1a;開啟桌面級AI翻譯新時代 引言一、ModelArts Studio平臺介紹華為云ModelArts Studio簡介ModelArts Studio主要特點 二、OpenAI Translator介紹openai-translator簡介openai-translator主要特…