亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

手寫Matlab KNN實(shí)現(xiàn):從距離矩陣到交叉驗(yàn)證全流程

手寫Matlab KNN實(shí)現(xiàn):從距離矩陣到交叉驗(yàn)證全流程 簡(jiǎn)介面向模式識(shí)別、機(jī)器學(xué)習(xí)課程學(xué)習(xí)者與 Matlab 編程入門者的 KNN 實(shí)踐材料圍繞 KNN 分類原理與代碼實(shí)現(xiàn)展開(kāi)可用于課堂作業(yè)、課程設(shè)計(jì)及分類實(shí)驗(yàn)復(fù)現(xiàn)。壓縮包共 3 個(gè)文件均為 .m 腳本或函數(shù)文件整體約 3KB輕量且便于在 Matlab 中直接閱讀、運(yùn)行和修改內(nèi)容覆蓋數(shù)據(jù)預(yù)處理、距離計(jì)算、K 值選擇、最近鄰篩選與類別投票等關(guān)鍵環(huán)節(jié)。材料結(jié)合“第六章 KNN 編程作業(yè)”的示例與說(shuō)明并涉及剪輯近鄰法通過(guò)閾值篩選鄰居以降低噪聲干擾的思路方便讀者對(duì)照理解算法流程、調(diào)試代碼并完成自己的分類任務(wù)。已有 4444 人學(xué)習(xí)下載適合作為 KNN 入門實(shí)踐與作業(yè)參考的輕量資料。1. 從一張分不開(kāi)的散點(diǎn)圖說(shuō)起KNN 為什么總排在模式識(shí)別課的第一位模式識(shí)別這門課的第一個(gè)上機(jī)任務(wù)十有八九是甩給你一份帶標(biāo)簽的數(shù)據(jù)讓你用 KNN 算法跑個(gè)分類 baseline。數(shù)據(jù)發(fā)下來(lái)Matlab 一開(kāi)很多人第一反應(yīng)是敲一行fitcknn交差——能出準(zhǔn)確率但被追問(wèn)一句「距離怎么算的、k 怎么定的、平票怎么處理」當(dāng)場(chǎng)卡殼。這套 Matlab 實(shí)現(xiàn)就是為這個(gè)場(chǎng)景準(zhǔn)備的。它不依賴任何工具箱從距離矩陣、近鄰選取、投票規(guī)則到交叉驗(yàn)證選 k一層層拆開(kāi)寫總共不到兩百行。跑通之后距離函數(shù)、投票權(quán)重、k 的搜索網(wǎng)格都可以隨手替換把它當(dāng)后續(xù)實(shí)驗(yàn)的底座用。適合正在做課設(shè)、想搞清楚每一行在算什么的人也適合已經(jīng)會(huì)用工具箱、但想掀開(kāi)蓋子看看齒輪怎么咬合的人。2. 工程骨架一份能直接跑的 KNN Matlab 實(shí)現(xiàn)由哪幾個(gè)文件組成2.1 目錄結(jié)構(gòu)與每個(gè)文件的職責(zé)先把文件拆開(kāi)。見(jiàn)過(guò)太多把 KNN 塞進(jìn)一個(gè)main.m里寫到四百行的作業(yè)后面想換一種距離度量得在三處地方同時(shí)改改漏一處就跑出個(gè)莫名其妙的結(jié)果排查起來(lái)純屬玄學(xué)。按職責(zé)切分的版本大概長(zhǎng)這樣knn_lab/ ├── main.m % 入口腳本: 造數(shù)據(jù) → 切分 → 歸一化 → 選k → 預(yù)測(cè) → 評(píng)估 ├── make_demo_data.m % 生成帶標(biāo)簽的合成數(shù)據(jù), 用來(lái)打通流程 ├── split_dataset.m % 分層切分, 固定隨機(jī)種子保證可復(fù)現(xiàn) ├── normalize_zscore.m % z-score 歸一化, 統(tǒng)計(jì)量只從訓(xùn)練集算 ├── knn_distance.m % 距離矩陣, 度量方式在這里替換 ├── knn_classify.m % 核心分類器: 取近鄰 投票 ├── cross_validate_k.m % K 折交叉驗(yàn)證掃 k 網(wǎng)格 ├── evaluate_model.m % 混淆矩陣與逐類召回率 └── data/ └── features.csv % 換成自己的數(shù)據(jù)放這里文件職責(zé)是否依賴工具箱main.m串起全流程的入口腳本否split_dataset.m按類別分層切分訓(xùn)練/測(cè)試集否normalize_zscore.m特征標(biāo)準(zhǔn)化返回 mu/sigma 供推理復(fù)用否knn_distance.m計(jì)算 M×N 距離矩陣支持歐氏/余弦否knn_classify.m近鄰選取、加權(quán)投票、平票處理否cross_validate_k.mK 折交叉驗(yàn)證輸出準(zhǔn)確率曲線否evaluate_model.m手寫混淆矩陣算 P/R/F1否這樣拆的好處很直接換距離度量只動(dòng)knn_distance.m一個(gè)文件換投票策略只動(dòng)knn_classify.m里那七八行兩邊互不干擾。做消融實(shí)驗(yàn)的時(shí)候改動(dòng)面越小越不容易翻車。2.2 運(yùn)行環(huán)境與最小依賴整套代碼只用到 Matlab 的基礎(chǔ)語(yǔ)法。R2016b 之后支持隱式擴(kuò)展M×1和1×N相加自動(dòng)廣播成M×Nvecnorm從 R2017b 開(kāi)始才有所以我把距離計(jì)算寫成sum(X.^2, 2)的形式老版本也能跑。rng、sort、unique、sub2ind全是基礎(chǔ)函數(shù)不需要額外裝任何東西。需要說(shuō)明的是knnsearch和fitcknn這兩個(gè)函數(shù)——它們屬于 Statistics and Machine Learning Toolbox。第 4 章會(huì)拿來(lái)做提速對(duì)比但那不是必需品手寫版本單獨(dú)就能跑完整條鏈路。如果你所在的環(huán)境沒(méi)有這個(gè)工具箱跳過(guò)對(duì)比實(shí)驗(yàn)即可。入口腳本main.m按「數(shù)據(jù) → 切分 → 歸一化 → 選參 → 預(yù)測(cè) → 評(píng)估」六步串起來(lái)每一步落一個(gè)函數(shù)調(diào)用%% main.m —— KNN 全流程入口 clear; clc; % 1) 造一份三類二維數(shù)據(jù), 換成自己的 csv 只改這一行 [X, y] make_demo_data(300, 3, 42); % 2) 分層切分 7:3, 種子固定 [XTrain, yTrain, XTest, yTest] split_dataset(X, y, 0.3, 42); % 3) 歸一化: mu/sigma 只從訓(xùn)練集統(tǒng)計(jì), 測(cè)試集直接套用 [ZTrain, ZTest, mu, sigma] normalize_zscore(XTrain, XTest); % 4) 五折交叉驗(yàn)證掃 k 網(wǎng)格 kList 1:2:21; [bestK, accCurve] cross_validate_k(XTrain, yTrain, kList, 5, 7); fprintf(best k %d, cv acc %.4f\n, bestK, max(accCurve)); % 5) 用最優(yōu) k 預(yù)測(cè), 開(kāi)啟距離加權(quán) t0 tic; [yPred, score] knn_classify(ZTrain, yTrain, ZTest, bestK, ... struct(weighted, true, metric, euclidean)); fprintf(predict %d samples in %.1f ms\n, numel(yTest), toc(t0) * 1000); % 6) 評(píng)估 stats evaluate_model(yTest, yPred); fprintf(test accuracy %.4f\n, stats.accuracy); disp(stats.cm);make_demo_data負(fù)責(zé)在二維平面上撒幾團(tuán)高斯分布的點(diǎn)類中心均勻鋪在半徑 4 的圓上噪聲取單位方差。它的價(jià)值不在于數(shù)據(jù)有多真實(shí)而在于「答案已知」——三團(tuán)點(diǎn)分得開(kāi)任何分類器的準(zhǔn)確率都應(yīng)該在 0.95 以上如果跑出來(lái)只有 0.6那一定是鏈路里某個(gè)環(huán)節(jié)出了問(wèn)題而不是數(shù)據(jù)太難。做算法調(diào)試時(shí)一組答案已知的合成數(shù)據(jù)比真實(shí)數(shù)據(jù)好用十倍。function [X, y] make_demo_data(nPerClass, nClass, seed) %MAKE_DEMO_DATA 生成若干二維高斯簇, 用于快速驗(yàn)證鏈路是否打通 rng(seed); theta linspace(0, 2*pi, nClass 1); theta(end) []; centers 4 * [cos(theta), sin(theta)]; % 類中心均勻鋪在半徑 4 的圓上 X zeros(nPerClass * nClass, 2); y zeros(nPerClass * nClass, 1); for c 1:nClass rows (c-1) * nPerClass (1:nPerClass); X(rows, :) centers(c, :) randn(nPerClass, 2); % 單位方差噪聲 y(rows) c; end end參數(shù)里nPerClass控制每類樣本量nClass控制類別數(shù)seed交給rng保證同一份數(shù)據(jù)多次生成結(jié)果一致。噪聲標(biāo)準(zhǔn)差固定為 1如果想讓問(wèn)題變難把它改成 2 或者 3類之間就開(kāi)始重疊這時(shí)候 k 的取值和加權(quán)策略的影響才會(huì)明顯體現(xiàn)出來(lái)。2.3 數(shù)據(jù)格式約定特征矩陣與標(biāo)簽向量怎么排KNN 的實(shí)現(xiàn)里最容易埋雷的地方不是算法是數(shù)據(jù)格式。約定只有一條X是N×D的 double 矩陣行是樣本、列是特征y是N×1的整數(shù)向量取值必須是1..C的連續(xù)正整數(shù)。后面投票時(shí)用score(:, c)按類號(hào)索引標(biāo)簽一旦出現(xiàn) 0 或者跳號(hào)比如 1、3、7score 矩陣的列就對(duì)不上了。真實(shí)數(shù)據(jù)多半從 csv 進(jìn)來(lái)讀完先做一次標(biāo)簽重編號(hào)T readtable(data/features.csv); X table2array(T(:, 1:end-1)); % 前 D 列是特征 rawLabel T{:, end}; % 最后一列是標(biāo)簽, 可能是字符串或數(shù)值 % unique 的第三個(gè)輸出就是 1..C 的重編號(hào), 字符串/數(shù)值通吃 [~, ~, y] unique(rawLabel); y y(:); % 強(qiáng)制列向量 X double(X); % 防止某些列被讀成整型導(dǎo)致除法截?cái)鄒nique的第三個(gè)返回值是索引映射比如原始標(biāo)簽是{cat,dog,cat}重編號(hào)后變成[1;2;1]類別名通過(guò)unique的第一個(gè)輸出保留下來(lái)評(píng)估時(shí)想顯示原名再映射回去就行。double(X)那句看著多余實(shí)際上很關(guān)鍵readtable讀整數(shù)列時(shí)會(huì)給int64類型后面算X - mu時(shí)整型除法的截?cái)鄷?huì)讓歸一化徹底失效報(bào)錯(cuò)還特別隱蔽。切分函數(shù)用分層策略保證每個(gè)類在測(cè)試集里都有代表function [XTrain, yTrain, XTest, yTest] split_dataset(X, y, testRatio, seed) %SPLIT_DATASET 按類別分層切分, 避免小類在測(cè)試集里缺席 if nargin 4, seed 42; end rng(seed); classes unique(y); idxTrain false(numel(y), 1); for c 1:numel(classes) idx find(y classes(c)); idx idx(randperm(numel(idx))); % 類內(nèi)打亂 nTest max(1, round(numel(idx) * testRatio)); % 每類至少留 1 個(gè) idxTrain(idx(nTest1:end)) true; % 剩下的進(jìn)訓(xùn)練集 end XTrain X(idxTrain, :); yTrain y(idxTrain); XTest X(~idxTrain, :); yTest y(~idxTrain); endtestRatio一般取 0.2 到 0.3樣本量小于 500 時(shí)建議走交叉驗(yàn)證而不是單次切分否則測(cè)試集太小準(zhǔn)確率的方差能大到讓你懷疑人生。max(1, ...)這個(gè)保底是為了防止某個(gè)類只有三五個(gè)樣本時(shí)測(cè)試集里一個(gè)都沒(méi)有那樣混淆矩陣會(huì)缺行后面算召回率直接除零。3. 核心鏈路拆解從歐氏距離矩陣到多數(shù)投票的每一步3.1 距離矩陣一次矩陣乘法頂?shù)魞芍匮h(huán)KNN 的計(jì)算量全在距離上。最直觀的寫法是兩層for循環(huán)測(cè)試樣本一個(gè)、訓(xùn)練樣本一個(gè)逐個(gè)算歐氏距離1000×2000的數(shù)據(jù)在 Matlab 里能跑上十幾秒。向量化的做法是把平方歐氏距離展開(kāi)$$|a-b|^2 |a|^2 |b|^2 - 2a^\top b$$右邊第一項(xiàng)是測(cè)試集每行的模長(zhǎng)平方第二項(xiàng)是訓(xùn)練集每行的模長(zhǎng)平方第三項(xiàng)是一次矩陣乘法XTest * XTrain。三個(gè)都是高度優(yōu)化的 BLAS 調(diào)用寫出來(lái)就是十幾行function D2 knn_distance(XTrain, XTest, metric) %KNN_DISTANCE 計(jì)算測(cè)試集到訓(xùn)練集的平方距離矩陣 % D2(i,j) 第 i 個(gè)測(cè)試樣本到第 j 個(gè)訓(xùn)練樣本的距離 if nargin 3, metric euclidean; end switch lower(metric) case euclidean aa sum(XTest.^2, 2); % M×1, 測(cè)試集樣本模長(zhǎng)平方 bb sum(XTrain.^2, 2); % 1×N, 訓(xùn)練集樣本模長(zhǎng)平方 D2 aa bb - 2 * (XTest * XTrain); % 隱式擴(kuò)展成 M×N D2(D2 0) 0; % 浮點(diǎn)相減可能出 -1e-16 case cosine Xn XTest ./ sqrt(sum(XTest.^2, 2)); Yn XTrain ./ sqrt(sum(XTrain.^2, 2)); D2 1 - Xn * Yn; % 余弦距離, 范圍 [0, 2] otherwise error(unsupported metric: %s, metric); end endD2(D2 0) 0這一行不是潔癖。兩個(gè)幾乎相同的向量做減法浮點(diǎn)誤差會(huì)讓結(jié)果出現(xiàn)-1e-16這種負(fù)數(shù)后面sqrt一下直接變成復(fù)數(shù)報(bào)錯(cuò)信息還指向別處非常難查。截?cái)嗟?0 成本極低但沒(méi)有它我至少浪費(fèi)過(guò)一個(gè)下午。metric參數(shù)是給二次開(kāi)發(fā)留的口子。改成cosine之后注意weighted加權(quán)投票邏輯里的1/(deps)依然成立只是物理含義從「距離倒數(shù)」變成了「相似度倒數(shù)」語(yǔ)義上要自己心里有數(shù)。這塊第 6 章會(huì)再展開(kāi)。3.2 取前 K 個(gè)近鄰全排序、局部選擇與索引復(fù)用拿到 M×N 的距離矩陣之后要對(duì)每一行找出最小的 K 個(gè)。最省事的寫法是sort(D2, 2, ascend)拿到排序后的距離和對(duì)應(yīng)的原始列下標(biāo)取前 K 列就行。全排序每行是 $O(N\log N)$而我們只需要前 K 個(gè)理論上有更快的選擇算法。Matlab 從 R2017b 開(kāi)始提供mink做的是部分選擇K 遠(yuǎn)小于 N 時(shí)比sort快不少K min(k, size(XTrain, 1)); % k 不能超過(guò)訓(xùn)練樣本總數(shù) if exist(mink, file) [dK, idx] mink(D2, K, 2); % R2017b: 每行取最小的 K 個(gè), 返回距離和下標(biāo) else [~, idx] sort(D2, 2, ascend); % 老版本回退到全排序 idx idx(:, 1:K); dK D2(sub2ind(size(D2), repmat((1:size(D2,1)), 1, K), idx)); endmink的第二個(gè)參數(shù)是取多少個(gè)第三個(gè)參數(shù)2表示沿列方向也就是每行內(nèi)部取。idx拿到的是 M×K 的下標(biāo)矩陣每一行是這 M 個(gè)測(cè)試樣本各自的 K 個(gè)最近訓(xùn)練樣本的列號(hào)這個(gè)矩陣后面投票時(shí)要用兩次——一次取標(biāo)簽一次取距離。sub2ind那行是把二維下標(biāo)轉(zhuǎn)成線性下標(biāo)用于從原始的D2里把對(duì)應(yīng)的距離撈出來(lái)。它等價(jià)于用循環(huán)寫for i1:M, dK(i,:) D2(i, idx(i,:)); end但省掉了解釋器開(kāi)銷。數(shù)據(jù)量上萬(wàn)以后這種細(xì)節(jié)的差距是能感覺(jué)到的。3.3 多數(shù)投票score 矩陣怎么建加權(quán)與平票怎么處理核心分類器把前面兩步拼起來(lái)再加一個(gè)投票環(huán)節(jié)。思路是給每個(gè)測(cè)試樣本建一個(gè)長(zhǎng)度 C 的得分向量K 個(gè)鄰居里屬于第 c 類的有幾個(gè)第 c 位就加幾分最后取maxfunction [yPred, score] knn_classify(XTrain, yTrain, XTest, k, opts) %KNN_CLASSIFY 向量化 KNN 分類器 % XTrain/yTrain: 訓(xùn)練特征與標(biāo)簽(標(biāo)簽須為 1..C 連續(xù)整數(shù)) % XTest: 測(cè)試特征(用訓(xùn)練集的 mu/sigma 歸一化過(guò)) % k : 近鄰個(gè)數(shù) % opts : .weighted(默認(rèn) false) / .metric(默認(rèn) euclidean) if nargin 5, opts struct(); end if ~isfield(opts, weighted), opts.weighted false; end if ~isfield(opts, metric), opts.metric euclidean; end nTest size(XTest, 1); nClass max(yTrain); % 標(biāo)簽必須是 1..C K min(k, size(XTrain, 1)); D2 knn_distance(XTrain, XTest, opts.metric); % M×N [~, idx] sort(D2, 2, ascend); idx idx(:, 1:K); % M×K 近鄰下標(biāo) rows repmat((1:nTest), 1, K); dK D2(sub2ind(size(D2), rows, idx)); % M×K 近鄰距離 yNb yTrain(idx); % M×K 近鄰標(biāo)簽 if opts.weighted W 1 ./ (dK 1e-12); % 距離越小, 投票權(quán)重越大 else W ones(nTest, K); end score zeros(nTest, nClass); for c 1:nClass score(:, c) sum(W .* (yNb c), 2); % 逐類累加票數(shù) end [maxScore, yPred] max(score, [], 2); tie sum(score maxScore, 2) 1; % 平票的行 if any(tie) yPred(tie) yTrain(idx(tie, 1)); % 平票退化成 1-NN end endyTrain(idx)這一句依賴yTrain是列向量idx是矩陣Matlab 會(huì)返回同形狀的矩陣省掉一層循環(huán)。后面的yNb c是逐元素比較sum(..., 2)按行求和整個(gè)投票過(guò)程沒(méi)有顯式的樣本循環(huán)。平票是必須處理的分支。K 取偶數(shù)時(shí)比如 k4兩類各 2 票平票是必然發(fā)生的max默認(rèn)返回第一個(gè)最大值的下標(biāo)這就等于「類別號(hào)小的贏」純屬實(shí)現(xiàn)細(xì)節(jié)帶來(lái)的偏見(jiàn)跟算法本身沒(méi)關(guān)系。我一般讓平票退化成 1-NN取距離最近的那個(gè)鄰居的標(biāo)簽——這比按類別號(hào)拍腦袋合理得多。1e-12的 eps 是為了防除零歸一化之后訓(xùn)練集和測(cè)試集里可能出現(xiàn)完全相同的樣本距離為 0倒數(shù)變成Inf乘上 0 票會(huì)變成NaN整個(gè) score 就廢了。3.4 K 折交叉驗(yàn)證k 的候選網(wǎng)格怎么掃歸一化為什么必須放進(jìn)折內(nèi)k 是這套算法唯一真正需要調(diào)的超參數(shù)靠拍腦袋定下來(lái)不合適。做法是劃一個(gè)候選網(wǎng)格1、3、5…21每一折在訓(xùn)練部分上歸一化、訓(xùn)練、在驗(yàn)證部分上打分取平均準(zhǔn)確率最高的那個(gè)function [bestK, accCurve] cross_validate_k(X, y, kList, nFold, seed) %CROSS_VALIDATE_K K 折交叉驗(yàn)證掃 k 網(wǎng)格 if nargin 5, seed 7; end rng(seed); n size(X, 1); perm randperm(n); foldId zeros(n, 1); foldId(perm) mod(0:n-1, nFold) 1; % 盡量均分到各折 accCurve zeros(numel(kList), 1); for ki 1:numel(kList) k kList(ki); acc zeros(nFold, 1); for f 1:nFold te foldId f; tr ~te; % 關(guān)鍵: 歸一化放在折內(nèi), 統(tǒng)計(jì)量只來(lái)自當(dāng)前折的訓(xùn)練部分 [Ztr, Zte] normalize_zscore(X(tr, :), X(te, :)); yp knn_classify(Ztr, y(tr), Zte, k); acc(f) mean(yp y(te)); end accCurve(ki) mean(acc); end [~, iBest] max(accCurve); bestK kList(iBest); endfoldId(perm) mod(0:n-1, nFold) 1這行是均分技巧先把樣本隨機(jī)打亂再按位置輪流發(fā)到各折樣本數(shù)不能被折數(shù)整除時(shí)誤差也只有 1比按固定塊切分靠譜。nFold一般取 5 或 10樣本量很小時(shí)可以用留一法nFold n但代價(jià)是訓(xùn)練次數(shù)等于樣本數(shù)。歸一化寫在折內(nèi)這件事值得單獨(dú)強(qiáng)調(diào)。如果先在全體數(shù)據(jù)上算mu/sigma再做交叉驗(yàn)證驗(yàn)證折的信息已經(jīng)通過(guò)統(tǒng)計(jì)量泄漏進(jìn)了訓(xùn)練過(guò)程交叉驗(yàn)證的準(zhǔn)確率會(huì)系統(tǒng)性偏高通常高出一兩個(gè)點(diǎn)看起來(lái)不明顯但足以讓你選錯(cuò) k。這種錯(cuò)誤的可怕之處在于它不會(huì)報(bào)錯(cuò)也不會(huì)崩只是讓你拿到的數(shù)字不再可信。accCurve順手返回出來(lái)畫(huà)條曲線看看拐點(diǎn)比只看最小值更有信息量。3.5 評(píng)估混淆矩陣、逐類召回率與手寫累加confusionmat屬于工具箱函數(shù)為了保持零依賴這里手寫累加function stats evaluate_model(yTrue, yPred) %EVALUATE_MODEL 混淆矩陣與逐類指標(biāo), 不依賴工具箱 C max([yTrue(:); yPred(:)]); cm zeros(C, C); for i 1:numel(yTrue) cm(yTrue(i), yPred(i)) cm(yTrue(i), yPred(i)) 1; end tp diag(cm); stats.cm cm; stats.accuracy sum(tp) / sum(cm(:)); stats.recall tp ./ max(sum(cm, 2), 1); % 行和 真實(shí)類樣本數(shù) stats.precision (tp ./ max(sum(cm, 1), 1)); % 列和 預(yù)測(cè)類樣本數(shù) stats.f1 2 * stats.precision .* stats.recall ... ./ max(stats.precision stats.recall, eps); endcm(i,j)表示真實(shí)類別是 i、被預(yù)測(cè)成 j 的樣本數(shù)對(duì)角線是分對(duì)的。行方向求和得到每個(gè)真實(shí)類的樣本總數(shù)用來(lái)算召回率列方向求和得到每個(gè)預(yù)測(cè)類的樣本總數(shù)用來(lái)算精確率。max(..., 1)是為了防止某個(gè)類在測(cè)試集里完全缺席時(shí)除零算出來(lái)是 0 而不是NaN至少不會(huì)污染后面的平均值。只看總體準(zhǔn)確率在類別不平衡時(shí)會(huì)騙人。三類數(shù)據(jù)里有一類占了 90%全判成這一類也能拿到 0.9 的準(zhǔn)確率。把stats.recall打出來(lái)逐類看哪個(gè)類被打成了篩子一目了然比盯一個(gè)標(biāo)量數(shù)字有用得多。4. 性能與精度調(diào)優(yōu)讓手寫 KNN 從玩具代碼變成實(shí)驗(yàn)工具4.1 復(fù)雜度賬本訓(xùn)練是假的預(yù)測(cè)才是真的貴KNN 是懶惰學(xué)習(xí)的典型訓(xùn)練階段什么也不做就是把數(shù)據(jù)存起來(lái)復(fù)雜度 O(1)所有開(kāi)銷堆在預(yù)測(cè)階段每個(gè)測(cè)試樣本要和全部 N 個(gè)訓(xùn)練樣本算距離總復(fù)雜度 $O(M \cdot N \cdot D)$。這個(gè)不對(duì)稱性意味著「訓(xùn)練快」根本不是優(yōu)點(diǎn)真正要盯的是預(yù)測(cè)耗時(shí)和內(nèi)存。內(nèi)存這一側(cè)更隱蔽。M×N 的距離矩陣是 double 類型每個(gè)元素 8 字節(jié)M5000, N20000就是 800MB稍微再大一點(diǎn)直接 out of memory。而這個(gè)矩陣只用來(lái)取前 K 個(gè)最小值絕大部分內(nèi)容算完就扔占著內(nèi)存純屬浪費(fèi)。4.2 分塊計(jì)算把 M×N 矩陣拆成若干條帶解決辦法是按測(cè)試樣本分塊一次只算一塊的距離矩陣算完取完近鄰就釋放function yPred knn_predict_chunked(XTrain, yTrain, XTest, k, blockSize) %KNN_PREDICT_CHUNKED 分塊預(yù)測(cè), 把 M×N 距離矩陣壓到 blockSize×N if nargin 5, blockSize 1000; end nTest size(XTest, 1); yPred zeros(nTest, 1); for s 1:blockSize:nTest e min(s blockSize - 1, nTest); yPred(s:e) knn_classify(XTrain, yTrain, XTest(s:e, :), k); end endblockSize是唯一要調(diào)的參數(shù)取值取決于訓(xùn)練集大小和可用內(nèi)存。經(jīng)驗(yàn)公式是讓blockSize * N * 8控制在內(nèi)存的三分之一以內(nèi)N20000 時(shí)blockSize 取 1000 大概占 160MB很安全N100000 時(shí)就得降到 200 以下。分塊之后總計(jì)算量不變但峰值內(nèi)存降了一個(gè)數(shù)量級(jí)而且因?yàn)榫仃囎冃×司彺婷新史炊邔?shí)測(cè)常常比分塊前還快一點(diǎn)。4.3 parfor 與 knnsearch兩條提速路線怎么選再往上提速有兩條路。第一條是并行把分塊循環(huán)換成parfor前提是已經(jīng)裝了 Parallel Computing Toolbox 并且開(kāi)了并行池parfor s 1:blockSize:nTest e min(s blockSize - 1, nTest); yPred(s:e) knn_classify(XTrain, yTrain, XTest(s:e, :), k); end注意parfor里不能有跨迭代的共享狀態(tài)yPred用切片方式賦值是合法的但循環(huán)內(nèi)不能再rng或者寫全局變量。加速比取決于核數(shù)4 核大概能到 2.5 到 3 倍核再多收益遞減——瓶頸會(huì)轉(zhuǎn)移到內(nèi)存帶寬上。第二條路是直接調(diào)用工具箱的knnsearch% 需要 Statistics and Machine Learning Toolbox [idx, d] knnsearch(XTrain, XTest, K, k, NSMethod, kdtree); yNb yTrain(idx); % 后面接同樣的投票邏輯NSMethod有兩個(gè)取值exhaustive是暴力搜索kdtree建 KD 樹(shù)。KD 樹(shù)在低維D 小于 10 左右時(shí)優(yōu)勢(shì)明顯建樹(shù)一次、查詢多次維度一高就退化得厲害「維數(shù)災(zāi)難」在 KNN 里體現(xiàn)得特別直接D 到 50 以上時(shí) KD 樹(shù)可能比暴力搜索還慢因?yàn)檫@個(gè)剪枝結(jié)構(gòu)在高維空間里幾乎失效。方案適用場(chǎng)景內(nèi)存峰值依賴相對(duì)耗時(shí)雙重循環(huán)只用來(lái)對(duì)拍驗(yàn)證正確性最低無(wú)最慢向量化全量N×M 小于 1e7高無(wú)快分塊向量化大數(shù)據(jù)集常規(guī)方案可控?zé)o快分塊 parfor多核機(jī)器、離線實(shí)驗(yàn)可控并行工具箱更快knnsearch kdtree低維、多次查詢低統(tǒng)計(jì)工具箱低維最快表里的「相對(duì)耗時(shí)」是定性排序具體倍數(shù)跟機(jī)器、維度、數(shù)據(jù)分布都有關(guān)系別照抄。想拿到自己環(huán)境下的真實(shí)數(shù)字寫個(gè) benchmark 循環(huán)for r 1:5跑五遍取中位數(shù)比看任何表格都靠譜。4.4 精度側(cè)的三個(gè)旋鈕k、權(quán)重、歸一化性能之外真正影響準(zhǔn)確率的是三個(gè)東西按影響從大到小排。第一個(gè)是歸一化。這條幾乎每次都會(huì)踩因?yàn)椴粴w一化代碼照樣跑只是準(zhǔn)確率悄悄掉下去。量綱差異大的時(shí)候尤其致命一個(gè)特征范圍是 0 到 255另一個(gè)是 0 到 1歐氏距離完全被前者主導(dǎo)后一個(gè)特征等于沒(méi)參與計(jì)算。z-score 之后每個(gè)維度方差為 1貢獻(xiàn)才均衡。第二個(gè)是 k。k 太小模型方差大一個(gè)噪聲點(diǎn)就能翻轉(zhuǎn)結(jié)果k 太大偏差大類邊界被抹平。實(shí)踐中從k1掃到ksqrt(N)附近看交叉驗(yàn)證曲線的最低點(diǎn)。奇數(shù)優(yōu)先能天然規(guī)避兩類平票不過(guò)多類問(wèn)題下平票依然可能第 3 章那段平票處理不能省。第三個(gè)是加權(quán)投票。weightedtrue之后近鄰的票數(shù)按距離倒數(shù)加權(quán)靠近邊界的樣本受影響更大通常在類重疊較多的數(shù)據(jù)上能漲一到兩個(gè)點(diǎn)。代價(jià)是對(duì)噪聲更敏感——一個(gè)離群點(diǎn)如果恰好離測(cè)試樣本很近它的權(quán)重會(huì)非常大一個(gè)頂十個(gè)。數(shù)據(jù)洗干凈之前別急著開(kāi)這個(gè)開(kāi)關(guān)。5. 避坑記錄Matlab 里跑 KNN 最容易翻車的 5 個(gè)地方5.1 現(xiàn)象準(zhǔn)確率一直卡在隨機(jī)猜的水平原因九成是沒(méi)做歸一化或者歸一化的統(tǒng)計(jì)量用錯(cuò)了數(shù)據(jù)。前者讓大方差維度獨(dú)占距離后者更隱蔽——在全體數(shù)據(jù)上算mu/sigma再切分測(cè)試集的信息泄漏進(jìn)了訓(xùn)練過(guò)程。還有一種少見(jiàn)但同樣致命的情況csv 里的整數(shù)列被讀成int64X - mu時(shí)整型除法直接截?cái)鄽w一化等于沒(méi)做。解決normalize_zscore只接受訓(xùn)練集和測(cè)試集兩個(gè)輸入mu和sigma從訓(xùn)練集算、保存下來(lái)推理時(shí)復(fù)用同一組。讀數(shù)據(jù)后強(qiáng)制X double(X)。驗(yàn)證方法很土但有效歸一化之后mean(ZTrain)應(yīng)該接近全零向量std(ZTrain)接近全一向量打出來(lái)看一眼。5.2 現(xiàn)象score(:, c)報(bào)下標(biāo)越界或者預(yù)測(cè)結(jié)果只有一類原因標(biāo)簽不是從 1 開(kāi)始的連續(xù)整數(shù)。原始標(biāo)簽可能是 0/1/2也可能是字符串元胞數(shù)組直接塞進(jìn)knn_classify里nClass max(yTrain)算出來(lái)的類數(shù)對(duì)不上score的列數(shù)和實(shí)際類別錯(cuò)位。解決入口處統(tǒng)一重編號(hào)。[~, ~, y] unique(rawLabel)這一句對(duì)字符串、數(shù)值、categorical 全都管用輸出保證是1..C的連續(xù)整數(shù)。同時(shí)檢查一下y是不是列向量——readtable取出來(lái)的可能是行yTrain(idx)的形狀會(huì)跟著錯(cuò)報(bào)錯(cuò)信息指向別處查半天。5.3 現(xiàn)象調(diào)大 k 之后準(zhǔn)確率斷崖式下跌某一類被徹底吞掉原因k 超過(guò)了某個(gè)小類的樣本數(shù)。比如某類只有 5 個(gè)訓(xùn)練樣本k 取 15這 15 個(gè)鄰居里屬于該類的頂多 5 票其他類隨便湊湊就壓過(guò)去了。類別不平衡時(shí)這個(gè)問(wèn)題會(huì)放大多數(shù)類的票數(shù)天然占優(yōu)。解決K min(k, size(XTrain,1))只是防越本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
任你干在线视频| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 曰韩香蕉97| 偷拍精品一区二区三区| 亚洲AV永久无码一区仙野| 久九干| 久久久久久免费电影| www熟女乱伦com| 天天干,夜夜爽| 极品肉射| 久久久爆乳翘臀一线天伦理视频| 欧美亚洲清纯| 中文字幕性感少妇av| 佐山爱中文字幕| 澳门黄片一香蕉视频| 天天干,夜夜爽| 一区超碰一区| 91色色色| 久久久青青草| 人妻天天爽夜夜爽爽| 天天综合91入口| 成人无码电影在线观看网| 久久天堂婷婷网| 懂色av中文字幕| 欧美亚洲另类在线蜜桃| 亚洲天天精品| 久久激情综合| 91美女网站| 日韩人妻精品久久久久| www国产精品| 麻豆亚洲Av成人无码一区精品| 色噜噜人妻av中文字幕| 色播丁香| 91欧美亚洲| 激情综合婷婷| A级毛片在线看免费| 97青青操视频| 日韩欧美操逼xxx| 欲射影视| 色婷婷亚洲婷婷| 啊啊啊水好多| 日本有码影片下载| 超碰人人干| 国产怡红院在线| 丁香五月成人| 久久久久久久伊人精品| 麻豆区99999| 亚洲av综合伊人久久| 人人澡综合涩| 精品黑人一区二区| 国产400孕妇孕交群| 亚洲AV免费在线观看| 9118禁| 亚洲av热热色| 免费在线观看国内色片网站网址 | 日本国产高清色www视频在线| 2026国产精品视频| 国产伦精品一区二区三区在线观| 天天综合中文字幕 91| 长长久久88视频| 欧洲综合无码| 嗯嗯不要视频| 国产精品天干天干综合网麻豆| 日韩性爱再线视频| 欧美色乱| 欧美天堂亚洲电影院一区在线播放| 色乱二区| 秋霞一集毛片观看| 狠狠入| 婷婷国产精品九区| 精品一区二区亚洲国产| 97免费在线观看| 久久m| 婷婷五月天色色| 国内偷拍精品一区二区| 无码九九九九| 91伊人大香蕉| 亚洲棕合电彰| 99只有精品| 尤物视频一区| 福利视频网站| 大但人体久久久久| 亚洲A色| 欧美日本国产日韩激情视频| 亚洲熟女一区二区| 欧亚揄拍偷拍精品视频| 久久熟女人| 天天艹天天日| 超碰免费人妻人人| 久久久久久久| 97超碰色中文字幕| 欧美日韩亚洲五月天婷婷| 中文字幕精品资源在线| 日韩亚洲中文字幕在线| 亚洲无线码欧洲精品区别| 台湾佬中文娱乐网久久久久久久久久com | 国产第11页| 一区二区激情国产熟女| 中国少妇XXXX做受| 日小BB小视频| 国产一区二区三区白丝| 新亚洲无码| 青青青青青手机视频| 欧美亚洲一区二区久久久婷精品大包诱| 9国产超碰| 不卡视频一区蜜桃视频 | 亚洲各类熟们中文字幕| 久久av一级av少妇av高潮| 欧美黄色手机在线观看| 国产第12页| 国产传媒av天美传媒在线| 熟女露脸激情自拍视频| 青青欧美| 欧美日韩国产人人| 后入式999| 九九久久一区二区三区| 男人的天堂网免费| 人妻久久久久久久久久久久久久久 | 中文字幕在线2| 欧美视频在线第3页| 久久激情视频| 人人操人人摸人| 久操网视频| 精品国产无码中文| av网页一区二区三区| 精品中文字幕一区二区| 国产精品视频麻豆入口| 韩日色费| 一区二区三区四区色图| 97精品国产97久久久久久免费| 337p大胆噜噜噜噜噜91Av| 精品少妇人妻av久久免费| 囯戸精品高潮呻吟旡码| 日逼视频日本| 簧片免费看视频| 国产精品久久伊人| 二对二中文字幕。| 久久久少妇诱惑精品视频| 亚洲熟女一区| 久久久久久中文| 一本一道久久综合久久| 91丝袜美女视频| 99re9| 涩综合导航| 最新中文字幕精品在线| 狠狠爱综合| 午夜天堂精品久久久久91| 久久香蕉网| 啊啊好多水| 2017大香蕉国产精品久久| 九9精品| 色综91| 亚洲欧洲无码bt精品合集| 日人妻视频91| 青青草在线成人视频| 日韩国产品视频中文字| 丁香婷婷激情五月天无毒不卡 | 欧美性夜| 国产精品视频自拍在线| 激情接吻视频久久久久久| 婷婷爱五月| 美腿丝袜偷拍亚洲欧美| 九九九九九九免费视频| 久久久久九九九| 吖在线不卡一区二区国产剧情 | 97精品久久| 日本三级A片网站com| 在线视频日韩欧美国产| 中文字幕一二三区| 5252色欧美在线男人的天堂| 一区二区三区美女超清| 久久久久久AⅤ无码免费肉站| 国产女人高潮视频| 极品色电影院| 呦呦影院| 欧美午夜精品久久久久久3D| 蜜臀av网址| 91精品无码久久久久久久| 欧美性爱中文字幕无线码| 欧美|91色综合| 亚欧美综合网。| 欧美97在线欧| 亚洲成人碰碰| 国产精品久久泡妞网站| 久久精品国产亚洲AV片多多| 丝袜美女诱惑 91 视频| 国产精品白领在线观看| 亚洲欧洲综合视频在线| 亚洲图片在线| 久久成人国产精品| 欧美日韩夜夜| 久久专区| 色五月综合| 大香蕉免| 精品人妻一区二区三区四区石在线| 婷婷丁香五月激情啪啪| 91 国产丝袜在线播放-百度| 免费自拍三级综合| 亚洲精品天天影视综合网 | 嗯嗯不要视频| 色九区| 日产国产精品中文久久婷婷| 老熟女91视频| 综合激情婷婷| 日韩色香| 久久久久久久久久久久久久久性生活视频 | 亚洲日韩精品在线播放| 天天综合中文字幕 91| 婷婷六月色| 99re欧美| 欧美日韩222| 婷婷五月天成人| 后入人妻无码| 国产一区二区三区中文字幕| 精品蜜乳AV免费观看| 亭亭丁香激情| 亚洲囯产精品女人久久久| 1024手机看片欧美日韩| 亚洲无码一二三区| 97超碰香蕉| 嗯啊啊啊轻点视频| 日本性爰一道本| 亚洲诱惑| www.婷婷五月天| 性色综合网| 北京专精特新企业招聘信息| av在线免费一区二区| 亚洲综合色在线| 亚洲成人免费在线| 国产成久久综合片| 亚洲天堂美臀在线| 成人看片网站| 日韩免费三级黄片电影| 综合网少妇| 欧美日不卡| 影音先锋日本一区二区| 操一对老熟妇爽上天视频| 中文无码一二三区| 95自拍视频在线观看| 亚洲欧美激情小说| 91精产一区二区三区| 亚洲一区二区三区欧美日韩| 国产精品国产精品国产| 欧美暴力猛交| 丁香激情五月| 一级特黄aaa大片在线观看成人一级片在线观看 | 一起草AV| 免费看A片毛毛片在线播| 国产精品丝袜在线| 精品人妻一区二区三区视频| 婷婷伊人綜合中文字幕小说| 国产高清视频无码在线| 亚洲男人天堂AV| 麻豆成人av| 99精品无码| 欧美日韩另类在线播放| 91网站18禁| 天天日美女的B| 五月丁香综合| 国产大学生口爆吞精合集| 91黄站| 91操人| 亚洲男人的天堂V| 亚欧国产无码精品在线| 最新国内自拍av免费| 亚洲一区二区三区春色| 99操视频| 26uuu性| 九九九九精| 成人天天爽| 2019AV天堂| 夜夜一区二区| 日韩中文字幕二区| 日韩欧美俄罗斯A片| 熟妇综合一区二区三区| 欧美九九九九九| 曰本特级特黄特色黄色A级网站高清在线免费看 | 日本天天干天天操一区| 国内精品99999| 欧美色图 人妻| 中文字幕丝袜人妻| 欧美色997| 伊人久久国产免费观看视频| 嗯嗯啊啊啊好舒服| 免费看污网站| 厕所偷拍在线| 亚洲射综合网| 色女99一级片在线观看| 九九九九88| 天天流夜夜操| 夜夜嗨一区二区| 免费毛片在线播放| 日本精品成人无码| 91粉嫩萝控精品福利网站_精品影音先锋国 | 欧美色图综合网| 高精欧美色| 97精品一区| 97国产精品久久久久| 97bbn| 9 9无尺码天堂网| 91麻豆一二三区| 97视频900| 九七人妻在线| 亚洲图片视频小说| 久久无码精品| 婷婷色色五月天福利| 亚洲婷婷丁香在线| 偷拍亚洲熟女视频播放| 国产尤物AV尤物在线观看不卡| 成人a级高清视频在线观看| 国产又猛又粗又爽又黄| 欧美激情性爱视频网站| 秋霞蝌科网日本一区| 欧美另类综合久久| 天天干天天爽| 亚洲97P| 超碰免费欧美7| 久久精品女同亚洲女同13| 中文字幕免费在线观看| 超碰人人干天天射| 日韩簧片免费看| 免费观看国产不卡av| 日韩探花精品在线视频| 婷婷五月激情综合| 五月天黄色av| 中日韩久久久免费看| 亚洲欧美洲综合| 亚洲国产一级黄色视频| 国产伦乱91| 夜夜嗨一区二区| 怡红院怡春院| 好湿好紧视频| 日韩精品色呦呦| 久久精品国产亚洲AV高级北京| 天美麻花大全视频| 免費人妻夜夜爽天天爽爽一区| 日韩精品操少妇| 亚欧美色图| 日韩无码一级黄色av片| 黄色小视频日本txt| 亚洲男人bt天堂| 欧美少妇内射| 蜜臀中文字幕| 黄色性爱网网| 99re这里只有精品3| 久久精品高清无码一区| 亚洲啪啪综合?v一区综合精品区| 欧美极品性爱天天射| 任你艹| 青春草A| 中文字幕黄色一起草| 家庭乱伦国产精品| 天天爽天天| 91久久国产综合精品| 91 偷| 欧美αv.com| www.久久制服糖| 亚洲囯产精品女人久久久| 超碰人人干| 亚洲欧美清纯| 91 丝袜在线| 欧美日韩 强奸乱伦| 青青草综合在线| 亚洲熟妇乱女区二区三区| 无码人妻精品一区二区三区99不卡 | 欧美爆操91| 国产精品嫩草久久久久| 明星性猛交ⅹxxx乱大交| 国产成人啪一区二区| 看看小穴| 99久久99九九99九九九| 欧美一级黄片视频在线| 国产1024在线播放| 深喉吞精| 欧美精品,四区。五区| 激情图片亚洲色图| 无码人妻丰满熟妇奶水区毛片| 久久久久国产精品片区无码直播| 日本久久女同性恋视频| 欧美+日产+中文| 91精品国| 激情视频图片| 青青三级视频| 99这里都是精品| 99热日| 日韩人妻精品| 亚洲 综合 第一页| 久久九九热| 91中文字幕在线观看| 97干天天| 夜夜爽爽夜夜精品视频| 人妻美腿丝袜日韩| 成人怡红院| 神马麻豆福利院 | 白丝少妇一区二区| 99抽插| 国产黄色动态精品| 色九九九综合| 久久久久久久久女黄| 91亚洲黄色网| 999综合网| 国产精品久久妻无码网站| 翔田千里A片一区二区| 亚洲图片欧美| 亚洲熟女诱惑| 午夜超爽| 亚洲中文日韩精品| 98一区二区精品| 免费看污网站| 久久久久密臀视频| 777超碰| 18禁在线视频| A V少妇特黄三级| 欧美 亚洲 综合 制服| 九九玖玖精品| 超碰色美女| 人人操我人人干| 东京热大香焦| 久久人| 秋霞成人做爱| 九九热精品免费视频| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 人人干黄色| 亚洲综合中文字幕有码| 国产欧美一区二区| 疯操AV| 国产精品麻豆免费视频| 日本超碰97日韩精品人妻| 国产欧洲精品亚洲午夜拍精品| 好吊色综合| JIZZJIZZ国产精品喷水| 久久九精品| 亚洲性网| 人妻久热在线| 欧美日韩1234| 无码欧美有限公司| 久久熟女嫩草成人片免费| 香伊人在线| 中文有码第五页| 中日韩一区二区三区欧美| 亚洲成人网站在线观看| 九九九国产| 成片免费观看视频大全| 色臀aV| 久久精品国产亚洲AV高级北京| 欧美香蕉视xxx| 日本精品网站在线中文| 狠狠2050在线观看| 亚洲国产精品有声| 少妇久久久免费| 日韩av乱伦| 激情文学小说一区二区 | 久久久激情| 免费视频观看60秒| 五月天色图影视| 国产1024在线播放| 97色妞| 操逼视频免费日韩无码| 日比av无码| 婷婷三区| 围产精品一区二区三区视频播放| 久久久成人免费av电影| 天天综合色电影| 免费黄色片。| 密臀成人视频久久久| 91原创在线观看| 国产精品制服丝袜清纯唯美| 天天看天天日天天操| 超碰夫妻97| 99视频自拍| 久久成人国产精品| 97资源站国产精品| 欧亚不卡| 天美av在线观看| 超碰人人超在线观看| 亚洲欧美国产va在线播放频| 综合网少妇| 青青草玖玖爱| 97亚洲资源| 五月激情小说| 午夜男人一级A片7777| 色翁荡息又大又硬又粗又爽| 91美女视频在线观看| 色偷偷人人玩人人舔人人操人人摸人人爽 | 蜜桃丰满熟妇av无码区不卡| 狠狠久久亚洲欧美专区| av日韩在线观看电影| 蜜臀AV秘一区翔田千里| 日韩福利综合一区| 欧美一区二区男人天堂| 日本熟妇浓毛hdsex| 青青久草| 青青青青青手机视频| 久久精品噜噜噜成人看免欧美大片| 国产地址二三| 日韩精品系列| 热热色青青草| 96一区二区| 亚洲欧美日韩免费观看| 97网色| 香蕉99秘 一区精品蜜桃臀| 99re99在线视频| 人人妻人人爽| 淫荡网址| 在线综合 亚洲 欧美中文字幕| 久久精品人人做人人看| 亚洲熟伦熟妇AV无码春色| 亚洲无992tv| 三级色综合| 五月丁香综合啪啪| 亚洲欧美性生活| 九七人妻在线| 中文字幕乱码在线| 日韩av不卡在线看| 亚洲天堂无码| 台湾肥佬网一区二区三区| 欧美 综合 亚洲| 青青草好吊色| 性爱Av免费| 国产精品老师| 午夜福利区| 色香91| 国产精品扒开腿做爽爽爽视频| 久久久久亚洲熟妇熟女| 日本三级中国三级99人妇网站| 久久一留热品黄| 精品1区2区3区| 久久黄色性爱视频| 超碰国产情侣自拍网| 色欧美色交综合| 国产Aα| 91女人的网站| 欧美同性恋 的搜索结果 - 91n| 屁股久久久久久| 新婚人妻扶着粗大强行坐下| 99视频只有精品| 国产亚洲精品美女| 成全动漫视频观看免费下载| 大香蕉黄色一区| 超碰天天操| 亚洲精品久久久久久久蜜桃臀| 国产精品久久久久无码A√| 精品国产污一区二区三区| 国产精品乱码久久久| 亚洲精品亚洲人成在线麻豆| 亚州 综合 色图| 亚洲高清无毛一区二区| 性性久久| 国产亚洲美日韩Aⅴ中文字幕无码成人| 99国产精品人妻人伦| 韩国一级做a久久久久| 亚洲日本男人天堂网| 久久精品国产亚洲AV清纯| 亚州情色j区| 色色毛片| 亚洲一本色码中文字幕| 在线综合色| 97在线观看视频| 六月丁香网| A片大香蕉在线| 欧美亚洲高清不卡| 操逼国产免费| 欧美色91| 99国产精品久久久在线播放| 国产小黄片在线免费观看| 亚洲中亚日激情视频| 一本道综合色图| 中文字幕精品一区二| 无码人妻精品一区二区三区九九 | 国产怡红院| 无套内射人妻在线播放| 骚货操死你| 国产一级久久久| 亚洲 日韩 欧美 国产综合体| 99久久久无码国产精品性啊聊| 91 丝袜在线观看| 欧美有码亚洲中文字幕一区二区三区四区| 亚洲,日韩,欧美,成人播放| 超碰到97情色| 在线观看A啊啊啊| 黄片直播三级黄片两女一男| 东京热男人的天堂| 久九九九九九九九热| 国模限制级电影| www欧美性爱| 国内精品a| 大香蕉99re| 午夜精品久久999热蜜桃介男人用| 成人网址在线观看| 七月丁香婷婷| 日本黄色XXX| 久热久一区二区三区| 色综合久久久久| 成人av影院在线观看| 欧美日韩妖精91com| 黑人干亚洲| 女人的天堂大香蕉网| 后入 亚洲 美女 射| 极品五月天噜噜| 色婷婷电影网| aⅴ日韩成人电影av在线免费看av大全| a片久久久久久久久久久久 | 国产极品精品美女视频| 97色碰| 国产精品白丝| 在线播放成人高清免费视频| 国产色图乱伦| 综合久久久久久久久91| www.av在线视频| 在线岛| 三级网色| 欧美日韩成人| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 欧美gv在线观看| 岛国A V在线免费看| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 国产AV线| 超碰偷拍| 欧洲亚洲人人爽爽视频| 亚洲一本色码中文字幕| 亚洲激情深爱文学小说网站| 97在线视频免费看| 无码精品久久久久久亚洲| 污电影在线观看| 亚洲欧美电影| 日本 色 导航| 亚洲综合激情五月久久| 青青操视频在线| 97天天插| 操熟女91| 2018天天日天天日| 亚洲乱码国产乱码精网站| 日韩丝袜人妻AV| 美女天天干| 久久亚洲日韩国产欧| 狠狠爱大香蕉| 高清无码 国产精品| 伊欧美综合视频| 无码人妻丰满熟妇奶水区毛片| 青青草国产盗摄一二三区| 91精品人妻一区二区三区蜜臀| 国产粉嫩蜜臀av一区二区三区| 国产一区二区三区导航| 亚洲美乱| 亚洲欧美黄| 91亚洲色人| 亚洲无码AV九九九| 久久综合精品一区二区三区| 亚洲综合第一页| 免费综合亚洲中文| 大香蕉国产中文自拍| 亚洲女人91| 干婷婷综合网| 伊人亚洲综合| 国产亚洲精品美女久久久m| 丰满人妻一区二区三区在线| 亚洲图片小说欧洲| 婷婷综合在线| 日本国产二线女色| 久精品无码av一区二免费国产在线观看 | 色天天野狼综合社区| 玖玖爱免费观看视频| 婷婷精品国产一区二区三区日韩| 亚洲熟妇一,二,三期| 麻豆AV一区二区| 淫荡网址| 青青草字幕AV| 乱伦系列一区二区| 97超碰美女| 狠狠狠狠狠| 另类欧美色| 宅男午夜在线视频| 黄色片,com| 中文熟女五十乱码在线| 青青草丝袜在线视频| 久久精品熟妇丰满人妻99| 五月丁香综合网| 一本色道无码DVD中文字幕| 欧美aⅴ99久久黑人专区| 18禁的网站在线| 97亚洲精品| 亚州色图片在线色| 国产女上位好爽在线| 久久久久久久国产视频| 久久有码视频| 德国一二三不卡| 天天色黄色影院天天操| 欧美精品三区| 一区二区三区美女超清| 人人摸人人舔一区二区| 色蜜AV| 国产又黄又粗的视频| 国产精品久久久久婷婷二区次| 天天干2区3区| 色狠狠色| 看大黄色大片原件| 日韩无码极品| 精品人妻av区天天看片| 日日夜夜草草草| 欧美亚洲综合色| 人妻啊啊人妻啊| 日韩午夜啪啪视频| 户外裸露刺激视频第一区| 亚洲欧美日韩偷拍色图| 天美传媒婬乱在| 国产9l 大屁股| 九九九热精品| 人妻少妇精品久久久| 夜夜狠狠躁日日躁色视频| 欧洲色| www.激情| 人妻激情另类| 国产日本熟女顶级一区二区三区视频 | 色97国产69香蕉| 亚洲欧洲综合| 91亚洲色图| 国产又黄又粗又猛大片| 亚洲欧洲日韩中文字幕一区| 久久久久久999| 99热在线观看| 日韩欧美日韩| 欧美日韩大香蕉| 第四色奇米影视777| 国产亚洲精品农村妇女| 国产精品久久久久久久毛片1| 国产9 9在线 | 亚洲| 国产精品人妻熟女aⅴ| 国产AV高清AV无码| 亚洲高清在线| 色一射色一射| 亚洲色图欧美色图综合| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 欧美日韩性爱无码| 欧美性爱一级操| 十八禁啪啦拍视频无遮挡| 欧美制服网站美腿丝袜| 热热热热日日漂亮永久永久国产日| 蜜桃臀一区二区三区久久| 日韩免费av片高清无码| 日韩无码专区| 九久久精品| 屁股久久久久久久| 亚洲精品视频在线播放| 91AV天堂| 无码精品久久| 亚洲图片欧美91N| 欧美亚州色的图| 五十路六十路素人熟女| 素人美腿视频网站| 亚洲黄色电影| 亚洲操人| 久久噜| 国产日韩精品suv| 丁香五月影院| 亚洲性综合11| av网页一区二区三区| 久久男人的天堂国产| 囯产精品强| 亚欧无码在线| 干B| 啪啪视频亚洲第一| 97网址www| 猛猛干| 大香蕉在线视频15| 久久久久国产精品久久久| 91九色网| av中亚| 性色一线| 中文字幕乱亚洲美女精品一区| 日韩av乱伦| 91天天| 国产又大又粗又长视频在线| 操逼日批| 中文字幕人乱码中文字的预防方法 | 伊人网av| 婷婷性网| 91久久午夜无码鲁丝片久久人妻| 亚洲国产91精品一区二区久久| 欧洲乱码一区二区| α√在线| 蜜臀久久久99久久久久| 蜜臀久久一区二区| 午夜一区二区三区国产| 亚洲在线观看| 精彩视频日韩| 国产精品4p在线观看| 96久久久精品| 亚洲中文字幕97久久精品少妇| 被操高清无码视频| 女同性恋中文字幕| 偷拍欧美综合| 亚洲无无码αⅴ每日更新| 日日黄色三级网站| 国产一区二区三区影片| 色综合一区二区三区| 麻豆黄四叶草网站| 国产1769在线| 青青草色AV| 久草资源欧美在线视频| 99久久精品国产高潮| 久久69| 亚洲怡春院| 一本色道无码DVD中文字幕| 试看60秒| 狠狠色一区二区中文字幕| 黑人娇小av在线播放| 91国产丝袜美女| 偷看洗澡一二三区美女| 免费看黄视频亚洲网站| 天天躁日日躁AAAAXXXX国产 | 亚洲有薄码区日本系列中文字幕| av日韩在线观看电影| jizz啪啪| 欧美色女人| 亚洲图片欧美偷拍| 精产国品一区二三产品| 99热精品在线| 亚洲少妇中文字幕网址| 黄色大香焦1级‘′‘| 亚欧性爱无码| 成人小说另类在线| 成人麻豆av电影网站| 亚洲免费成人在线高清无码视频| 日韩成人大片在线观看| 玖玖爱免费观看视频| 日韩一级片在线看| 亚洲AV成人无码一区二区三区在线观看| 玖玖爱免费观看视频| 乱伦1色页| 亚州操逼图| 色综合久| 久久久久免费少妇| 超碰在线974| 日韩在线97| 很很很很操| 亚州九九九精品视频| 欧美高潮| 男人的天堂久久| 久久免费9| 国产精品成人无码a v毛片| 肉嘟嘟www视频在线观看高清| 蜜臀99精品国产高清在线观看| 超碰视97中文| 欧美超碰人妻97| 91麻豆天美国产欧美高潮| 国产精品久久久| 国产动漫操逼视频| 91色噜噜狠狠| 97爱亚洲| 激情综合二| 内射白嫩美女| 中文字幕久久亚州无码| 人妻熟女一区二区在线视频| 久久大黄片| 五月天玖玖资源站| ,国产乱人伦精品一区二区三区| 欲射影视| 国产成人精品无码久久| 蜜臀国产AV中文字幕| 麻豆一区二区三区在线看| 国内偷拍精品一区二区| 亚洲欧美一区二区三区一猛片| 国产 日韩 欧美 人妻 熟女 中文| 亚州再线| 日本操逼视频不卡直接放| 九九Av| 国产深喉| 中日韩熟女| 成人一区二区三区四区| 97超级久久| 日本三级一区二区 在线| 91黑丝露脚| 91超碰在线| 九月丁香| 日比av无码| 91麻豆天美国产欧美| 性感美女91影视| 色色婷| 欧美成年人性爱视频免费观看| 97精彩视频网站| 在线观看不卡一区二区三区| 天天操美美| 丁香六月激情综合| 91丨国产丨白浆秘 洗澡动漫| 草伊人高潮喷水超碰| 岛园激情| 96国产精品| 亚洲欧洲偷拍一区| 精品人妻一区二区三区日产乱码| 狠狠综合网| 日日躁狠狠躁天天躁精品| 久久女人一区二区三区| 精品无码欧美三级| 操逼免费视频无码国产| 校园春色 亚洲| 国产精品久久久久绯色| 五月天丁香婷婷综合网站| 殴美色网| 自拍视频大全亚洲专媒视频/一区二区三区| 白丝被操91| 中文字幕欧洲有码| 日少妇亚洲版| 超碰在线91| 国产一区二区a毛片| 日韩免费a级毛片无码a∨| 久久一区二区加油站| 99免费在线视频| 国产精品蜜臀久久久久无码AV| 国产精彩女在线观看视频| 天天插天天插| 亚洲aV无码成人在线观看| 97资源亚洲| 久草线上视频免费看| 亚洲天堂人妻一区二区| 最新日产中文在线麻豆| 嫩草美女久久| 后入式免费视频| 国产精品在线一区二区| 天操老女人| 玖玖爱一区在线| 自拍盗摄一区| 国产大片精久久久久久| 99999无码| 嫩草 人人网精品| 丁香五月天婷婷姐| 国产白嫩精品久久| 99少妇精品视频| 欧美亚州手机在线| 插插综合网天天影视网| 久久精品91| 亚洲综合色在线| 亚州综合在线| 97亚洲中文| 日本加勒比无码专区| 91痴汉| 偷拍视频青青草在线视频| 人妻无码一区二区三区久久99| 国产精品久久久久久久久久二区三区| 欧美色图成人网一区二区 | 日本成熟少妇A∨网站| 日韩激情电影中文字幕| 亚州免费啪啪视频| 国产 码在线成人网站| 日韩免费人妻色情网站| 精品视频专区| 亚州日韩97| AV女资源| 久久久久久久国产视频| 九九亚洲视频| 欧美色图亚洲色图成人在在线| 激情综合av| 久久精品一区一起草| 天天综合网~91| 在线看的av| 蜜桃久久综合视频| 五月天久久婷婷亚洲 | 亚洲精品丝袜-不卡成人免费……| 特级丰满少妇一级AAAA爱毛片| 五月丁香激情综合网| 丝袜AV一二三区| 九九九九免费视频| 97在线资源| 91少妇人妻| 十八禁视频一区二区| www.人人cao| 婷婷天堂站| 黑人精品久久97| 色汉综合| 99热最新网址| 亚洲图片欧美另类综合免费视频大大香| 激情五月天中文字幕色| 成人性爱高清视频免费看| 欧美性生活内射| 人妻天堂网| 狠狠综合网| 精彩久久中文| 日韩精品在线观看观看| 中文字幕丝袜人妻| 啪啪综合网| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 久久久久久久久成人av解说| 国产熟女| 青娱乐亚洲自拍| 亚洲男人天堂2013| 精品中文字幕一区二区l - 百度| 激情终合网| 在线综合 亚洲 欧美中文字幕| 日韩钢筋无码高清啾啾啾| 中文字幕精品一区欧美| 久久的网站啊啊啊啊啊| 精品黄色电影| 97午夜剧场日韩| 亚洲成人精品在线一区| 爱爱久久| 性做久久久久久久| 亚洲熟女一区二区| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 日本欧美色| 亚洲色诱惑| 日本不卡二区| 超碰天天操| 国产精品999zyz| 桑老女人九区| 欧美日韩国产在线| 久久免费99精品久久久久久| 美腿丝袜偷拍亚洲欧美| 干婷婷综合网| 亚洲影视综合| 亚洲涩涩| 日本综合色图| 欧美色涩| 天天干夜夜| 中文字幕日产av人| 亚洲色图日韩精品| 久9九综合在线| 哈哈操 大香蕉| 观看视频图片一区二区三区| 99热精品在线播放| 偷拍三区| 日韩免费中文字幕视频| 夜夜高潮夜夜爽夜夜爱爱一区| 人妻密肉在线观看| 国产精品久久久久综合| 日韩97| 婷婷超| 欧美一级二级三级| 啊啊啊在线看| 精品女同一区| 蜜桃臀AV在线| 91丝袜熟女| www.久久| 91是天天| yirendaxiangjiashipin| 中亚av| 日韩精品碰碰| 在线a v| 久久无码一区二区二三区性色| 久久精品六区| 东京热伊久| 精品97久久| 日韩欧美日韩| 色翁荡息又大又硬又粗又爽| 日本久久超碰| 26uuu成人影片| 久久欲| 97人人模人人爽人人| 国产 日韩 另类 视频一区爱| 国产精品久久久久综合| www.人人cao| 9久久9综合| 人妻无码视频一区二区三区久久| 人妻丝袜肏逼| 大香蕉伊在线久草麻豆天堂故事| 天美传媒av一区二区| 亚洲男人的天堂AV| 啊啊啊啊啊啊啊啊要喷了| 99www.bibizy香蕉资源国产一区二区三区高清| 久久久久ab| 亚洲 欧美 天天| 亚洲国产精品成人综合| 欧美激情久操网| 中文字幕一区二区日韩网| 国产视频人人网| a v网站在线播放| 国模限制级电影| 欧洲Au麻豆| 青青草一区二区三区四| 97精| 欧美日韩性爱操大逼| 婷婷综合激情| 中文字幕精品专区搜索结果91| 精品无码欧美三级| 97色碰| 欧美亚洲在线| 粉嫩av久久一区二区三区| 激情自拍 校园春色| 无套后入双马尾| 九九视频黄色片| 人妻在线中出视频| 这里只有精品97| 亚洲中文字幕精品久久久久久直播| 老女人碰碰在线碰碰视频| 色欲天天综合久久久无码网中文| 亚洲激情在线| 国产精品97视频| 99精品在线| 91天天综合日韩欧美| AA特级绝黄| 少妇99| 中文字幕免费看大片| 青青久操| 影音先锋少妇| 久久久精品久久| 免费a在线播放v| 欧美丝袜中文字幕07在线| 亚洲九九夜夜| 粉嫩av在线| 2025亚洲男人天堂| 国产精品午夜福利亚洲综合网| 日韩影片中文字幕一区二区三区| 97亚洲欧美| 最新亚洲风情电影| 免费av高清无码| 嗯嗯啊啊亚欧精品| 日韩一区二区高清在线观看的| 婷婷激情五月综合| 国产成人无码久久精品| 久久久96| 色眯眯av| 北条麻妃99精品青青久久| www.久久最新地址| 超碰4A| 加勒比在线视频| 中文字幕狠狠玩| 国际精品久久久| 精品99999久久久久久| 白嫩国模丰满一二三区| 伊人网在线点播| 日本免费不卡二区| 成人在线视频网| 亚洲色图欧洲| 欧美九九爱| 婷婷精品| 新版天堂中文资源8在线| 极品欧美一区二区三区| 不卡六六在线91| 使劲用力艹少妇视频一区二区| 婷婷久草一区二区三区| 国产在线强奸视频| 欧美另类丝袜熟女| 97在线观看免费| 激情露脸爱| 啪啪视频亚洲第一| 99精品无码| 97超碰欧美手机在线| 精品人妻一区二区乱码一区二区| 婷婷色综合| 51一区二区三区| 亚洲欧洲无码bt精品合集| 青草成人免费视频一com| 色色五月婷| 久久精品夜色国产亚洲AV| 大香蕉 222| 天天综合网一91网| 五月婷婷基地| 嗯嗯啊啊视频在线看| 澳门特级毛片免费观看| 免费公开人人操| 日韩国产乱子伦App| 1禁看欧美黄片免费看| 久久精视频美日韩在线视频| 91精品啪在线观看国产城中村| 国产精品干干干| 91干熟女| 精品网站9999| 亚洲男人的天堂网| 久久久久久久久国产| 粉嫩av一区二区三区四季| 欧美激情 一区| 亚洲人妻五月丁香婷婷|