2. 东北石油大学, 黑龙江大庆 163318
2. Northeast Petroleum University, Daqing 163318, China
支持向量机(SVM)是一种基于统计学习理论的学习方法[1], 在理论研究和实际应用两个方面均已成为人工智能和机器学习领域的热点[2]。支持向量机方法最早是针对模式识别问题提出来的, 随着VAPNIK等对ε不敏感损失函数的引入[3], 支持向量机应用由模式识别领域推广到回归估计领域, 并展现出很好的学习性能, 在建模、预测等方面取得了很好的效果[4-7]。支持向量机方法在理论上能够保证找到的极值解就是全局最优解而非局部最小值, 因此对未知样本有较好的泛化能力[8]。
在地震储层预测中, 常用的储层参数预测方法大多建立在线性模型基础上, 是对实际模型一定程度上的近似, 而一些非线性方法则存在许多影响预测效果的问题[9]。支持向量机方法采用了与传统方法完全不同的思路, 在井资料比较少的情况下也能够描述储层物性和地震数据之间的非线性关系, 使得建立的预测模型具有较高的拟合精度[9-10]。充分发挥SVM的优良性能, 提高储层预测精度, 关键在于两个方面:一是样本的优选, 样本优选的目的在于选出对储层敏感、彼此相关性不强的样本, 舍弃那些对噪声敏感的样本[11-16]; 二是支持向量机的惩罚因子及核函数参数设置, 这两个参数影响着支持向量机的泛化能力和储层预测精度。本文通过交互检验方法优选支持向量机的惩罚因子及核函数参数, 提高支持向量机储层预测精度。
1 方法原理 1.1 支持向量机方法原理给定样本集{(xi, yi), i=1, 2, …, m}, 其中xi∈ RN是输入值, yi∈ R是对应的目标值, m是样本数, N是样本集的维数。定义ε不敏感损失函数为:
$ {{\left| \mathit{\boldsymbol{y}}-f\left( \mathit{\boldsymbol{x}} \right) \right|}_{\varepsilon }}=\left\{ \begin{matrix} 0&\left| \mathit{\boldsymbol{y}}-f \left( \mathit{\boldsymbol{x}} \right) \right|\le \varepsilon \\ \left| \mathit{\boldsymbol{y}}-f\left( \mathit{\boldsymbol{x}} \right) \right|-\varepsilon &\left| \mathit{\boldsymbol{y}}-f \left( \mathit{\boldsymbol{x}} \right) \right|>\varepsilon \\ \end{matrix} \right. $ | (1) |
其中f(x)是通过对给定样本集的学习而获得的回归估计函数, y是x所对应的目标值, ε>0是与函数估计精度相关的参数。学习的目的是使构造的回归估计函数f(x)与目标值y的距离小于ε。
在样本集是非线性的情况下, 可以通过非线性函数φ(x)将样本集数据x映射到一个高维的线性空间, 在高维线性空间中完成回归函数的构建, 即:
$ f\left( \mathit{\boldsymbol{x}} \right)=\mathit{\boldsymbol{ }}\!\!\omega\!\! \cdot \varphi \left( \mathit{\boldsymbol{x}} \right)+b $ | (2) |
式中: ω是权值向量, b是偏置参数。
基于统计学习理论的结构风险最小化思想, 支持向量机可以采用极小化优化模型来构建回归函数[2, 17], 即
$ \begin{array}{l} \min \frac{1}{2}{\left\| \mathit{\boldsymbol{\omega }} \right\|^2} + C\sum\limits_{i = 1}^m {\left( {{\zeta _i} + \zeta _i^*} \right)} \\ {\rm{s}}{\rm{.t}}{\rm{.}}\;\;\;\left\{ \begin{array}{l} {y_i} - \mathit{\boldsymbol{\omega }} \cdot \varphi \left( \mathit{\boldsymbol{x}} \right) - b \le \varepsilon + {\xi _i}\\ \left[ {\mathit{\boldsymbol{\omega }} \cdot \varphi \left( \mathit{\boldsymbol{x}} \right)} \right] + b - {y_i} \le \varepsilon + \xi _i^*\\ {\xi _i},\xi _i^* \ge 0\;\;\;\left( {i = 1,2, \cdots ,m} \right) \end{array} \right. \end{array} $ | (3) |
式中:C为惩罚因子; ξi, ξi*为松弛因子; ε为误差上限。
引入Lagrange乘子ai和ai*, 公式(3)所示的优化模型可转化为以下对偶优化问题予以求解:
$ \begin{array}{l} \max - \frac{1}{2}\sum\limits_{i,j = 1}^m {\left( {{a_i} - a_i^*} \right)} \left( {{a_j} - a_j^*} \right)k\left( {{x_i},{x_j}} \right) + \\ \sum\limits_{i = 1}^m {{y_i}} \left( {{a_i} - a_i^*} \right) - \varepsilon \sum\limits_{i = 1}^m {{y_i}} \left( {{a_i} + a_i^*} \right)\\ {\rm{s}}{\rm{.t}}{\rm{.}}\;\;\;\left\{ \begin{array}{l} \sum\limits_{i = 1}^m {{a_i}} = \sum\limits_{i = 1}^m {a_{_i}^*} \\ 0 \le {a_i}\;\;\;\;a_i^* \le C\;\;\;\left( {i = 1,2, \cdots ,m} \right) \end{array} \right. \end{array} $ | (4) |
式中:k(xi, xj)=φ(xi)·φ(xj)为核函数, 当ai×ai*=0且ai, ai*非同时为零时所对应的xi为支持向量(SV)。其中, ai, ai*同时为零时所对应的xi为标准支持向量(NSV)。求解上述问题可得到支持向量机回归函数:
$ f\left( \mathit{\boldsymbol{x}} \right)=\sum\limits_{i=1}^{m}{({{a}_{i}}-a_{_{i}}^{^{*}}) k (x, {{x}_{i}})+b} $ | (5) |
其中,
$ \begin{align} &b=\frac{1}{{{N}_{\text{NSV}}}}\{\sum\limits_{0<a_{_{i}}^{}<C}{[}{{y}_{i}}-\sum\limits_{{{x}_{i}}\in \text{SV}}^{{}}{\left( {{a}_{i}}-a_{_{i}}^{^{*}} \right)}k\left( x, {{x}_{i}} \right)- \\ &\varepsilon ]+\sum\limits_{0<a_{_{i}}^{^{*}}<C}{{}}[{{y}_{i}}-\sum\limits_{{{x}_{i}}\in \text{SV}}{\left( {{a}_{i}}-a_{_{i}}^{^{*}} \right)}k\left( x, {{x}_{i}} \right)+\varepsilon ]\} \\ \end{align} $ | (6) |
式中:NNSV为标准支持向量数量。由(5)式和(6)式知, 非线性函数可以将样本数据从低维空间映射到高维空间, 但在计算回归估计函数时只需计算核函数, 并不需要显式计算该非线性函数, 因此不会造成高维特征空间的维数灾难问题。选择核函数需满足Merce条件, 本文选择径向基函数:
$ k(x, {{x}_{i}})=\text{exp}\left( -\frac{\|x-{{x}_{i}}{{\|}^{2}}}{2{{\sigma }^{2}}} \right)=\text{exp}(-g\|x-{{x}_{i}}{{\|}^{2}})\ \ \ g>0 $ | (7) |
可见, 在支持向量机计算过程中涉及到两个主要参数, 即惩罚因子C和核函数参数g。
1.2 基于交互检验的参数优选方法惩罚因子C用于控制目标函数中两项之间的权重, C取得过小或过大, 都会使估计函数的泛化能力变差。若核函数参数g选得很小, 则高次特征衰减得很快, 实际上降低了空间维数; 若g选得过大, 则会出现过拟合现象。在实际应用中, 对同一区块不同层位进行储层预测时, C和g的取值是完全不同的, 即使是对同一层位进行储层预测, 在不同区块C和g的取值也是不同的, 而且没有规律可循。
本文通过交互检验选取参数C和g, 优选步骤如下:
1) 初始化参数Cstart, Cend, ΔC, gstart, gend, Δg。其中, Cstart和Cend是参数C的优选范围, ΔC是参数C的优选步长, gstart和gend是参数g的优选范围, Δg是参数g的优选步长。
2) 将样本{(xi, yi), i=1, 2, …, m}随机划分为均等的n组, 令C=Cstart, g=gstart, k=1。
3) 令j=1。
4) 选取第j组作为检验样本, 余下的n-1组作为训练样本。
5) 用(1)~(7)式计算损失函数| y -f(x)|的均方误差ej。
6) 令j=j+1, 若j≤n, 则转向步骤4), 否则转向步骤7)。
7) 计算
8) 令C=C+ΔC, k=k+1, 若C≤Cend, 则转向步骤3), 否则转向步骤9)。
9) 选择最小误差minEk所对应的C和g为最优参数值。
2 应用实例某油田开发区块P油层砂岩具有较好的物性, 砂岩分布及砂岩厚度预测是该区块开发的关键。区块内有25口井, 在P油层处的砂岩厚度均小于13 m, 将各井在P油层处的砂岩厚度及地震属性作为样本, 用本文方法进行砂岩厚度预测。利用该区块三维地震资料提取了振幅、频率、相位等20种地震属性, 采用基于核相似性度量的特征选择方法[11], 优选出平均绝对振幅、功率谱总能量、功率谱峰值频率、瞬时相位等4种地震属性。为了验证储层预测效果, 选用Well-sh401井、Well-sh29井、Well-sh60井作为后验井, 将其余22口井及优选出的平均绝对振幅、功率谱总能量、功率谱峰值频率、瞬时相位等4种地震属性作为样本, 用于砂岩厚度预测。参数C和g的选取采用交互检验的方法进行, 取n=4, 依照前述参数优选流程, 计算得到最优C, g的值为:C=92, g=49。
图 1是选用C=92, g=49时预测的砂岩厚度图。表 1给出了后验井砂岩的实测值和图 1的预测值, 相对误差都在11.59%以下。若使用非优选出的参数C和g, 砂岩厚度的预测精度就会受到影响。
图 2是非优选参数C=92, g=33预测的砂岩厚度图, 预测精度有所降低。表 2给出了后验井砂岩的实测值和图 2的预测值, 相对误差都大于13.64%。可见, 通过交互检验优选参数C和g, 可以提高储层砂岩厚度的预测精度。
支持向量机是有限样本情况下的机器学习方法, 具有较好的学习、预测性能。支持向量机应用于储层预测时, 惩罚因子及核函数参数的设置非常关键, 设置过大或过小都会降低储层预测的精度。通过交互检验优选支持向量机的惩罚因子及核函数参数的方法在地震储层预测中具有较好的实用性, 能够提高储层预测精度。
[1] |
张学工. 关于统计学习理论与支持向量机[J]. 自动化学报, 2000, 26(1): 32-41. ZHANG X G. Statistical learning theory and support vector machines[J]. Acta Automatica Sinica, 2000, 26(1): 32-41. |
[2] |
柳回春, 马树元. 支持向量机的研究现状[J]. 中国图像图形学报, 2007, 7(6): 618-623. LIU H Q, MA S Y. The research status of the support vector machine[J]. Chinese Journal of Image and Graphics, 2007, 7(6): 618-623. |
[3] |
VAPNIK V N, GOLOWICH S, SMOLA A. Support vector machine method for function approximation, regression estimation, and signal processing[J]. Advances in Neural Information Processing Systems, 1996, 281-287. |
[4] |
CHAN W C, CHAN C W, CHEUNG K C, et al. On the modolling of nonlinear dynamic systems using support vector neural networks[J]. Engineering Application of Artificial Intelligence, 2001, 14(2): 105-113. DOI:10.1016/S0952-1976(00)00069-5 |
[5] |
LUO W P, LI H Q. Semi-supervised least squares support vector machine algorithm:application to offshore oil reservoir[J]. Applied Geophysics, 2016, 13(2): 406-415. DOI:10.1007/s11770-016-0564-y |
[6] |
倪维军, 李琪, 郭文惠, 等. 基于支持向量机的页岩储层横波速度预测[J]. 西安石油大学学报(自然科学版), 2017, 32(4): 46-54. NI W J, LI Q, GUO W H, et al. Prediction of shear wave velocity in shale reservoir based on support vector machine[J]. Journal of Xi'an Shiyou University(Natural Science Edition), 2017, 32(4): 46-54. |
[7] |
袁伟, 张占松, 张泽宇, 等. 基于储层分类的支持向量机渗透率预测[J]. 测井技术, 2015, 39(4): 450-454. YUAN W, ZHANG Z S, ZHANG Z Y, et al. Reservoir classification based support vector machine permeability prediction[J]. Logging Technology, 2015, 39(4): 450-454. |
[8] |
汪海燕, 黎建辉, 杨风雷. 支持向量机理论及算法研究综述[J]. 计算机应用研究, 2014, 31(5): 1281-1286. WANG H Y, LI J H, YANG F L. Overview of support vector machine analysis and algorithm[J]. Application Research of Computers, 2014, 31(5): 1281-1286. |
[9] |
李希亮, 李栋梁, 张玲, 等. 支持向量机方法在地球物理学中的应用与展望[J]. 华南地震, 2012, 32(4): 52-57. LI X L, LI D L, ZANG L, et al. Application and prospect of support vector machine method in geophysics[J]. South China Journal of Seismology, 2012, 32(4): 52-57. |
[10] |
丁继才. 基于支持向量机的储层物性定量预测方法[C]//中国地球科学联合学术年会论文集, 2015: 1421-1423 DING J C. Quantitative prediction method of reservoir physical property based on support vector machine[C]//Annual Meeting of Chinese Geoscience Union, 2015: 1421-1423 |
[11] |
唐耀华, 张向君, 高静怀. 基于地震属性优选与支持向量机的油气预测方法[J]. 石油地球物理勘探, 2009, 44(1): 75-80. TANG Y H, ZANG X J, GAO J H. Method of oil / gas prediction based on optimization of seismic attributes and support vector machine[J]. Oil Geophysical Prospecting, 2009, 44(1): 75-80. |
[12] |
姚凯丰, 陆文凯, 丁文龙, 等. 一种基于SVM特征选择的油气预测方法[J]. 天然气工业, 2004, 24(7): 36-38. YAO K F, LU W K, DING W L, et al. Hydrocarbon prediction method based on SVM feature selection[J]. The Natural Gas Industry, 2004, 24(7): 36-38. |
[13] |
印兴耀, 周静毅. 地震属性优化方法综述[J]. 石油地球物理勘探, 2005, 40(4): 284-289. YIN X Y, ZHOU J Y. Summary of seismic attribute optimization methods[J]. Oil Geophysical Prospecting, 2005, 40(4): 284-289. |
[14] |
鲍祥生, 尹成, 赵伟, 等. 储层预测的地震属性优选技术研究[J]. 石油物探, 2006, 45(1): 28-33. BAO X S, YIN C, ZHAO W, et al. Research on seismic attribute optimization technique for reservoir prediction[J]. Geophysical Prospecting for Petroleum, 2006, 45(1): 28-33. |
[15] |
李艳芳, 程建远, 王成. 基于支持向量机的地震属性优选及煤层气预测[J]. 煤田地质与勘探, 2012, 40(6): 76-78. LI Y F, CHENG J Y, WANG C. Seismic attribute optimization based on support vector machine and coalbed methane prediction[J]. Coal Geology & Exploration, 2012, 40(6): 76-78. |
[16] |
陈军, 陈岩. 地震属性分析在储层预测中的应用[J]. 石油物探, 2001, 40(3): 94-99. CHEN J, CHEN Y. Application of seismic attribute analysis in reservoir prediction[J]. Geophysical Prospecting for Petroleum, 2001, 40(3): 94-99. |
[17] |
李海生. 支持向量机回归算法与应用研究[D]. 广州: 华南理工大学, 2005 LI H S. Support vector machine regression algorithm and application research[D]. Guanggou, China: South China University of Technology, 2005 |