更新SVM:alphas的优化修改量的求解公式

This commit is contained in:
jiangzhonglian
2017-04-20 00:30:48 +08:00
parent 3cb8b37cd0
commit 11a3822879
3 changed files with 3 additions and 3 deletions

View File

@@ -247,7 +247,7 @@ def innerL(i, oS):
return 0
# eta是alphas[j]的最优修改量如果eta==0需要退出for循环的当前迭代过程
# 类似2ab <= a^2 + b^2
# 参考《统计学习方法》李航-P125~P128<序列最小最优化算法>
eta = 2.0 * oS.K[i, j] - oS.K[i, i] - oS.K[j, j] # changed for kernel
if eta >= 0:
print("eta>=0")

View File

@@ -196,7 +196,7 @@ def innerL(i, oS):
return 0
# eta是alphas[j]的最优修改量如果eta==0需要退出for循环的当前迭代过程
# 类似2ab <= a^2 + b^2
# 参考《统计学习方法》李航-P125~P128<序列最小最优化算法>
eta = 2.0 * oS.X[i, :] * oS.X[j, :].T - oS.X[i, :] * oS.X[i, :].T - oS.X[j, :] * oS.X[j, :].T
if eta >= 0:
print("eta>=0")

View File

@@ -127,7 +127,7 @@ def smoSimple(dataMatIn, classLabels, C, toler, maxIter):
continue
# eta是alphas[j]的最优修改量如果eta==0需要退出for循环的当前迭代过程
# 类似2ab <= a^2 + b^2
# 参考《统计学习方法》李航-P125~P128<序列最小最优化算法>
eta = 2.0 * dataMatrix[i, :]*dataMatrix[j, :].T - dataMatrix[i, :]*dataMatrix[i,:].T - dataMatrix[j, :]*dataMatrix[j, :].T
if eta >= 0:
print("eta>=0")