@@ -693,6 +693,44 @@ def predict(Theta1,Theta2,X):
693
693
![ enter description here] [ 30 ]
694
694
![ enter description here] [ 31 ]
695
695
696
+ - 如何选择初始的![ {l^{(1)}}{l^{(2)}}{l^{(3)}}...] ( http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=%7Bl%5E%7B%281%29%7D%7D%7Bl%5E%7B%282%29%7D%7D%7Bl%5E%7B%283%29%7D%7D... )
697
+ - 训练集:![ (({x^{(1)}},{y^{(1)}}),({x^{(2)}},{y^{(2)}}),...({x^{(m)}},{y^{(m)}}))] ( http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=%28%28%7Bx%5E%7B%281%29%7D%7D%2C%7By%5E%7B%281%29%7D%7D%29%2C%28%7Bx%5E%7B%282%29%7D%7D%2C%7By%5E%7B%282%29%7D%7D%29%2C...%28%7Bx%5E%7B%28m%29%7D%7D%2C%7By%5E%7B%28m%29%7D%7D%29%29 )
698
+ - 选择:![ {l^{(1)}} = {x^{(1)}},{l^{(2)}} = {x^{(2)}}...{l^{(m)}} = {x^{(m)}}] ( http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=%7Bl%5E%7B%281%29%7D%7D%20%3D%20%7Bx%5E%7B%281%29%7D%7D%2C%7Bl%5E%7B%282%29%7D%7D%20%3D%20%7Bx%5E%7B%282%29%7D%7D...%7Bl%5E%7B%28m%29%7D%7D%20%3D%20%7Bx%5E%7B%28m%29%7D%7D )
699
+ - 对于给出的` x ` ,计算` f ` ,令:![ f_0^{(i)} = 1] ( http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=f_0%5E%7B%28i%29%7D%20%3D%201 ) 所以:![ {f^{(i)}} \in {R^{m + 1}}] ( http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=%7Bf%5E%7B%28i%29%7D%7D%20%5Cin%20%7BR%5E%7Bm%20%2B%201%7D%7D )
700
+ - 最小化` J ` 求出` θ ` ,
701
+ ![ J(\theta ) = C\sum\limits_ {i = 1}^m {[ {y^{(i)}}\cos {t_1}({\theta ^T}{f^{(i)}}) + (1 - {y^{(i)}})\cos {t_0}({\theta ^T}{f^{(i)}})} ] + \frac{1}{2}\sum\limits_ {j = 1}^{\text{n}} {\theta _ j^2} ] ( http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=J%28%5Ctheta%20%29%20%3D%20C%5Csum%5Climits_%7Bi%20%3D%201%7D%5Em%20%7B%5B%7By%5E%7B%28i%29%7D%7D%5Ccos%20%7Bt_1%7D%28%7B%5Ctheta%20%5ET%7D%7Bf%5E%7B%28i%29%7D%7D%29%20%2B%20%281%20-%20%7By%5E%7B%28i%29%7D%7D%29%5Ccos%20%7Bt_0%7D%28%7B%5Ctheta%20%5ET%7D%7Bf%5E%7B%28i%29%7D%7D%29%7D%20%5D%20%2B%20%5Cfrac%7B1%7D%7B2%7D%5Csum%5Climits_%7Bj%20%3D%201%7D%5E%7B%5Ctext%7Bn%7D%7D%20%7B%5Ctheta%20_j%5E2%7D%20 )
702
+ - 如果![ {\theta ^T}f \geqslant 0] ( http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=%7B%5Ctheta%20%5ET%7Df%20%5Cgeqslant%200 ) ,==》预测` y=1 `
703
+
704
+ ### 4、使用` scikit-learn ` 中的` SVM ` 模型代码
705
+ - 线性可分的,指定核函数为` linear ` :
706
+ ```
707
+ '''data1——线性分类'''
708
+ data1 = spio.loadmat('data1.mat')
709
+ X = data1['X']
710
+ y = data1['y']
711
+ y = np.ravel(y)
712
+ plot_data(X,y)
713
+
714
+ model = svm.SVC(C=1.0,kernel='linear').fit(X,y) # 指定核函数为线性核函数
715
+ ```
716
+ - 非线性可分的,默认核函数为` rbf `
717
+ ```
718
+ '''data2——非线性分类'''
719
+ data2 = spio.loadmat('data2.mat')
720
+ X = data2['X']
721
+ y = data2['y']
722
+ y = np.ravel(y)
723
+ plt = plot_data(X,y)
724
+ plt.show()
725
+
726
+ model = svm.SVC(gamma=100).fit(X,y) # gamma为核函数的系数,值越大拟合的越好
727
+ ```
728
+ ### 5、运行结果
729
+ - 线性可分的决策边界:
730
+ ![ enter description here] [ 32 ]
731
+ - 线性不可分的决策边界:
732
+ ![ enter description here] [ 33 ]
733
+
696
734
697
735
[ 1 ] : ./images/LinearRegression_01.png " LinearRegression_01.png "
698
736
[ 2 ] : ./images/LogisticRegression_01.png " LogisticRegression_01.png "
@@ -724,4 +762,6 @@ def predict(Theta1,Theta2,X):
724
762
[ 28 ] : ./images/SVM_05.png " SVM_05.png "
725
763
[ 29 ] : ./images/SVM_06.png " SVM_06.png "
726
764
[ 30 ] : ./images/SVM_07.png " SVM_07.png "
727
- [ 31 ] : ./images/SVM_08.png " SVM_08.png "
765
+ [ 31 ] : ./images/SVM_08.png " SVM_08.png "
766
+ [ 32 ] : ./images/SVM_09.png " SVM_09.png "
767
+ [ 33 ] : ./images/SVM_10.png " SVM_10.png "
0 commit comments