diff --git a/机器学习算法原理及推导/李航——统计学习方法/7.支持向量机——升维打击.md b/机器学习算法原理及推导/李航——统计学习方法/7.支持向量机——升维打击.md index 22b7a55..841042a 100644 --- a/机器学习算法原理及推导/李航——统计学习方法/7.支持向量机——升维打击.md +++ b/机器学习算法原理及推导/李航——统计学习方法/7.支持向量机——升维打击.md @@ -216,11 +216,9 @@ $$ 2.求minL(w,b,α)对α的极大,即是对偶问题 -![1620100936402](assets/1620100936402.png) - 3.求max转换成min: -![1620101031289](assets/1620101031289.png) +![1620100936402](assets/1620100936402.png) 接下来就是求解α的问题了,但是我们还得解决另外的一个问题 @@ -262,10 +260,105 @@ Maximum soft interval Kernel function -现在到了这里: +**现在到了这里:** ![1620101877936](assets/1620101877936.png) -![1620101888622](assets/1620101888622.png) \ No newline at end of file +![1620101888622](assets/1620101888622.png) + +**目前的问题:** + +式子中间有xi核xj的点积 + +例如在手写数字数据集中,训练集有6万个样本,6万乘6万勉强能接受 + +但如果每个样本有784维,6万样本两两做点积,是非常慢的。如果x是更高的维度呢? + +**梳理一下:** + +1. 由于公式的需要,我们需要计算xi和xj的点积 +2. 此外,我们需要将样本映射到高维去,加入映射函数ø(x),那么ø(xi)和ø(xj)的维度数目进一步扩大,它们的点积会让运算变得极其复杂 +3. 我们希望存在一个函数K(xi,yi)=ø(xi)×ø(xj),但函数K的计算方式更简单。也就是说,我们将样本通过函数升维得到ø(xi)和ø(xj),接下来要计算它们的点积,能不能有个简单的计算公式,计算出来的结果和ø(xi)×ø(xj)一样?那样我们就不用再去算ø(xi)和ø(xj)的结果了,直接用简单方式计算不是更好吗? + +这个简便方式,就是核函数 + +**在SVM中,我们通常使用高斯核:** + +![1620102775997](assets/1620102775997.png) + + 在计算x和z的点积时,直接用这个公式替代就好了 + + + +### 序列最小最优化算法(SMO) + +Sequetial minimal optimization + +之前我们还剩下α求解,我们用SMO + +**我们最后求解出来的α,一定是让整个结果满足KKT条件的。如果不满足,那一定不是最优解。** + +**所以我们可以不断地调整α的值,直到所有α都满足KKT条件,这是我们一定能得到最优解。** + +**怎么调整呢?——用SMO** + +假设整个式子中有N个α(α1,α2,α3,...,αN),先固定其它α,找α1,先让α1满足KKT条件。但如果固定除α1以外的所有α,等于也固定了α1. + +![1620103167523](assets/1620103167523.png) + +所以我们每次选择优化两个α + +![1620103181711](assets/1620103181711.png) + +进一步,原式中目前hi有α1和α2两个变量,我们将其它作为常数去除。 + +![1620100936402](assets/1620100936402.png) + +整理如下: + +![1620104035262](assets/1620104035262.png) + +![1620104045040](assets/1620104045040.png) + +目前可知,α1一定在0和C之间 + +![1620104366359](assets/1620104366359.png) + +![1620104377604](assets/1620104377604.png) + +![1620104388470](assets/1620104388470.png) + +![1620104396366](assets/1620104396366.png) + +**最终得到结果:** + +![1620104470719](assets/1620104470719.png) + +其中,L与H是![1620104485040](assets/1620104485040.png)所在对角线段端点的界,如果y1≠y2(如下左图所示),则 + +![1620104518723](assets/1620104518723.png) + +如果y1=y2(如下右图所示),则 + +![1620104531858](assets/1620104531858.png)![1620104541380](assets/1620104541380.png) + + + +现在对于两个α,我们已经知道该怎么优化了。那么怎么从总舵的α中挑选两个合适的来进行优化呢? + +——找到**违反KKT最严重**的。 + +**第一个变量的选择:** + +![1620107006621](assets/1620107006621.png) + +**第二个变量的选择:** + +在第一个变量步子迈大的情况下,再找一个步子迈得最大的α。它的量化方式|E1-E2| + +![1620107078112](assets/1620107078112.png) + +两个α都找到一个,进行优化,然后找下一对α,直到再也找不到不违反KKT的α为止。 + diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620101031289.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620101031289.png deleted file mode 100644 index 024eb97..0000000 Binary files a/机器学习算法原理及推导/李航——统计学习方法/assets/1620101031289.png and /dev/null differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620103167523.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620103167523.png new file mode 100644 index 0000000..ef3819c Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620103167523.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620103181711.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620103181711.png new file mode 100644 index 0000000..a13f2e6 Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620103181711.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104035262.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104035262.png new file mode 100644 index 0000000..e4aecff Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104035262.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104045040.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104045040.png new file mode 100644 index 0000000..ddd7fd8 Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104045040.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104366359.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104366359.png new file mode 100644 index 0000000..ed7cbfa Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104366359.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104377604.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104377604.png new file mode 100644 index 0000000..5f641ed Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104377604.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104388470.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104388470.png new file mode 100644 index 0000000..758fa23 Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104388470.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104396366.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104396366.png new file mode 100644 index 0000000..acc0a47 Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104396366.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104470719.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104470719.png new file mode 100644 index 0000000..8fd25c2 Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104470719.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104485040.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104485040.png new file mode 100644 index 0000000..5ff9f39 Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104485040.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104518723.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104518723.png new file mode 100644 index 0000000..8b284a4 Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104518723.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104531858.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104531858.png new file mode 100644 index 0000000..1bc1c60 Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104531858.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620104541380.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104541380.png new file mode 100644 index 0000000..0cf5b0c Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620104541380.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620107006621.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620107006621.png new file mode 100644 index 0000000..b43364c Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620107006621.png differ diff --git a/机器学习算法原理及推导/李航——统计学习方法/assets/1620107078112.png b/机器学习算法原理及推导/李航——统计学习方法/assets/1620107078112.png new file mode 100644 index 0000000..7e7587e Binary files /dev/null and b/机器学习算法原理及推导/李航——统计学习方法/assets/1620107078112.png differ