MCPcopy Index your code
hub / github.com/Dod-o/Statistical-Learning-Method_Code / isSatisfyKKT

Method isSatisfyKKT

SVM/SVM.py:120–145  ·  view source on GitHub ↗

查看第i个α是否满足KKT条件 :param i:α的下标 :return: True:满足 False:不满足

(self, i)

Source from the content-addressed store, hash-verified

118 return k
119
120 def isSatisfyKKT(self, i):
121 '''
122 查看第i个α是否满足KKT条件
123 :param i:α的下标
124 :return:
125 True:满足
126 False:不满足
127 '''
128 gxi =self.calc_gxi(i)
129 yi = self.trainLabelMat[i]
130
131 #判断依据参照“7.4.2 变量的选择方法”中“1.第1个变量的选择”
132 #式7.111到7.113
133 #--------------------
134 #依据7.111
135 if (math.fabs(self.alpha[i]) < self.toler) and (yi * gxi >= 1):
136 return True
137 #依据7.113
138 elif (math.fabs(self.alpha[i] - self.C) < self.toler) and (yi * gxi <= 1):
139 return True
140 #依据7.112
141 elif (self.alpha[i] > -self.toler) and (self.alpha[i] < (self.C + self.toler)) \
142 and (math.fabs(yi * gxi - 1) < self.toler):
143 return True
144
145 return False
146
147 def calc_gxi(self, i):
148 ''&#x27;

Callers 1

trainMethod · 0.95

Calls 1

calc_gxiMethod · 0.95

Tested by

no test coverage detected