1. 程式人生 > >機器學習(三十二)——t-SNE, Adaboost

機器學習(三十二)——t-SNE, Adaboost

t-SNE(續)

SNE

在介紹t-SNE之前,我們首先介紹一下SNE(Stochastic Neighbor Embedding)的原理。

假設我們有資料集X,它共有N個數據點。每一個數據點xi的維度為D,我們希望降低為d維。在一般用於視覺化的條件下,d的取值為 2,即在平面上表示出所有資料。

SNE將資料點間的歐幾里德距離轉化為條件概率來表徵相似性:

pji=exp(xixj2/2σ2)kiexp(xixk2/2σ2)

如果以資料點在xi為中心的高斯分佈所佔的概率密度為標準選擇近鄰,那麼

pji就代表xi將選擇xj作為它的近鄰。對於相近的資料點,條件概率pji是相對較高的,然而對於分離的資料點,pji幾乎是無窮小量(若高斯分佈的方差σi選擇合理)。

現在引入矩陣Y,Y是N*2階矩陣,即輸入矩陣X的2維表徵。基於矩陣Y,我們可以構建一個分佈q,其形式與p類似。

對於高維資料點xixj在低維空間中的對映點yiyj,計算一個相似的條件概率qji是可以實現的。我們將計算條件概率qij中用到的高斯分佈的方差設定為1/2。因此我們可以對對映的低維資料點yjyi之間的相似度進行建模:

qji=exp(yiyj2)kiexp(yiyk2)

我們的總體目標是選擇Y中的一個數據點,然後其令條件概率分佈q近似於p。這一步可以通過最小化兩個分佈之間的KL散度而實現,這一過程可以定義為:

C=iKL(PiQi)=ijpjilogpjiqji

這裡的Pi表示了給定點xi下,其他所有資料點的條件概率分佈。需要注意的是KL散度具有不對稱性,在低維對映中不同的距離對應的懲罰權重是不同的,具體來說:距離較遠的兩個點來表達距離較近的兩個點會產生更大的cost,相反,用較近的兩個點來表達較遠的兩個點產生的cost相對較小(注意:類似於迴歸容易受異常值影響,但效果相反)。即用較小的

qji=0.2來建模較大的

相關推薦

機器學習——t-SNE, Adaboost

t-SNE(續) SNE 在介紹t-SNE之前,我們首先介紹一下SNE(Stochastic Neighbor Embedding)的原理。 假設我們有資料集X,它共有N個數據點。每一個數據點xixi的維度為D,我們希望降低為d維。在一般用於視覺化的條

Linux學習screen

oot mst tail pre linux article col install vmstat screen概述 我們可以將screen看成一個子窗口,我們可以通過命令將這個子窗口放入後臺運行而不關閉它。當我們有需要時,我們還可以將它調出來。 screen使用 安裝

Python的學習---- ctypes庫的使用整理

Python中ctypes的使用整理 ctypes是Python的一個外部庫,提供和C語言相容的資料型別,可以很方便地呼叫C DLL中的函式。ctypes的官方文件在這裡。 1. ctypes基本資料型別對映表 引數型別預先設定好,或者在呼叫函式時再把引數轉成相應的c_**

JMeter學習屬性和變數

一、Jmeter中的屬性: 1、JMeter屬性統一定義在jmeter.properties檔案中,我們可以在該檔案中新增自定義的屬性 2、JMeter屬性在測試指令碼的任何地方都是可見的(全域性),通常被用來定義一些JMeter使用的預設值,可以用於線上程間傳遞資訊。 3

Linux學習筆記iptables filter表案例、 iptables nat表應用

iptables filter表案例、 iptables nat表應用 一、iptables filter表案例需求:將80、20、21端口放行,對22端口指定特定的ip才放行以下為操作方法:vim /usr/local/sbin/iptables.sh //加入如下內容#! /bin/bas

Linux學習總結lamp之php安裝

php libphp5.so lamp PHP官網www.php.net當前主流版本為5.6/7.1 cd /usr/local/src/ wget http://cn2.php.net/distributions/php-5.6.30.tar.gz tar zxf php-5.6.30.tar

小甲魚《零基礎學習Python》課後筆記

測試題 0.結合你自身的程式設計經驗,總結下異常處理機制的重要性? 可以增強程式的適應環境的能力,提升使用者體驗。 1.請問以下程式碼是否會產生異常,如果會的話,請寫出異常的名稱: >>> my_list = [1, 2, 3,

Python學習之旅

Python基礎知識(31):圖形介面(Ⅱ) Python內建了turtle庫,可以在計算機上繪圖 運動控制: 1、畫筆定位到座標(x,y):turtle.goto(x,y) 2、向正方向運動 distance 長的距離:turtle.forward(distance) 3、向負方向運動 dista

Django學習筆記:datetime.timedelta類介紹

datetime.timedelta物件代表兩個時間之間的時間差,兩個date或datetime物件相減就可以返回一個timedelta物件。  如果有人問你昨天是幾號,這個很容易就回答出來了。但是如果問你200天前是幾號,就不是那麼容易答出來。而在Python中dateti

React學習之擴充套件不變的資料immutability-helper優化

                       注意  引入import update from 'react-addons-update'; // ES6var update = require('react-addons-update'); // ES5 with npmvar update = React

Android的SeekBar和RateBar的使用-android學習之旅

SeekBar簡介 SeekBar允許使用者拖動,進行調節經常用於音量調節等方面。 android:thumb設定drawable物件來表示拖動的物體。 setOnSeekBarChangeLis

Unity3D學習筆記:Xlua2

使用 ceil list date action oat static arp 分享 Xlua支持通過子類對象訪問父類的變量屬性和方法 對於C#的ref,out參數的方法 當調用的時候:out類型的參數是不需要傳遞實參的,普通的參數和ref參數需要傳遞實參。 out,r

salesforce零基礎學習項目中的零碎知識點小總結

gin 不同 grant dmi ima -m ron 角色 com 項目終於告一段落,雖然比較苦逼,不過也學到了好多知識,總結一下,以後當作參考。 一.visualforce標簽中使用html相關的屬性使用 曾經看文檔沒有看得仔細,導致開發的時候走了一些彎路。還好得到

聊聊高並發實現一個基於鏈表的無鎖Set集合

target 方向 刪除 元素 min 集合 date 變量 find Set表示一種沒有反復元素的集合類,在JDK裏面有HashSet的實現,底層是基於HashMap來實現的。這裏實現一個簡化版本號的Set,有下面約束: 1. 基於鏈表實現。鏈表節點依照對象的h

訂單管理-查詢訂單詳情

pos 查詢 oid item res ima 不用 close pro 查詢訂單詳情 點擊每一個訂單後面的訂單詳情,將該訂單的oid通過ajax傳遞到後臺查詢 步驟分析: 給按鈕添加事件 /store/WebCon

JMeter學習發送HTTPS請求轉載

無法 strong 控制 json localhost 閱讀 amp local cat  Jmeter一般來說是壓力測試的利器,最近想嘗試jmeter和BeanShell進行接口測試。由於在雲閱讀接口測試的過程中需要進行登錄操作,而登錄請求是HTTPS協議。這就需要對

Linux學習系統日誌

them 故障 linux學習 format nco kernel cgroup package 很多 一、前言 linux的系統日誌用的不多,我們就挑幾個比較常用的大概講一下。 二、分類講解 2.1 /var/log/messages 這是個雜項日誌,記錄很多服務的日誌。

Python學習—— Django之Form組件

tran important edi 日期 style p s ext 一個 這樣的 一、構建一個表單 假設你想在你的網站上創建一個簡單的表單,以獲得用戶的名字。你需要類似這樣的模板: <form action="/your-name/" method="post"

企業分布式微服務雲SpringCloud SpringBoot mybatis spring boot做調度任務

tro 一次 tis com href 什麽 init boot 2.6 構建工程 創建一個Springboot工程,在它的程序入口加上@EnableScheduling,開啟調度任務。 @SpringBootApplication @EnableScheduling p

JmeterJmeter Question 之 亂碼解讀

直接 默認 進行 json 字符 blog 文件中 內容 錄制完成   眾所周知,編碼的問題影響著眾多開發者,當然見多不怪。   先扒了一個編碼的原因,也就是為什麽要編碼: 計算機中存儲信息的最小單元是一個字節即 8 個 bit,所以能表示的字符範圍是 0~255 個 人