99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

BP神經(jīng)網(wǎng)絡(luò)多輸入多輸出回歸與SHAP可解釋分析實(shí)戰(zhàn)

BP神經(jīng)網(wǎng)絡(luò)多輸入多輸出回歸與SHAP可解釋分析實(shí)戰(zhàn) 簡介這份資源面向需要掌握多輸入多輸出回歸建模與模型可解釋性的機(jī)器學(xué)習(xí)學(xué)習(xí)者和工程人員提供一套基于MATLAB的完整實(shí)現(xiàn)方案。內(nèi)容圍繞BP神經(jīng)網(wǎng)絡(luò)展開覆蓋回歸預(yù)測(cè)、SHAP可解釋分析以及新數(shù)據(jù)預(yù)測(cè)三大環(huán)節(jié)配套Excel格式的多輸入多輸出數(shù)據(jù)集可直接替換數(shù)據(jù)復(fù)現(xiàn)實(shí)驗(yàn)。壓縮包共8個(gè)文件包含4個(gè)m腳本、3個(gè)xlsx數(shù)據(jù)表和1個(gè)txt說明文件整體約55KB腳本分別承擔(dān)主流程回歸、SHAP值計(jì)算、新樣本預(yù)測(cè)與核心函數(shù)封裝等職責(zé)數(shù)據(jù)表則提供訓(xùn)練與待預(yù)測(cè)樣本。已有92人學(xué)習(xí)關(guān)注。讀者可借此理解BP網(wǎng)絡(luò)在多輸出任務(wù)中的搭建與調(diào)參思路掌握SHAP方法對(duì)特征貢獻(xiàn)的量化解釋流程并學(xué)會(huì)將訓(xùn)練好的模型遷移到新數(shù)據(jù)上完成預(yù)測(cè)適合作為課程設(shè)計(jì)、論文實(shí)驗(yàn)或工程原型的參考模板。1. 從一張“黑箱”預(yù)測(cè)表說起B(yǎng)P神經(jīng)網(wǎng)絡(luò)多輸入多輸出回歸到底在解決什么你手里有一批實(shí)驗(yàn)數(shù)據(jù)輸入是 6 個(gè)工藝參數(shù)輸出是 3 個(gè)性能指標(biāo)領(lǐng)導(dǎo)要你“建個(gè)模型既能預(yù)測(cè)新樣本又能說清楚哪個(gè)輸入影響最大”。這時(shí)候單輸出模型要訓(xùn) 3 次每次還得單獨(dú)調(diào)參改一個(gè)輸入維度就得全部重跑。BP 神經(jīng)網(wǎng)絡(luò)多輸入多輸出回歸就是沖著這個(gè)場(chǎng)景來的一個(gè)網(wǎng)絡(luò)同時(shí)吐出多個(gè)目標(biāo)值共享隱含層特征訓(xùn)練一次搞定多目標(biāo)。但純 BP 的預(yù)測(cè)結(jié)果沒人敢信因?yàn)樗呛谙洹猄HAP 可解釋分析就是那把撬開黑箱的螺絲刀用博弈論里的 Shapley 值給每個(gè)輸入特征分配貢獻(xiàn)度讓你能對(duì)著圖說“第 3 個(gè)輸入對(duì)第 2 個(gè)輸出的影響占了 40%”。MATLAB 完整源碼和數(shù)據(jù)意味著你不用從零搭輪子改改數(shù)據(jù)接口就能跑自己的項(xiàng)目。這套組合適合做實(shí)驗(yàn)數(shù)據(jù)回歸、工藝參數(shù)優(yōu)化、多指標(biāo)預(yù)測(cè)的工程師尤其是樣本量在幾百到幾千條、輸入輸出維度不超過 20 的場(chǎng)景。下面我把從數(shù)據(jù)組織到 SHAP 解釋再到新數(shù)據(jù)預(yù)測(cè)的完整鏈路拆開講中間踩過的坑一并奉上。2. 多輸入多輸出 BP 網(wǎng)絡(luò)的數(shù)據(jù)組織與網(wǎng)絡(luò)搭建2.1 輸入輸出矩陣怎么擺MATLAB 里的行列約定BP 網(wǎng)絡(luò)在 MATLAB 里最容易被數(shù)據(jù)維度搞翻車。feedforwardnet或fitnet默認(rèn)把每一列當(dāng)作一個(gè)樣本每一行當(dāng)作一個(gè)特征。也就是說如果你有 500 個(gè)樣本、6 個(gè)輸入、3 個(gè)輸出輸入矩陣X應(yīng)該是 6×500輸出矩陣Y應(yīng)該是 3×500。很多人從 Excel 讀進(jìn)來是 500×6直接丟進(jìn)去訓(xùn)練結(jié)果網(wǎng)絡(luò)把 500 個(gè)特征、6 個(gè)樣本拿去學(xué)訓(xùn)練誤差看著降了預(yù)測(cè)全是垃圾。這是血淚經(jīng)驗(yàn)里排第一的坑。正確的數(shù)據(jù)組織方式如下% 假設(shè) rawData 是 500×9 的矩陣前6列輸入后3列輸出 rawData readmatrix(data.xlsx); % 500×9 X rawData(:, 1:6); % 轉(zhuǎn)置為 6×500每列一個(gè)樣本 Y rawData(:, 7:9); % 轉(zhuǎn)置為 3×500每列一個(gè)樣本 % 檢查維度 fprintf(輸入維度: %d×%d\n, size(X,1), size(X,2)); fprintf(輸出維度: %d×%d\n, size(Y,1), size(Y,2));這段代碼的核心就兩步讀數(shù)據(jù)、轉(zhuǎn)置。readmatrix是 MATLAB R2019a 之后推薦的表格讀取函數(shù)比xlsread干凈。轉(zhuǎn)置之后size(X,1)是特征數(shù)size(X,2)是樣本數(shù)后面所有操作都圍繞這個(gè)約定。如果你用的是.mat文件直接load進(jìn)來后檢查變量名別假設(shè)它一定叫data。提示轉(zhuǎn)置后一定用size打印確認(rèn)別憑感覺。我見過有人轉(zhuǎn)置了兩次等于沒轉(zhuǎn)訓(xùn)練了半小時(shí)才發(fā)現(xiàn)。2.2 網(wǎng)絡(luò)結(jié)構(gòu)選型隱含層節(jié)點(diǎn)數(shù)不是越多越好多輸入多輸出 BP 網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)核心就三個(gè)決策幾個(gè)隱含層、每層多少節(jié)點(diǎn)、用什么訓(xùn)練函數(shù)。對(duì)于輸入輸出維度都在 20 以內(nèi)、樣本量幾百到幾千的問題一個(gè)隱含層足夠。理論上有萬能逼近定理撐著兩個(gè)隱含層只在函數(shù)復(fù)雜度極高時(shí)才需要而且更容易過擬合。隱含層節(jié)點(diǎn)數(shù)的經(jīng)驗(yàn)公式有好幾個(gè)我一般用這個(gè)起步nInput size(X, 1); % 輸入維度比如 6 nOutput size(Y, 1); % 輸出維度比如 3 nSample size(X, 2); % 樣本數(shù)比如 500 % 經(jīng)驗(yàn)公式sqrt(輸入輸出) 調(diào)節(jié)項(xiàng) nHidden round(sqrt(nInput nOutput)) 5; % 約 8 % 或者用 2*輸入1 起步 nHidden_alt 2 * nInput 1; % 13 % 搭建網(wǎng)絡(luò) net feedforwardnet(nHidden, trainlm); net.trainParam.epochs 1000; net.trainParam.goal 1e-5; net.trainParam.lr 0.01; net.trainParam.showWindow false; % 批量跑的時(shí)候關(guān)掉窗口feedforwardnet的第一個(gè)參數(shù)是隱含層節(jié)點(diǎn)數(shù)第二個(gè)是訓(xùn)練函數(shù)。trainlm是 Levenberg-Marquardt 算法收斂快適合中小規(guī)模網(wǎng)絡(luò)但內(nèi)存占用比trainscg高。如果樣本超過一萬條換trainscg更穩(wěn)。epochs設(shè) 1000 是上限實(shí)際訓(xùn)練中如果驗(yàn)證集誤差連續(xù) 6 次不降trainlm會(huì)自動(dòng)早停這個(gè)默認(rèn)參數(shù)是net.trainParam.max_fail 6。goal設(shè) 1e-5 是目標(biāo)誤差別設(shè)太小否則容易過擬合。節(jié)點(diǎn)數(shù)怎么定我的做法是從sqrt(nInputnOutput)5開始跑三次不同隨機(jī)種子看驗(yàn)證集 MSE 的均值和方差。如果方差大說明節(jié)點(diǎn)數(shù)偏多減 2 到 3 個(gè)再試。如果均值高加 2 個(gè)。這個(gè)過程一般迭代 3 到 4 輪就能找到穩(wěn)定區(qū)間。別用遺傳算法或粒子群去優(yōu)化節(jié)點(diǎn)數(shù)對(duì)于這個(gè)規(guī)模的問題手動(dòng)試比自動(dòng)搜索快。2.3 數(shù)據(jù)劃分與歸一化別讓量綱差異毀了訓(xùn)練多輸入場(chǎng)景下不同輸入的量綱可能差幾個(gè)數(shù)量級(jí)。比如溫度是 200 到 800壓力是 0.1 到 0.5如果不歸一化梯度下降會(huì)被大量綱特征主導(dǎo)小量綱特征幾乎不更新。MATLAB 的feedforwardnet默認(rèn)在訓(xùn)練前自動(dòng)做mapminmax歸一化把數(shù)據(jù)映射到 [-1, 1]訓(xùn)練后再反歸一化輸出。但這個(gè)自動(dòng)處理有個(gè)坑它是在train函數(shù)內(nèi)部做的你拿到的net對(duì)象里歸一化參數(shù)存在net.inputs{1}.processSettings里新數(shù)據(jù)預(yù)測(cè)時(shí)必須手動(dòng)調(diào)用同樣的歸一化參數(shù)否則預(yù)測(cè)結(jié)果完全不對(duì)。% 手動(dòng)劃分訓(xùn)練/驗(yàn)證/測(cè)試集 net.divideParam.trainRatio 0.7; net.divideParam.valRatio 0.15; net.divideParam.testRatio 0.15; % 訓(xùn)練 [net, tr] train(net, X, Y); % 訓(xùn)練集預(yù)測(cè) Y_train_pred net(X(:, tr.trainInd)); % 測(cè)試集預(yù)測(cè) Y_test_pred net(X(:, tr.testInd)); % 計(jì)算測(cè)試集 MSE mse_test perform(net, Y(:, tr.testInd), Y_test_pred); fprintf(測(cè)試集 MSE: %.6f\n, mse_test);divideParam的三個(gè)比例加起來必須是 1。tr.trainInd、tr.valInd、tr.testInd是訓(xùn)練完成后tr結(jié)構(gòu)體里的索引直接拿來切數(shù)據(jù)最可靠。perform函數(shù)自動(dòng)處理了歸一化和反歸一化算出來的 MSE 是原始量綱下的。如果你自己手算mean((Y_pred - Y_true).^2)記得先反歸一化否則數(shù)值對(duì)不上。注意train函數(shù)每次調(diào)用會(huì)重新隨機(jī)劃分?jǐn)?shù)據(jù)想復(fù)現(xiàn)結(jié)果就在train之前設(shè)rng(42)固定種子。3. SHAP 可解釋分析從黑箱里挖出特征貢獻(xiàn)度3.1 SHAP 值在回歸問題里的數(shù)學(xué)含義SHAP 的核心思想來自合作博弈論里的 Shapley 值把每個(gè)特征看作一個(gè)“玩家”模型預(yù)測(cè)值看作“總收益”每個(gè)特征分到的收益就是它對(duì)預(yù)測(cè)結(jié)果的貢獻(xiàn)。對(duì)于回歸問題SHAP 值滿足三個(gè)性質(zhì)可加性所有特征 SHAP 值之和等于預(yù)測(cè)值減去基線值、對(duì)稱性兩個(gè)貢獻(xiàn)相同的特征 SHAP 值相同、一致性特征貢獻(xiàn)變大時(shí) SHAP 值不會(huì)減小。這些性質(zhì)保證了歸因的合理性比簡單的特征重要性排序靠譜得多。對(duì)于 BP 網(wǎng)絡(luò)這種非線性模型精確計(jì)算 SHAP 值需要遍歷所有特征子集計(jì)算量是 2 的 n 次方。實(shí)際用的是 KernelSHAP 或 DeepSHAP 近似算法。KernelSHAP 把 SHAP 值計(jì)算轉(zhuǎn)化為一個(gè)加權(quán)線性回歸問題對(duì)每個(gè)樣本采樣若干特征子集用模型預(yù)測(cè)值擬合。DeepSHAP 則利用神經(jīng)網(wǎng)絡(luò)的反向傳播把 SHAP 值分解到每一層效率更高但要求網(wǎng)絡(luò)結(jié)構(gòu)已知。在 MATLAB 里沒有官方 SHAP 工具箱常見做法有兩種一是調(diào)用 Python 的shap庫通過 MATLAB 的 Python 接口傳數(shù)據(jù)二是自己實(shí)現(xiàn) KernelSHAP 的核心邏輯。我一般用第一種因?yàn)?Python 的shap庫成熟穩(wěn)定MATLAB 只負(fù)責(zé)訓(xùn)練網(wǎng)絡(luò)和導(dǎo)出預(yù)測(cè)函數(shù)。3.2 用 MATLAB 訓(xùn)練網(wǎng)絡(luò)并導(dǎo)出預(yù)測(cè)接口要讓 Python 的 SHAP 庫能調(diào)用 MATLAB 訓(xùn)練好的網(wǎng)絡(luò)最干凈的方式是把網(wǎng)絡(luò)導(dǎo)出為可獨(dú)立調(diào)用的函數(shù)。MATLAB 提供了genFunction函數(shù)可以把訓(xùn)練好的網(wǎng)絡(luò)轉(zhuǎn)成純 MATLAB 代碼不依賴神經(jīng)網(wǎng)絡(luò)工具箱。% 訓(xùn)練完成后導(dǎo)出網(wǎng)絡(luò)為函數(shù) genFunction(net, bpNetPredict, MatrixOnly, yes); % 測(cè)試導(dǎo)出的函數(shù) Y_check bpNetPredict(X); fprintf(導(dǎo)出函數(shù)與網(wǎng)絡(luò)預(yù)測(cè)最大差異: %.2e\n, max(abs(Y_check(:) - net(X)(:))));genFunction生成的bpNetPredict.m文件包含了網(wǎng)絡(luò)的所有權(quán)重、偏置和歸一化參數(shù)輸入輸出都是矩陣格式。MatrixOnly設(shè)為yes表示只接受矩陣輸入不接受元胞數(shù)組這樣在 Python 里調(diào)用更方便。導(dǎo)出后一定要用max(abs(...))驗(yàn)證一下差異應(yīng)該在 1e-10 量級(jí)如果大了說明導(dǎo)出過程有問題。接下來在 Python 里通過matlab.engine調(diào)用這個(gè)函數(shù)import matlab.engine import numpy as np import shap # 啟動(dòng) MATLAB 引擎 eng matlab.engine.start_matlab() eng.cd(rC:\your_project_path, nargout0) # 準(zhǔn)備數(shù)據(jù)X_py 是 numpy 數(shù)組形狀 (n_samples, n_features) X_py np.load(X_for_shap.npy) X_matlab matlab.double(X_py.tolist()) # 調(diào)用 MATLAB 預(yù)測(cè)函數(shù) Y_pred eng.bpNetPredict(X_matlab) Y_pred np.array(Y_pred) # 用 KernelSHAP 解釋 # 注意這里需要一個(gè)包裝函數(shù)輸入 numpy 返回 numpy def model_predict(X): X_m matlab.double(X.tolist()) Y eng.bpNetPredict(X_m) return np.array(Y).T # 轉(zhuǎn)置為 (n_samples, n_outputs) # 對(duì)第一個(gè)輸出做 SHAP 分析 explainer shap.KernelExplainer( lambda x: model_predict(x)[:, 0], # 只取第一個(gè)輸出 shap.sample(X_py, 50) # 用 50 個(gè)背景樣本 ) shap_values explainer.shap_values(X_py[:100], nsamples200)這段代碼的關(guān)鍵點(diǎn)matlab.double把 numpy 數(shù)組轉(zhuǎn)成 MATLAB 能識(shí)別的雙精度矩陣model_predict包裝函數(shù)負(fù)責(zé)在 Python 和 MATLAB 之間轉(zhuǎn)換數(shù)據(jù)格式shap.KernelExplainer的第一個(gè)參數(shù)是預(yù)測(cè)函數(shù)第二個(gè)參數(shù)是背景數(shù)據(jù)集背景樣本數(shù)一般取 50 到 100太少會(huì)導(dǎo)致 SHAP 值方差大太多計(jì)算慢。nsamples200是每個(gè)樣本采樣的特征子集數(shù)越大越精確但計(jì)算時(shí)間線性增長。3.3 SHAP 圖怎么看從 summary plot 到 dependence plotSHAP 分析跑完后核心產(chǎn)出是三類圖summary plot、dependence plot 和 force plot。summary plot 把每個(gè)特征的 SHAP 值分布畫成蜂群圖橫軸是 SHAP 值縱軸是特征名顏色表示特征值高低。看這張圖能快速判斷哪些特征重要SHAP 絕對(duì)值大、影響方向是什么特征值高時(shí) SHAP 正還是負(fù)。import matplotlib.pyplot as plt # Summary plot shap.summary_plot(shap_values, X_py[:100], feature_names[fX{i1} for i in range(6)]) plt.savefig(shap_summary.png, dpi300, bbox_inchestight) # Dependence plot看第 3 個(gè)特征對(duì)第 1 個(gè)輸出的影響 shap.dependence_plot(2, shap_values, X_py[:100], feature_names[fX{i1} for i in range(6)]) plt.savefig(shap_dependence_X3.png, dpi300, bbox_inchestight)summary_plot的feature_names參數(shù)建議用有物理意義的名稱比如[溫度, 壓力, 流速, ...]別用X1、X2否則圖給領(lǐng)導(dǎo)看的時(shí)候還得解釋。dependence_plot的第一個(gè)參數(shù)是特征索引從 0 開始。這張圖能看出特征與 SHAP 值的關(guān)系是線性還是非線性如果散點(diǎn)呈現(xiàn)明顯的曲線說明 BP 網(wǎng)絡(luò)捕捉到了非線性效應(yīng)這正是用神經(jīng)網(wǎng)絡(luò)而不是線性回歸的理由。提示SHAP 值有正負(fù)正表示該特征把預(yù)測(cè)值推高負(fù)表示推低。summary plot 里如果某個(gè)特征的 SHAP 值集中在 0 附近說明這個(gè)特征對(duì)模型幾乎沒貢獻(xiàn)可以考慮剔除后重新訓(xùn)練簡化模型。4. 新數(shù)據(jù)預(yù)測(cè)從單條樣本到批量推理的完整鏈路4.1 新數(shù)據(jù)預(yù)處理的三個(gè)必須對(duì)齊新數(shù)據(jù)預(yù)測(cè)翻車十有八九是預(yù)處理沒對(duì)齊。訓(xùn)練時(shí)用的歸一化參數(shù)、缺失值處理方式、異常值截?cái)嚅撝翟谛聰?shù)據(jù)上必須一模一樣。MATLAB 的genFunction導(dǎo)出的函數(shù)已經(jīng)包含了訓(xùn)練時(shí)的歸一化參數(shù)所以只要新數(shù)據(jù)的原始量綱和訓(xùn)練數(shù)據(jù)一致直接調(diào)用就行。但如果你在訓(xùn)練前手動(dòng)做過缺失值填充或異常值替換新數(shù)據(jù)也得走同樣的流程。% 新數(shù)據(jù)一條樣本6 個(gè)輸入 newSample [350, 0.35, 12.5, 80, 2.1, 0.9]; % 直接調(diào)用導(dǎo)出的函數(shù) prediction bpNetPredict(newSample); fprintf(預(yù)測(cè)輸出: %.4f, %.4f, %.4f\n, prediction(1), prediction(2), prediction(3)); % 批量預(yù)測(cè)100 條新樣本 newBatch rand(100, 6) .* [500, 0.5, 20, 100, 3, 1.5]; % 模擬新數(shù)據(jù) predBatch bpNetPredict(newBatch); fprintf(批量預(yù)測(cè)維度: %d×%d\n, size(predBatch,1), size(predBatch,2));注意newSample是 1×6 的行向量轉(zhuǎn)置后變成 6×1 的列向量符合網(wǎng)絡(luò)輸入要求。predBatch是 3×100每列一個(gè)樣本的三個(gè)輸出。如果新數(shù)據(jù)的某個(gè)特征超出了訓(xùn)練數(shù)據(jù)的范圍BP 網(wǎng)絡(luò)會(huì)外推但外推可靠性隨超出程度增加而下降。我一般會(huì)檢查新數(shù)據(jù)每個(gè)特征是否在訓(xùn)練數(shù)據(jù)的 [min, max] 范圍內(nèi)超出 20% 以上的樣本標(biāo)記出來人工復(fù)核。4.2 預(yù)測(cè)結(jié)果的置信區(qū)間估計(jì)BP 網(wǎng)絡(luò)給出的是點(diǎn)預(yù)測(cè)沒有置信區(qū)間。但在工程決策里光有點(diǎn)預(yù)測(cè)不夠還需要知道預(yù)測(cè)的不確定性。常用做法是集成多個(gè)不同初始化的網(wǎng)絡(luò)用預(yù)測(cè)值的均值和標(biāo)準(zhǔn)差作為置信區(qū)間的近似。% 訓(xùn)練 10 個(gè)不同初始化的網(wǎng)絡(luò) nEnsemble 10; Y_ensemble zeros(nOutput, size(X_new, 2), nEnsemble); for i 1:nEnsemble rng(i * 100); % 不同隨機(jī)種子 net_i feedforwardnet(nHidden, trainlm); net_i.trainParam.showWindow false; net_i train(net_i, X, Y); genFunction(net_i, sprintf(bpNetPredict_%d, i), MatrixOnly, yes); Y_ensemble(:, :, i) feval(sprintf(bpNetPredict_%d, i), X_new); end % 計(jì)算均值和標(biāo)準(zhǔn)差 Y_mean mean(Y_ensemble, 3); Y_std std(Y_ensemble, 0, 3); % 95% 置信區(qū)間近似 Y_lower Y_mean - 1.96 * Y_std; Y_upper Y_mean 1.96 * Y_std; fprintf(第一個(gè)輸出的 95%% 置信區(qū)間寬度均值: %.4f\n, mean(Y_upper(1,:) - Y_lower(1,:)));這段代碼訓(xùn)練 10 個(gè)網(wǎng)絡(luò)每個(gè)用不同隨機(jī)種子預(yù)測(cè)結(jié)果取均值和標(biāo)準(zhǔn)差。std的第二個(gè)參數(shù) 0 表示按 N-1 歸一化第三個(gè)參數(shù) 3 表示沿第三維集成維度計(jì)算。置信區(qū)間寬度反映了模型在這個(gè)樣本上的不確定性寬度大的樣本建議人工復(fù)核。這個(gè)方法的計(jì)算成本是單網(wǎng)絡(luò)的 10 倍如果訓(xùn)練一個(gè)網(wǎng)絡(luò)要 5 分鐘集成就要 50 分鐘適合離線批量預(yù)測(cè)不適合實(shí)時(shí)推理。4.3 把預(yù)測(cè)和 SHAP 解釋串成一條流水線實(shí)際項(xiàng)目里新數(shù)據(jù)預(yù)測(cè)和 SHAP 解釋往往需要一起交付。比如給一批新樣本既要預(yù)測(cè)值又要知道每個(gè)樣本的預(yù)測(cè)主要受哪個(gè)特征驅(qū)動(dòng)。這時(shí)候可以把預(yù)測(cè)和 SHAP 分析串成一個(gè)腳本輸入原始數(shù)據(jù)輸出預(yù)測(cè)表加解釋圖。% 完整流水線新數(shù)據(jù)預(yù)測(cè) SHAP 解釋 function [Y_pred, shap_values] predictWithExplanation(X_new, model_path) % 加載導(dǎo)出的預(yù)測(cè)函數(shù) addpath(model_path); % 預(yù)測(cè) Y_pred bpNetPredict(X_new); % 導(dǎo)出新數(shù)據(jù)供 Python SHAP 使用 writematrix(X_new, X_new_for_shap.csv); writematrix(Y_pred, Y_pred_for_shap.csv); % 調(diào)用 Python 腳本做 SHAP 分析 system(python run_shap_analysis.py); % 讀取 SHAP 結(jié)果 shap_values readmatrix(shap_values.csv); fprintf(預(yù)測(cè)完成SHAP 分析完成\n); end這個(gè)函數(shù)把 MATLAB 預(yù)測(cè)和 Python SHAP 分析串起來中間用 CSV 文件交換數(shù)據(jù)。writematrix和readmatrix是 MATLAB 里最穩(wěn)定的 CSV 讀寫函數(shù)。system調(diào)用 Python 腳本時(shí)確保 Python 環(huán)境里裝了shap、numpy、matlab.engine等依賴。如果 Python 腳本報(bào)錯(cuò)MATLAB 這邊不會(huì)自動(dòng)捕獲建議在system調(diào)用后檢查返回狀態(tài)碼。注意system調(diào)用 Python 時(shí)工作目錄要和 Python 腳本里讀寫文件的路徑一致否則會(huì)找不到文件。我一般用絕對(duì)路徑省得排查路徑問題。5. 避坑與排查多輸入多輸出 BP SHAP 的五個(gè)高頻翻車點(diǎn)5.1 訓(xùn)練集 MSE 很低但測(cè)試集 MSE 爆炸現(xiàn)象訓(xùn)練完看tr.best_perf是 1e-6 量級(jí)但拿測(cè)試集一算 MSE 是 0.5差了五個(gè)數(shù)量級(jí)。原因過擬合。隱含層節(jié)點(diǎn)太多、訓(xùn)練輪數(shù)太多、樣本量太少三者占一個(gè)就會(huì)這樣。解決先減隱含層節(jié)點(diǎn)從sqrt(nInputnOutput)5減到sqrt(nInputnOutput)再把max_fail從 6 降到 4讓早停更激進(jìn)如果樣本確實(shí)少用trainbr貝葉斯正則化替代trainlm它自帶正則項(xiàng)抗過擬合能力強(qiáng)。5.2 SHAP 值全為正或全為負(fù)現(xiàn)象summary plot 里所有特征的 SHAP 值都在零線同一側(cè)看起來每個(gè)特征都在推高或推低預(yù)測(cè)。原因背景數(shù)據(jù)集選得不對(duì)。KernelSHAP 的基線是背景數(shù)據(jù)集的平均預(yù)測(cè)值如果背景數(shù)據(jù)集和解釋數(shù)據(jù)集分布差異大SHAP 值會(huì)整體偏移。解決背景數(shù)據(jù)集從訓(xùn)練集里隨機(jī)采樣別從測(cè)試集或新數(shù)據(jù)里采。樣本數(shù) 50 到 100 之間太少方差大太多計(jì)算慢。另外檢查model_predict函數(shù)返回的維度是否和shap_values期望的一致多輸出時(shí)只取一個(gè)輸出做解釋。5.3 新數(shù)據(jù)預(yù)測(cè)結(jié)果全是 NaN現(xiàn)象bpNetPredict(newSample)返回 NaN。原因新數(shù)據(jù)里有 NaN 或 Inf。BP 網(wǎng)絡(luò)的矩陣運(yùn)算遇到 NaN 會(huì)傳播到整個(gè)輸出。解決預(yù)測(cè)前檢查any(isnan(newSample))和any(isinf(newSample))有的話先填充或剔除。另外檢查新數(shù)據(jù)的量綱是否和訓(xùn)練數(shù)據(jù)一致如果訓(xùn)練時(shí)輸入是 0 到 1新數(shù)據(jù)是 0 到 100歸一化后可能超出 [-1, 1] 范圍但不會(huì)產(chǎn)生 NaN只會(huì)預(yù)測(cè)不準(zhǔn)。5.4 MATLAB 和 Python 數(shù)據(jù)交換時(shí)維度對(duì)不上現(xiàn)象Python 里matlab.double(X.tolist())傳過去后 MATLAB 報(bào)維度錯(cuò)誤。原因tolist()把 numpy 數(shù)組轉(zhuǎn)成嵌套列表matlab.double默認(rèn)按行優(yōu)先解釋而 MATLAB 是列優(yōu)先。如果 numpy 數(shù)組是 (n_samples, n_features)轉(zhuǎn)過去 MATLAB 看到的是 (n_features, n_samples)正好轉(zhuǎn)置了。解決在 Python 里轉(zhuǎn)置一下matlab.double(X.T.tolist())或者在 MATLAB 里再轉(zhuǎn)置一次。我一般約定 Python 端傳轉(zhuǎn)置后的數(shù)據(jù)MATLAB 端不再轉(zhuǎn)減少混亂。5.5 genFunction 導(dǎo)出的函數(shù)預(yù)測(cè)結(jié)果和原網(wǎng)絡(luò)不一致現(xiàn)象bpNetPredict(X)和net(X)的結(jié)果差很多。原因genFunction默認(rèn)不包含歸一化參數(shù)或者導(dǎo)出時(shí)MatrixOnly設(shè)成了no。解決導(dǎo)出時(shí)明確指定MatrixOnly, yes并且檢查生成的.m文件里是否有mapminmax_apply和mapminmax_reverse的調(diào)用。如果沒有說明歸一化沒導(dǎo)出需要手動(dòng)在genFunction之前設(shè)置net.inputs{1}.processFcns和net.outputs{2}.processFcns確保包含mapminmax。導(dǎo)出后必須用max(abs(...))驗(yàn)證差異大于 1e-8 就要查。6. 進(jìn)階技巧用 SHAP 交互值定位特征協(xié)同效應(yīng)單特征 SHAP 值只能告訴你每個(gè)特征獨(dú)立貢獻(xiàn)了多少但多輸入場(chǎng)景下特征之間的交互效應(yīng)往往才是關(guān)鍵。比如溫度高時(shí)壓力對(duì)輸出的影響可能比溫度低時(shí)大得多這種協(xié)同效應(yīng)單特征 SHAP 圖看不出來。SHAP 交互值SHAP interaction values能拆解出每對(duì)特征的聯(lián)合貢獻(xiàn)計(jì)算量是單特征 SHAP 的 n 倍n 是特征數(shù)6 個(gè)特征就是 6 倍還能接受。在 Python 的shap庫里有兩種方式算交互值。一是shap.TreeExplainer自帶shap_interaction_values方法但只支持樹模型。BP 網(wǎng)絡(luò)得用KernelExplainer加shap_interaction_values函數(shù)計(jì)算更慢但通用。# 計(jì)算 SHAP 交互值只對(duì)前 20 個(gè)樣本計(jì)算量大 shap_interaction explainer.shap_interaction_values(X_py[:20]) # shap_interaction 形狀: (n_samples, n_features, n_features) # 對(duì)角線是單特征 SHAP 值非對(duì)角線是交互值 # 提取第 0 個(gè)樣本的第 2 和第 4 個(gè)特征的交互值 interaction_2_4 shap_interaction[0, 2, 4] print(f特征3和特征5的交互 SHAP 值: {interaction_2_4:.4f}) # 畫交互熱力圖 import seaborn as sns mean_interaction np.mean(np.abs(shap_interaction), axis0) sns.heatmap(mean_interaction, annotTrue, fmt.3f, xticklabels[fX{i1} for i in range(6)], yticklabels[fX{i1} for i in range(6)]) plt.title(SHAP Interaction Heatmap) plt.savefig(shap_interaction.png, dpi300, bbox_inchestight)shap_interaction_values返回一個(gè)三維數(shù)組第一維是樣本第二維和第三維是特征對(duì)。對(duì)角線元素就是單特征 SHAP 值非對(duì)角線元素是交互值。熱力圖里顏色越深表示交互效應(yīng)越強(qiáng)。如果發(fā)現(xiàn)某對(duì)特征的交互值很大說明這兩個(gè)特征對(duì)輸出的影響不是簡單疊加而是有協(xié)同或拮抗。這時(shí)候可以在工藝上重點(diǎn)關(guān)注這兩個(gè)參數(shù)的匹配關(guān)系而不是單獨(dú)調(diào)一個(gè)。我一般會(huì)把這個(gè)熱力圖和工藝知識(shí)對(duì)照如果兩個(gè)特征在物理上確實(shí)有關(guān)聯(lián)比如溫度和壓力在熱力學(xué)上耦合那 SHAP 交互值大是合理的說明模型學(xué)到了真實(shí)規(guī)律如果兩個(gè)特征物理上無關(guān)但交互值大可能是數(shù)據(jù)里的偽相關(guān)需要檢查采樣過程是否有偏差。最后一個(gè)習(xí)慣每次跑完 SHAP 分析我都會(huì)把shap_values和原始數(shù)據(jù)一起存成.mat文件命名帶上日期和模型版本。因?yàn)?SHAP 計(jì)算耗時(shí)下次想復(fù)現(xiàn)某張圖不用重跑。這個(gè)習(xí)慣幫我省了至少幾十個(gè)小時(shí)的重復(fù)計(jì)算。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人人爽人人爽人人爽人人爽| 天天日日综合| 91聚色综合网| 69五月天视频| 五月天久久www| 99精品久久| 再次出发二| 五月婷婷电影院| 人人草人人爱手机视频看看| 婷婷激情五月天综合| 国产做爰视频免费播放| 五月婷婷日| 91久久婷婷| 激情五月婷婷综合秋霞| 五月激情综合网| 久久久区区一久久久久久| 亚洲AV永久无码影院黑人| 亚洲五月婷婷| 五月天婷婷丁香视频| 久久久色情| 五月丁香综合啪啪| 九九无码| 综合五月丁香六月婷婷| 99色看| 久久9久久| 91丨九色丨东北熟女| 天天色天天噜| 婷婷五月天,影院| 色九九九九| 超碰免费大香蕉| 亚州性爱99| 天天狠狠婷婷在线| 五月丁香综合激情| 色狠狠综合网| A1片久久久| 亚洲中文AV| 日韩成人免费电影| 色色色色色综合| 日韩五月天婷婷| Www99热| 亚洲日本三级片| 噜噜噜狠狠色综合| 色色亚洲| 五月色丁香| 激情美女五月天激情在线| www.久久久久久久| 九九99精品视频| 第四色色六月色综合| 激情五月天社区| 日本va欧美va欧美精品88| 色 丁香婷婷| 久久99精品九九久久久婷婷| 久9热视频| 手机在线视频观看9| 天天碰夜夜操| 亚洲99一级无嗎特制在线| 婷婷久久久| 97热精品| 97精品综合久久| 九九热10| 五月天婷婷丁香| 久操97| 婷婷开心五月| 天天综合精品| 九九激情网| 丁香六月婷| 丁香五月亚综合图片| www.五月婷婷久久.com| 五月婷婷啪啪啪啪| 超碰99资源站| 大香蕉啪啪啪| 欧美三级A做爰在线观看| 欧美色色色| 色综合色色| 99视频自拍| AV在线大香蕉| 久热99| 激情丁香社区| 桃色Av色哟哟| xxx综合在线| 久热欧美| 色婷网| 亚州操人在线视频| 97色五月婷婷在线| 99啪啪网| 丁香五月天天| 综合色色色色色色| 超碰99在线观看| www超碰| 激情综合网五月婷婷| 色色国产| 伊人香大香蕉视频| www.henhenl| 综合婷婷久久| 国产免费性爱| 在线成人国产| 婷婷色五月激情| 888精品福利地址| 六月丁香深深爱| 色色欧美色色| 亚洲操b| 国产亚洲精品久久久久久久久动漫| 婷婷色香六月综合激情| 五月天精品视频| 五月丁香五月婷婷| 丁香五月影院| 丁香五月激情综合婷综| 五月丁香va| A色色| 激情五月天com| 五月婷六月| 激情五月综合婷婷| 国产全是老熟女太爽了| 嫩草国产| 九九婷婷五月天影视| 日本成人小说婷婷六月| 五月丁香综合| 丁香青青五月天| 丁香久久五月婷综合| 人人操AV| 色欧美日| 国产精品久久久60086| 天天激情站| 丁香色婷婷五月天| 久久久天堂国产精品女人| 大地资源色婷婷视频在线| 欧美97超碰| 婷婷五月色综合| 色色色在线免费视频| 欧洲免费视频色| 曰日爽日日操| 99热在线观看| 99伊人性爱在线影院| 日韩草草草草草草草草草草草草| 天天综合色| 天天操天天操天天操天天操天天操 | av在线资源| 99燥99日| 色之综合网| 欧美情月伍月天| 午夜爱爱爱成人| 在线观看av网站| 五月激情啪啪| 开心五月婷婷综合在线精品素人| 婷婷丁香一月| 久久这里有精品| 超碰人人在线观看| 婷婷综合五月激情| 丁香五月色| 97操碰在线97| 色99综合视频| 91碰碰碰| 久久66er久久| 大香蕉五月天| 67194中文字幕| 色亭亭五月天网扯| 久/久精品99看9| 色五月婷婷自拍| 日日干日日s| 91视频一起草| 超碰97久久| 久热最新视频| 日本精品人妻无码77777| 曰曰久久| 26uuu丁香婷婷五月| 丁香花社区av| 天天爽夜夜爽天天爽夜夜爽| 超碰免费人人肏| av中文在线| 亭亭五月色男人| 99视频| 五月色在线| 综合婷婷五月天| 婷婷成人五月天| 香蕉狠狠爱视频| 激情欧美丁香五月| 色婷婷综合在线| 久久久人人人妻丝丝丝| 亚洲精品视频在线播放| 波多野结衣AV无码Porn| 超碰网站在线观看| 色99婷婷五月天| 伊人啪啪网| 狠狠婷婷色| 亚洲丁香五月综合| 色婷婷激情| 丁香五月欧美激情| 性生活久久朋友人妻| 极品少妇XXXX精品少妇偷拍| 密乳视频| 色亭亭九月| 丁香五月婷婷激情视频播放| 丁香婷婷欧美综合| 激情五月婷在线精品| 色狠狠色噜噜AV天堂五区| 超碰三级片| 丁香六月天婷婷| 精品网站99| AV操操操| 五月丁香拍拍激情综合| 成人中文网| 内射丰满人妻| 国产精品日本一区二区在线播放| 99热这里只有国产精品| www.99操.com| 99热官网| 9l视频自拍9l九色9l成人| 久久这里有精品| 九九九九无码| 婷婷五月丁香六月| tingtingjiqingwuyue| 激情五月天综合网| 丁香五月色综合色播五月| 九九热在线观看视频| 久综合| 色五月天丁香| 婷婷五月天,影院| 男女啪啪做爰高潮无遮挡| 久久久精品视频79| 嫩草极品| 另类小说色婷婷| 日本啪啪网| 精品久久人妻| 特级片神马电影| 五月丁香色色色| 五月丁香中文字幕| www久久久久| 激情综合五月婷婷丁香| 大香蕉99热| 直接看的av| 亚洲第一色色色色| 五月婷婷色白丝| 99热1| 大香蕉伊人久久| 日韩AV片| 国产精品久久久久久久久久免费| 婷婷性爱五月天| 黄色激情久久| 国产毛片操B| 五月天色婷婷综合| 色小说婷婷五月天天天| 丁香玖玖| 激情又色又爽又黄的A片| 五月丁香六月婷婷亚洲| 成人片在线免费看| 五月丁香久久| 天天插天天射| yazhouzonghesese| 五月丁香激情四射综合| 亚洲AV日韩在线观看| 婷婷综合97| 情婷婷五月天在线| a九九热www| 五月丁香久久综合| 26UUU欧美| 婷婷天堂综合| 97碰在线免费观看| 久久五月天激情| 丁香六月婷婷一区二区三区| 五月婷婷久久综合| VA色婷婷| jiuse91在线| 五月天婷婷成人网| 五月婷婷六月综合| 色婷婷六月精品| 九九色区| 欧美大片| 色五月亚洲| 自拍盗摄 另类| 五月婷婷深深的爱| 97热在线精品| 婷婷六月伊人| 丁香五月在线伊人| 9久国产精品| 色婷婷六月| 性日本精品| 99久久精彩视频。| 超碰97人人操| 金品在线视频99| 无码91中文字幕| 超碰在线中文字幕| 日韩AV大全| 成人婷婷五月天| 91色在线| 在线观看996精品| 丁香婷婷五月激情四射网| www婷婷| 丁香六月天AV| 五月天综合久久| 97sese婷婷| 日本黄色三级片内射| 99热啪啪| 丁香婷婷大香蕉| 婷婷五月综合视频免费播放| 天天综合天综合| 五月丁香六月婷婷色| 99碰网站| 99热性色| 人人操91色| 丰满少妇乱A片无码| 婷婷五月激情小说| 26uuu日韩| 五月婷婷狠狠干| 99久久思思| 在线VA视频| 丁香五月久久| 亚洲人成网亚洲欧洲无码久久| 狠狠草在线观看| 色青青五月| 五月丁香婷婷中文| 国产黄色av| 人妻免费网站| 99热一本| 99ri在线播放| 性欧美日本| 97色啪| 成人中文字幕在线| 色婷婷97| 五月丁香天天| 人人爱人人添| www.色婷婷| 蜜臀99精品| 五月激情天| www夜夜操| 五月天激情视频五月天| 丁香婷婷婷五月| 韩国情人在线电视剧免费观看高清版全集 | .精品久久久麻豆国产精品| 依人大香蕉| 欧美性爱五月天| 精品人妻伦一二三区久久| 天天狠狠干| 日本激情ⅩXX免费视频| 一本久久亚洲五月婷婷| 青青草原精品久久| 男女免费视频999| 婷婷久久亚洲| 亚洲婷婷五月天| 久久激情天堂| 亚洲精品色| 九九热视频这里只有精品| 久久五月丁香| 婷丁香五月天| 精品无码99| 国产精品色婷婷AV综合色色| 香焦网五月天| 丁香五月天啪啪| 亚洲欧洲中文日韩久久AV乱码| 精品人妻伦九区久久AAA片| 国产精产国品一二三在观看| 亚洲成人在线在线| 五月丁香婷婷婷激情爱爱| 开心五月综合激情网| 婷婷在线视频| 99热青青草原| 久久精典| 一区二区无码视频| 原琪琪色影院| 中文字幕 久久9999| 亚洲欧美国产高清vA在线播放| 五月激情天| 中文字幕成人| 香蕉五月婷婷| 久久五月天激情婷婷| 国产乱码久久| 亚洲男女激情| 大地9中文在线观看免费高清| 婷婷五月天国产性感美女演员久久久久| 一区中文字幕电影| 玖玖色资源站| 天堂综合久久| 亚洲欧美在线观看| 97视频久久| 亚洲九九99精品视频在线播放| 五月丁香六月婷婷色日| 成人国产欧美大片一区| 五月婷婷激情| 天天天综合网| 人妻丰满精品一区二区A片| 丁香五月婷婷婷桃花影院| 亚洲黄色影视| 色99色| www.五月天| 九九热婷婷| 69午夜成人影片| 久久亚洲天堂| 91re色综合视频| 婷婷精品视频| 99热精品99| 亚洲黄网AV| 大香蕉婷婷丁香视频在线| 婷婷网五月| 99热精品在线播放| 丁香婷婷五月色成人网站| 婷婷六月网| 欧美精产国品一二三区| 日韩啪啪自拍| 热99只有精品| 中文字幕按摩做爰| 色五月婷婷中文字幕在线观看| 这里精品| 五月丁香综缴情性爱| 狠狠色噜噜狠狠色噜噜噜999| 久久天堂网| 九色亚洲| 99色1| 天天草天天爽| 欧美噜噜噜草| 国产无套精品一区二区| 激情四射婷婷| 超碰人人91| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 国产伊人五月天| 婷婷丁香亚洲色综合91| 狠狠色噜噜狠狠亚洲A∨| 深爱激情五月天婷婷网| 亚洲日韩久久婷婷伊人| 五月天开心成人网| 色丁香五月婷婷| 婷婷五月天综合AV| 婷婷五月天综合在线| 9九九久久精品无码专区| 日韩综合网络男女香蕉a片| 噜噜色婷婷| 就爱日五月天| 五月婷色激情五月| 激情婷婷黄色五月 | 类似婷婷激情综合网站| 99久久終合| oumeisesewang| www.五月天婷婷| 欧美久久婷婷| 天天综合精品| 婷婷五月天少妇| 99re在线观看| 六月丁香婷婷开心综合基地| 一本到不卡高清DVD| 婷婷亚洲在线| 九一牛视频探花| 婷婷五月天综合小说网| 色色色9 9 9| 五月婷婷啪啪| 玖玖激情五月天| 狠狠人人婷婷| 五月丁香av中文| 激情性爱五月天| 五月丁香啪啪激情| 丁香五月影院| 26UUU精品一区二区c〇m| 狠狠色综合五月人人| 婷婷基地五月色| 免费视频WWW在线观看网站| 亚洲成色综合网站免费观看| 99热有精品在线观看| 五月天婷婷深深爱| 4438成人电影| 丁香在线视频| 婷婷天天综合| 九色 在线| 天天日天天操心| 久久久91| 中日韩美欧成人一区二区精品在线| 婷婷五月色网| 亚洲无码成人网| 色狠狠综合| 久久久妻人人人| 国产乱子轮XXX农村| 久色国产| 婷婷色五月激情| 99热官网| 激情婷婷五月| 26uuu.| 婷婷久久综合久| 99免费视频精品| 色综合久久8| 婷婷激情人妻| 天天久久综合| 成人欧美日韩| 操操综合网婷婷| 九九热精品99| 久久99这里只有精品视频 | Va另类视频| 伊人五月综合网| 五月天伊人网| 天天日夜夜拍| 99爱欧美| 黄色成人网站在线播放| 五月婷婷亚洲天堂97色婷婷| 粉嫩av懂色av蜜臀av熟妇| 色婷婷成人影片| 婷婷色吧| 天天干天天日蜜臀av| 婷婷丁香花五月天| 六月丁香激情综合| 婷婷丁香射射| 五月丁香黄色| www.久久99精品| 色五月婷婷五月| 直接看的AV网站| 久久99热这里只有精品首| 五月天婷婷色综合| 国外亚洲成AV人片在线观看| 啪啪激情综合| 五月开心激情| 丁香六月爱综合| 婷婷涩五月| 婷婷五月丁香基| 五月丁香六月激情欧美综合| 激情色色| 午夜丁香| 久久性爱视频| 天天日综合| 97久久香草精品视频| 久久九九玖玖| 狠狠情色| 婷婷丁香五月天操逼| 疯狂做受XXXX高潮A片| 伊人色综合久久久| 丁香五月婷婷色| 狠狠草天天草| 婷婷丁香激情综合色情| 淫荡A片| 五月成人丁香av91| 亚洲亚洲人成综合网络| 亚洲日日日| 五月天婷婷久久| 99热在线观看亚洲区| 精品无码色| 色色色色色色色色五月先| 亚洲第二AV| 久久婷婷七月丁香| 青草青草视频2免费观看| 五月停亭六月,六月停亭的英语 | 五月丁香六月婷婷a v| 久久久人妻人伦| 久综合| 人妖色AV色综合| 色网站9| 99爱在线| 六月丁香啪| 伊人在线另类| 丁香五月欧美婷婷| 九97免费视频| 狠狠干狠狠操狠狠爱| 99久久喉9| 激情综合五| 99热在线观看精品| 九九热99视频| 婷婷午夜| 六月色婷婷| 久久婷婷五月天懂色| 综合五月天| 婷婷五月花| 超碰在线免费9| 色婷婷天堂| 日本系列_4页_777FP| 黄色一级影片| 伊人久久艹| 97干在线视频| 欧美久热| 97caop| 成人丁香婷婷| 无码人妻一区二区一牛影视| 一婬一伦一区二区三区| 免费看无码视频A级| 任你操精品免费| 日韩在线视频中文字幕| 6月丁香婷婷| 六月婷婷俺也去| 就爱干 在线| 99热在线观看免费| 婷婷内射视频在线| 欧洲色色| 天天综合区| 青青日韩| 色噜噜狠狠色综合AV兰草影视| xxxx五月激情| 白天AV月月| 五月天久久综合婷婷丁香| 免费不卡狠操美女视频网 | 五月天综合在线观看| 五月丁香婷婷网在线在线| 五月色网| 中文字幕 中文字幕明步| 91干网站| 天天插综合| 色噜噜狠狠色综合日日| 丁香五月激情综合久久| 99热综合色图| 色色色99韩| 久久婷婷五月天激情唯美| 成年人丁香五月| 狠狠操狠狠爱| 天堂在线观看视频| 大香蕉五月天婷婷丁香91| 思恩热国产视频右线观看| 五月丁香黄色| 亚洲综合九九| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 97干视频在线| 久99久在线| 99亚洲欧洲| www.99日本| 影音先锋女人AA鲁色资源| 日本久久极品| 色99视| 丁香五月六月综合激情| 色婷婷成人做爰A片免费看网站| www.99.色| 免费视频无码| se色综合网| 五月丁香好婷婷姑娘综合网| 超碰97免费在线| 国产精品国产成人国产三级| 激情五月天啪啪| www.五月婷婷久久.com| 91在线日| 91刘玥视频在线观看| 久久久妻人人人| 99热这里只有精品66| 成人AV在线电影| 97久久五月丁香婷婷| 婷婷丁香五月天哟啪| 99热这里只有精品搜| 六月婷婷中文字幕| 日日操夜夜操无码免费| 天天拍久久| 亚洲色五月| 国产亚洲av片| 久热这里只有精品视频6| 99ri精品视频在线观看| 婷婷中文字暮| 99热99免费| 色色婷| 六月丁香天堂| 丁香五月婷婷成人网| 免费视频99| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 久久小片| 婷婷五月天影院| 懂色av蜜臀av粉嫩av永陈冠希| 好好日激情五月天| 可以看的AV| 久久狠婷婷| 99er6热在线观看精品6| 亚洲精品又粗又大又爽A片| 色情综合网| 狠狠色婷婷色| 欧美激情综合色丁香婷婷五月天| 婷婷五月综合网| 久久99精品久久久久子伦| 国产成人99久久亚洲综合精品| 国精产品一区一区三区免费视频 | 五月婷六月天| 欧美日本免费一道免费视频 | 婷婷五月综合欧美在线播放| 久久婷婷六月综合综合| 色五月天.con| 五月丁香六月激情欧美综合| 99操逼| 综合久久综合| 思思热这里只有精品视频666| 九九色综合网| 91超碰人人操| 激情综合网址| 五月天综合久久丁香91| 五月伊人婷婷999| 91午夜婷婷狠狠久久综合9色| 五月综合久久| 欧美日韩aaa| 9久国产精品| 月婷婷婷婷五月| 丁香五月欧美激情| 丁香六月亚洲综合| www,五月天激情| 天天日日天天| 6080av| 99这里只有精品视频免费| 五月天婷婷伊人| 色色色在线观看| 无码动漫AV| 97人人操人| www.五月天| 五月丁香综合| 思思热在线视频精品| 五月丁香啪啪| 五月婷婷激情网| 饮料下药迷倒漂亮女同事强干| 日本五月婷| 六月丁香VA| 夜夜爱网站| 天天做天天爱天天玩| 激情丁香五月婷婷| 五月丁香激情婷婷| 中文无码婷婷| 亚洲免费看片| www.夜夜操.com| 99无码视频| 中文字幕精品无码一区二区| 五月天婷婷丁香成人网| 韩日AV片| 99热丁香五月| 婷婷激情丁香五月天综合| 99人这里只有精品| 综合激情五月四射婷婷| 五月丁香激情综合网官网| 狠狠干五月丁香| 亚洲bt丁香五月天婷婷激情小说| 婷婷激情综合| 色丁香五月| 大地9中文在线观看免费高清 | 国产3p露脸普通话对白| 色婷婷激情视频| 亚洲婷婷五月| 涩综合在线| 免费观看的AV| WWW.桔色成人.COM| 99热精品免费| 色噜噜狠狠狠狠色综合久欧美| 婷婷五月天丁香久久| 久久久.COM| 日韩抽插操逼| 99热网站| 色5月婷婷| 久久婷婷艹| 人人操AV| 国产另类综合| 色偷偷五月天| 九九99热精品| 伊人婷婷青青cao| 都市激情小说婷婷| WWW.99热| 丁香五月天婷婷中文| 色色色图| 色情综合网| ady狠狠入| 秋霞黄色一级久久| 久久人妻人人| 成人片黄网站色大片免费毛片| 五月天伊人久久| 大香蕉五月婷婷| 久狠日av| 亚洲亚洲人成综合网络| 天天日天天舔天天摸| 99综合视频| 日逼影音先锋男人AV资源站| 99开心五月五月丁香激情| 激情五月天婷婷在线网址发给我| 亚洲成av人影院| 日本一级一级一级一级| 久久视频婷婷| 婷婷五月精品| 婷婷美女精品视频| 九九人人操| 五月丁香六月婷婷综合| 狠狠操狠狠狠| 婷婷五月天激情小说| 五月婷婷色色网址| 色色色色色色97| 婷婷激情五月| 九色视频91疯狂| 久草五月天| 这里只有精品96| 99热乎| 99在线视频女女视频| 欧美人人操| 丁香五月天激情综合| 久久视频婷婷| 婷婷丁香人妻天天| 亚洲日本激情| 色婷婷久久| 色综合中文| 99九精品| 91 欧美| 亚洲色五月| 草草视频91| 六月色播| 色婷婷久综合久久一本国产AV| yazhouzonghesese| 伊大人久久| 另类图片 五月激情| 狠狠色综合网站久久久久| 激情综合国产| 超碰国产在线| 26UUU成人网| 五月天综合在线| 久久99热免费| 超碰在线免费观看日韩| 天堂AV在线看| 国内久久久精品99| 强伦轩人妻一区二区电影| 精品牛仔裤超碰| 婷婷激情五月综合| 做爱夜夜干天天操| 久爱综合| 五月天婷婷丁香| 棕合影院色色| 99久热| 九九这里精品| 97AV人人插人人操| 久久婷婷网站| 色色色视频免费无码| 九久久婷婷| 欧美成人色婷婷| 五月丁香六月综合基地| 日日噜噜夜夜狠狠久久丁香五月| 亚洲色五月天在线| 91人无码久久久久久| 激情五月综合亚洲另类| 99久久免费性爱视频`| 欧美S码亚洲码精品M码| www激情婷婷com| 在线中文字幕av| 国产欧美性成人精品午夜| 亚洲综合婷婷六月丁香五月| 玖玖激情五月天| 亚洲超碰在线| 99久久性爱| 丁香五月婷婷久久综合激情网 | 亚洲小电影在线观看黄999| 五月婷婷综合网| 五月天婷爱综合| 伊人久久大香天蕉亚洲特级| 久机视频这只有精品| 久久久精久人妻| 2017人人操| 夫妇交换刺激做爰| 伊人婷婷五月天| 国产五月丁香在线| 国产操逼网站| 五月天婷婷色| 激情第四色| 久久激情综合| 婷婷五月丁香花综合| 国产精品第一国产精品| 婷婷五月免费视频| 日本五月丁香| 国产97色在线| 亚洲无AV在线中文字幕| 国产熟妇乱子伦hd| 九九亚洲综合| 五月丁六月婷| 99超级碰免费视频| 久月久在线视频| 五月婷色| 99乱视频| 欧美顶级少妇做爰HD| 激情久久 婷婷| 午夜九九电影| 日本精品99网站| 五月伊人91| 亚洲激情综合网| 五月丁香久久激情网| a在线观看| 婷婷九月丁香天堂丁香天堂| 欧美成人猛片AAAAAAA| 九九五月天| 妻久久人久久| 五月婷婷九| 99热这里只有精品98| www99久久| 综合网网欲色| 99久久超级| 情欲禁地| 97干在线| 六月婷婷五月天| 久久综合丁香| 色噜噜狠狠色综合日日| 深爱五月最新网址| 久久一二三视频| 包操45分钟网站| 久久五月丁香| 伦乱天堂| 1区2区视频| 国色天香伊人狠狠色| 五月情四婷婷| 99热在线里有精品| 婷香五月网在线| 色玖玖| 九九这里是免费的视频5| 亚洲黄色av网站| 99久久天堂婷婷| 91黄色五月天视频| 亚洲丁香婷婷| 激情五月婷婷色综合| 亚洲黄色网址| 激情婷婷丁香五月| 狠狠操狠狠色| 天天干在线播放| 岛国AAAV| 伊人超碰在线| 国产色香蕉精品五夜婷| 一起草aV| a九九热www| 91热在线| 亚洲中文丁香| 色狠狠伊人久久五月丁香| 在线VA视频| 五月婷婷开心激情六月蜜桃| 激情综合网激情五月网| 第四色婷婷色五月| 岛国av电影网站| 99av视频| 激情99| 久99久视频| www.狠狠| 国产精品久久久爽爽爽麻豆色哟哟 | 色伊人婷婷| 五月丁香六月婷婷啪啪| 任你艹| 深夜婷婷五月丁香| 天天成人综合视频| 欧洲激情精品婷婷| 亚洲成人一区| 五月香婷婷| 超碰cap| 精品爆操| 六月香五月婷| 国外亚洲成AV人片在线观看| 广东99色在线| 五月开心播播网| 婷婷基地五月色| 万月丁香狠狠爱| 亚洲色无码| 99日视频在线| 五月婷婷深深爱| 91九色在线| 五月天婷婷基地| 国产va在线视频| 色综色网| 五月丁香在线观看| 中文字幕丰满孑伦无码专区| 国产熟妇的荡欲午夜视频| 中文字幕综合色| 五月丁香婷婷综合久久| 久久久月丁香| 天天肏天天肏天天肏| 91超级碰碰碰| 日韩啪图| 激情q青青草在线婷婷| 六月婷婷九月丁香亚洲综合| 爆乳熟妇一区二区三区爆乳照片| 免费观看18视频网站| 丁香六月激情国产| 久久婷婷激情五月天一区二区| www.色五月天.com| 五月丁香六月婷| 色综合77777| VA色婷婷| 可以直接看的AV| 久久久久婷婷| 日韩免费99| 色五月在线| 26uuu国产| 强辱丰满人妻HD中文字幕| 在线成人视频免费| 丁香五月天殴美激情| 激情综合网五月| 色欲五月丁香| 激情五月深爱五月观看| 亚洲综合激情五月久久| 久久久人妻| av久热| 色激情五月| 国色天香成人网| 玖玖99免费视频| 婷婷六月视频| 伊人综合网站| 色婷婷久久| 婷婷 色 丁香 夜| 五月Huangsewang| 99操| 啪啪婷婷五月天激情| 在线中文字幕免费视频| 99re在线观看视频| 97干在线视频| 涩涩婷婷五月| 国产成人+亚洲+欧洲| 少妇性BBB搡BBB爽爽爽视頻| 大香蕉五月天婷婷| 五月天婷婷影院| 亚洲成人电影在线免费观看| 婷婷舔| 色婷婷色99国产综合精品| 婷婷五月天情色| 婷婷五月丁香基地| 久热99狠| 五月丁香六月停停| 天天狠狠综合精区| 天天爽—爽| 五月亭亭六月天| 9久热免费视频99| 九九热最新| 色色色色色日韩午夜激情 | AV在线免费播放| 91人人人人人人人| 久久大香蕉| 亚洲五月天婷婷| 开心婷婷五月中文字幕组| 九九99在线观看视频| 色欧美日| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 色综合色色| AV性爱网| 婷婷丁香五月天狠狠| 久热只有这里有精品| 无码橾| 狠狠色中色| 天天色情站| 久久狼人天堂| 天天干天天日天天操| 五月色欧美| 丁香激惜男女| 婷婷永久在线| 在线99色| 亚州第一A片| 丁香综合日产精品久久| 91中文在线| 91精品久久久久久| 中文在线成人| www.色色色色| 青草激情在线| 五月天自拍网| 国内裸舞二区| 亚洲天堂99| 丁香婷婷色色| 天天干,天天操,天天射| 精品一二三区久久AAA片| 日本久久精品| 国产精品天天狠天天看| 玖玖精品资源| 97sese婷婷| 日本在线视频播放91| 久久亚洲婷婷| 一本道在线电影| 久久机热思思热| 色婷婷影| h在线看免费版在线看| 丁香六月高清视频| 婷婷久久婷婷色五月| 色七七九九| 婷婷欧美偷拍综合| 丁香五月婷中字在线| 99色网站| 色亚洲无码| 婷婷综合九色伊人| 综合网啪| 99色色网站| www.久久久久久久久久.com| 久久久性爱视频| 国产阿姨日皮艹逼内射视频| 一本到不卡高清DVD| 五月婷婷人人人操| 丁香六月婷婷综合麻豆| 亚洲天堂有码| 婷婷六月丁| 99久久九九| 五月激情啪啪啪| 综合久久五| 激情婷婷五月| 亚洲十月婷婷综合| 超碰猛烈的性猛交| 国产又黄又爽又色的免费| 六月丁香综合| 丁香五月天偷拍| 日本在线观看91| 五月婷婷在线免费观看| 日韩色色视频www| 五月丁婷香| 亚洲人成网站999久久久综合| 五月丁香在线观看| 丁香婷婷婷五月| 亚洲 综合中文| 99热精品网| 日韩精品无码一区二区| 六月天婷婷| 丁香五月激情站| 九九热10| 91碰操| 成人精品视频99在线观看免费| 久久久精品人妻| 五月色婷婷综合丁香精品无遮挡| 丁香蜜臀黄色婷婷五月天| 九月婷婷在线视频| 久久视频这里有精品99| 丁香六月伊人| 丁香五月激情综合网激情五月| 欧洲不卡视频| 色综合久久88色综合天天| 国产精品第一国产精品| 综合久久影院| 一级黄色尤物综合视频手机在线观看| 久婷婷五月激情| 久久婷婷内射| WWW、日本色丁香、co m| 五月天婷婷影院| 色婷婷久久综合| 丁香五月天激情视频| 五月婷婷视频ab| 都市激情蜜桃婷婷五月天| www.五月天婷婷| 久久日本wwww色| 亚洲视频一区| 激情深爱五月天| 久久婷婷色| 丁香五月婷婷五月天| 婷婷色情五月| 26uuu欧美亚洲日韩| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 五月天婷婷综合网| 五月婷婷激情久久| 亚洲在线操| 五月丁香网站| 天天色视频| 强伦轩人妻一区二区电影| 五月综合六月婷婷| 五月婷婷香蕉| 伊人五月婷婷| 色婷婷久久综合久色| 婷婷五月综合婷婷| 久久久久久久丁香五月天婷婷| 丁香五月激情啪| 六月婷婷香蕉| 亚洲色婷婷五月天| 97超级操操| 九九色院| 久久性刺激| 99久在线观看| 91超碰人人操| 欧美日朝成人| 久草五月| 激情综合五月激情XXXX| 99惹在线精品免费观看| 99热免费网站| 天天日夜夜高潮| 蜜臀av无码久久久久久久久| 女人天堂av| 狠狠狠狠狠狠狠狠草| 五月婷婷精品视频| 五月天婷婷黄色| 五月丁香在线综合| 99热九九热| 国产精品久久久海的味道| 婷婷丁香六月天| 大香蕉网站,大香蕉综合| 另类图片天天影视在线观看| 五月婷婷成人| 天天日天天色| 狠狠色综合五月人人| 婷婷五月天丁香综合网| 久久精品99久久久久久久久| 五月婷婷综合社区| 九九九色综合| 99热99思午夜精品| 伊人色综在线| 天天爽天天| 色婷婷丁香五月| 国产FREESEXVIDEOS性中国| 国产在线激情视频| 另类图片五月天激情| 天天综合五月| 久久狠狠高潮亚洲精品 天天摸夜夜摸夜夜狠狠摸| 五月天开心激情网色欲无码| 婷婷五月丁香色情| 五月婷婷综合丁香视频| 99re热在线视频| 无码少妇高潮喷水A片免费| 激情99| 91窝窝| 色婷婷狠| 婷婷五月天AV在线| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 综合99视频| 婷婷黄色五月| 99在线亚洲| 99热每日| 色色亚卅| 99精品国产乱码久久久人妻| 激情五月天黄色小说| 五月天综合久久| 97在线/亚洲| 久久久久久人妻| 丁香六月婷婷社区| 丁香婷婷深情五月亚洲| 色婷婷第四色| 亚洲色婷婷五月| 激情综合文学| 丁香五月婷婷色| 教师性爱毛片| 久8色色| 色婷婷激情视频| 激情五月天色婷婷| 99热免费18| 五月丁香999| 人人草人人舔| 成人片在线免费看| 五月香蕉综合| 久久亚洲天堂| 五月丁香花成人社区| 超碰在线观看9| 亚洲色综久久五月| 色播五月婷婷| 欧美网站视频4399| 俺也去综合| 五月婷婷,六月丁香| 婷婷六月花| 中文AV在线观看| 99碰网站| 亚洲99激情| 8050一级网| 色三级色三级| 久久五月婷综合网| 久久五月天精品视频| 伊人大香五月天| 婷婷丁香社区| 国产精品久久久久久五月天加勒比 | 国产成人精品一区二三区熟女在线 | 操碰97| 天天干夜夜操A片| 成人中文网| 华人在线免费| 97超级操操| 日韩成人电影AV| 婷婷色色狠狠| 97在线观视频免费观看 | 最新热中文字幕| 中文字幕人成乱码在线观看| 色情五月天婷婷| 五月激情天天干| 色娸娸综合网| 九九在线精点品| 深爱丁香激情| 久久精品女人天堂AAA| 欧美婷婷日本| yazhou seshipin| 五月婷婷黄网站大全| 思思热在线| 色热久资源| 天天爱天天天射AV| 丁香婷婷激情| 亚洲综合视频天天精品| 91干网站| 97婷婷狠狠| 五月丁香天天| 中文av在线观看| 9久精品| 国产熟女日日骚五月丁香爱| 视频1区2区| 久久99精品视频| 婷婷六月五月| 依人大香蕉| 婷婷五月天av小说| 99热这里都是精品| 色综合五月婷婷狠狠干| 亚洲爱婷婷| 欧美色五月| 激情五月丁香五月| 开心五月婷婷五月| 色五月天 丁香| 久久色情| 夜夜做夜夜愛| www.色综合| 色情婷婷久久五月天| 9久精品| 婷婷色正月| 色色色精品无码区|