吳恩達 Machine Learning(Class 3)

Week 1

1.1 K-means?

Cluster centroid

  • K-means 是無監督學習中聚類算法的一種,核心在于更新聚類質心;
  • 首先將每個點分配給幾個聚類質心,取決于那些點離哪個質心更近;然后將幾個聚類質心移動到分配給他的所有點的平均值,不斷重復,直到沒有點更改類別;

K-means algorithm

  • 如果一個簇里面沒有點分配給他,最常見的方法就是消除一個簇;
  • 總的來說,減少?cost 的兩步:就近分配中心點,中心點移動到平均點;

  • 對于沒有很好分離的樣本族群:

Optimization objective

  • x^{(i)}?指的每個點,c^{(i)}?指的每個點被分配給的簇,\mu _{k}?是簇質心位置,\mu _{c}(i)?指?x^{(i)}?所屬簇的質心位置;
  • 損失 J = 每個數據到其最近質心的距離平方的平均值;

  • 這個損失函數還有一個別名:失真函數(distortion funtion);

Initializing K-means

  • 更常見的初始化質心位置的方法:將質心分配到幾個訓練數據的位置上;

  • 在經過多次的隨機初始化后,選取 J 最低的初始化方式;

Choosing the value of K

  • 如何選擇聚類的數量 K,需要平衡 K 與 J 的關系,但是一般不會為了降低 J 而增加 K;

  • 最合適的選擇還是和實際情況相結合:

1.2 Anomaly Detection

Example and Solution

  • 這里記錄的數據為飛機引擎溫度與振動強度,越接近密集區的數據越正常,越偏離越異常;

  • 一種最常見的方法是密度估計:

Gaussion/Normal Distribution

  • 正態分布:

  • 越接近中間的數據越正常:

Algorithm

  • 概率密度函數不表示概率,但是概率密度函數的值可以表示取這個值附近的點的概率;
  • 計算每個特征的概率密度,然后累乘,最后比較;

  • 二維的正態分布如果是獨立的,那么聯合概率分布就等于兩個相乘;
  • 將計算出的概率密度與預先設定好的?\varepsilon?相比較,如果小于它,則為異常;

Evaluating system

  • 評估系統:設立交叉驗證集和測試集,或者只保留交叉驗證集,訓練集不包含異常數據;
  • 相當于用無標注的訓練集訓練出一個特定均值和方差的正態分布,并默認兩端的極值是不正常的。再通過測試集來調整閾值,使得閾值之上的都是正常的,閾值之外的都是不正常的。

  • 利用交叉驗證集和傾斜數據集里的F1 score計算出最合適的?\varepsilon

Compared with supervised learning

  • 異常檢測面對未知異常情況,監督學習面對已知異常的所有可能;
  • 本質區別:一個反向排除,一個正向學習;

Choosing featrues

  • 選擇更接近高斯分布的特征集,或者將其轉化為類似高斯分布的特征集;

  • 如果已有特征無法分辨該數據是否異常(計算得出是異常,但與其他示例又十分接近),則試圖找出是什么讓我認為是一個異常,由此識別出新特征;

  • 組合原有特征合成新的特征:

Week 2

2.1 Recommender System

Making recommendations

  • 電影評分:r(i, j) 表示用戶 j 是否對電影 i 進行評分,y(i, j) 表示用戶 j 對電影 i 的評分;
  • n_{u}?為用戶數,n_{m}?為電影數;

Using featrues

  • n 為特征數,這里為每個用戶構建一個線性模型:

  • m^{(j)}?表示用戶 j 有評分的電影數量,注意這里求和的是 r = 1 的用戶,就是有評分的數據;;
  • 計算損失:

Collaborative filtering algorithm?

  • 協同過濾算法:特征向量未知,但是參數 w, b 已知;
  • 也就是說我們可以通過用戶對電影的評分然后計算出參數 w 和 b。然后計算出 w 和 b 后,就可以通過數據來預測對未知電影特征進行評分;

  • 計算損失:注意這里的正則化是用 x 而不是 w;

  • 結合兩個損失公式,得到總體成本函數(類似線性回歸,但是包含三個變量):
  • 這里的求和項只是變了一種形式而已。第一個表示先對列求和,在對行求和。第二個則表示先對行求和,再對列求和。最后這個再形式上化簡了,沒有行和列的概念。直接對每個(i,j)對求和;

Binary labels

  • 二進制標簽應用:1代表看到了且參與,0代表看到了但是未參與,?代表沒有看到;

  • 計算損失(類似 logistic 回歸,只是包含三個參數):

2.2 Mean Normalization

  • 均值歸一化:一個新用戶,沒有任何信息,但是我們不能不給TA推東西,所以要靠取均值來進行冷啟動;這里做的是行歸一化,參數初始化為 0;
  • 行歸一是對于新用戶的預測更加合理,列歸一是對于新電影的預測更加合理;

2.3 Finding related terms

  • 通過計算兩個特征向量間的差平方和,從而判斷兩者是否相似:

Cold start

  • 協同過濾的限制:1.冷啟動問題(初始數據不足)2.難以利用其他信息;

2.4 Content-based filtering

Compared with Collborative filtering

  • 基于內容過濾:通過用戶和電影的特征,計算兩者間的匹配度;

  • x_{u}?和?x_{m}?分別代表用戶,電影的特征向量:

Learning to match

  • 通過?x_{u}?和?x_{m}?計算出?v_{u}?和?v_{m},并且兩者大小需要相同,然后進行點積計算得到用戶對某電影的預估分數:

Neural network?

  • 利用神經網絡將特征向量變換為?v_{u}?和?v_{m},可以做點積得到電影預估分數,也可以再利用一次 logistic 回歸計算喜歡概率:

  • 計算損失:

  • 還可以利用這個方法區找到相似電影:

2.5 Large catalogue

Retrieval

  • 第一步是檢索:按照計算出的最相似的電影、常看題材的Top10、總榜單Top20,并且刪除已經看過的,可以先得到一個粗略的較大列表;

Ranking

  • 第二步:將檢索的電影帶入模型計算預測分數,按照分數進行排名推薦;

Week 3

3.1 Reinforcement Learning

  • 強化學習:核心在于指定一個獎勵函數,告訴它什么時候做得好,什么時候做的不好,算法的工作是自動找出如何選擇好的動作;

Mars Rover Example

  • 火星探測器:這里的(s,a,R(s),s')表示(狀態,動作,當前狀態的獎勵,下一個狀態);

Return

  • 強化學習的回報:每走一步都要乘以一個折扣因子,由此計算回報;

  • 這里是幾種不同的選擇:一直向左、右,還有根據計算結果選擇方向;

Policy

  • 強化學習中的策略:\pi (s) = a?表示在 s 處的行動是 a;

Markov Decision Process

  • 馬爾科夫決策過程:未來只取決于你現在在哪里,而不管你是怎么到這里的;

3.2 State-action value function

  • 狀態 - 動作價值函數:Q(s,a)表示在 s 處做出動作 a 得到的回報;
  • 注意這里第一個計算的是先向右一步,再掉頭的策略;

Picking actions

  • 如何采取行動:需要選擇?Q 函數最大的策略;

Bellman Equation

  • 貝爾曼方程:原理就是遞歸方程,注意終端狀態下計算沒有第二項;

3.3 Continuous State?

  • 連續狀態空間應用:

Lunar Lander Problem

  • 登月器問題 - 獎勵函數:

Algorithm

  • DQN算法(Deep Q-Network):

  • 算法改進:輸出值設為 4 個,方便選擇最大值;

Epsilon?\varepsilon?- greedy policy

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

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

相關文章

MyBatis 動態查詢語句詳解:讓 SQL 更靈活可控

MyBatis 動態查詢語句詳解:讓 SQL 更靈活可控 在日常的數據庫操作中,我們經常會遇到需要根據不同條件拼接 SQL 語句的場景。比如查詢用戶時,可能需要根據姓名、年齡、性別等多個條件進行篩選,而這些條件往往是動態變化的 —— 有時…

Java基礎語法three

一、一維數組一維數組初始化數據類型[] 數組名new 數據類型[數組長度]//動態初始化數據類型[] 數組名new 數據類型[]{值}//靜態初始化數據類型[] 數組名{值}數組長度一旦確定,就不可更改。數組是序排序;數組屬于引用數據類型的變量,數組的元素…

【數據結構】排序算法全解析:概念與接口

1.排序的概念及其運用 1.1 排序的概念 排序:所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。 穩定性:假定在待排序的記錄序列中,存在多個具有相同的關鍵字的…

在 CentOS 7 上使用 LAMP 架構部署 WordPress

CentOS 7 LAMP 架構部署 WordPress全步驟本文將詳細介紹如何在 CentOS 7 系統上通過 LAMP(Linux Apache MariaDB PHP)架構部署 WordPress 博客平臺。 在CentOS 7上基于LAMP架構部署WordPress 一、系統基礎配置 1. 修改主機名(本機IP&#…

Node.js導入MongoDB具體操作

在Node.js應用程序中,導入MongoDB是一項常見任務。本文將詳細介紹如何在Node.js中連接和操作MongoDB數據庫,包括安裝必要的包、配置連接、執行基本的CRUD操作等步驟。1. 安裝必要的包首先,確保你已經安裝了Node.js和npm。然后,通過…

HTML--pre標簽的作用

原文網址&#xff1a;HTML--pre標簽的作用-CSDN博客 簡介 本文介紹HTML里pre標簽的作用。 <pre> 元素表示預定義格式文本。里邊的文本會保留原格式&#xff0c;以等寬字體的形式展現出來&#xff0c;文本中的空白符&#xff08;比如空格和換行符&#xff09;都會顯示出…

機器學習--數據預處理

目錄 一、數據清洗&#xff1a;讓數據純凈如新 1、缺失值處理&#xff1a; 2、異常值處理 3、重復值處理 二、數據變換&#xff1a;重塑數據的 “形狀” 1、歸一化 2、標準化 三、總結與展望 機器學習小白必看&#xff1a;數據預處理實戰筆記 最近投身于機器學習的學習…

Python 數據可視化:Matplotlib 與 Seaborn 實戰

Python 數據可視化&#xff1a;Matplotlib 與 Seaborn 實戰????在當今數據驅動的時代&#xff0c;數據可視化成為了理解和傳達數據信息的關鍵手段。Python 作為一門強大的編程語言&#xff0c;擁有豐富的數據可視化庫&#xff0c;其中 Matplotlib 和 Seaborn 尤為突出。本文…

計算機網絡技術學習-day4《路由器配置》

目錄 一、路由器基礎認知 1. 路由器的核心功能 2. 路由器與交換機的區別 二、路由器配置基礎操作 1. CLI&#xff08;命令行界面&#xff09;模式體系 2. 基礎配置命令示例 &#xff08;1&#xff09;基礎信息配置 &#xff08;2&#xff09;接口IP地址配置&#xff08;…

IDEA(十四) IntelliJ Idea 常用快捷鍵(Mac)

目錄準備&#xff1a;Mac鍵盤符號和修飾鍵說明一、編輯類快捷鍵二、Search/Replace&#xff08;查詢/替換&#xff09;三、編譯、運行四、debug 調試五、Navigation&#xff08;導航&#xff09;六、Refactoring&#xff08;重構&#xff09;七、VCS/Local History八、Live Tem…

八月月報丨MaxKB在教育及教學科研領域的應用進展

在2025年5月的“MaxKB用戶應用月度報告”中&#xff0c;我們對MaxKB開源智能體平臺在教育行業的典型應用場景進行了總結。MaxKB在教育行業的應用主要集中在教學輔助、學術研究、校園服務、行政辦公、財務管理、招生等場景。 目前&#xff0c;“DeepSeekMaxKB”的組合正在被包括…

一周學會Matplotlib3 Python 數據可視化-繪制自相關圖

鋒哥原創的Matplotlib3 Python數據可視化視頻教程&#xff1a; 2026版 Matplotlib3 Python 數據可視化 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili 課程介紹 本課程講解利用python進行數據可視化 科研繪圖-Matplotlib&#xff0c;學習Matplotlib圖形參數基本設置&…

第三十三天(信號量)

非常非常非常.....的重要在共享內存的代碼里面p1.c實質是有問題lt._flag 1;//這里先置1if(c Q)sprintf(lt._buf,"quit");elsesprintf(lt._buf,"大家好&#xff0c;%d 我系渣渣輝. %d 是兄弟就來砍我吧!!! %d",i,i1,i2);while(*((int *)shmptr));//如果別…

Scikit-learn通關秘籍:從鳶尾花分類到房價預測

點擊 “AladdinEdu&#xff0c;同學們用得起的【H卡】算力平臺”&#xff0c;H卡級別算力&#xff0c;按量計費&#xff0c;靈活彈性&#xff0c;頂級配置&#xff0c;學生專屬優惠。 決策樹/SVM/KNN算法對比 模型評估指標解析 讀者收獲&#xff1a;掌握經典機器學習全流程 …

rsync + inotify 數據實時同步

rsync inotify 數據實時同步 一、rsync簡介 rsync是linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步&#xff0c; 支持本地復制&#xff0c;或者與其他SSH、rsync主機同步 二、rsync三種命令 Rsync的命令格式常用的有以下三種&#xff1a;&#…

Linux基礎介紹-3——第一階段

文章目錄一、進程管理1.1 進程的基本概念1.2 常見管理命令1.3 進程優先級調整&#xff1a;nice 與 renice二、軟件包管理三、防火墻管理四、shell腳本五、xshell鏈接kali一、進程管理 1.1 進程的基本概念 進程是程序的動態執行實例&#xff0c;每個進程都有唯一的 PID&#x…

python 可迭代對象相關知識點

1. 什么是可迭代對象 (Iterable) 在 Python 里&#xff0c;可迭代對象指的是&#xff1a; &#x1f449; 能夠一次返回一個元素的對象&#xff0c;可以被 for 循環遍歷。 常見的可迭代對象有&#xff1a; 序列類型&#xff1a;list、tuple、str集合類型&#xff1a;set、dict&a…

ijkplayer Android 編譯

一、下載編譯庫文件1.1 編譯庫文件環境&#xff1a;ubuntu 20.04 版本liangtao:ffmpeg$lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal1.2 項目源碼下載使用 git 下載 ijkplayer&#…

snn前向推理時間計算(處理器實現)

公式 Tinf(1?sparsity)number of synapsesnumber of sub-processorsSIMD ways T_{\text{inf}} \frac{(1-\text{sparsity})\times \text{number of synapses}} {\text{number of sub-processors}\times \text{SIMD ways}} Tinf?number of sub-processorsSIMD ways(1?sparsity…

Linux------《操作系統全景速覽:Windows·macOS·Linux·Unix 對比及 Linux 發行版實戰指南》

&#xff08;一&#xff09;常見操作系統&#xff08;system&#xff09;電腦&#xff1a;Windows,Macos,Linux,UnixWindows&#xff1a;微軟公司開發的一款桌面操作系統&#xff08;閉源系統&#xff09;。版本有dos&#xff0c;win98&#xff0c;win NT&#xff0c;win XP , …