Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
483,29 KB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG SAVADY Sathaphone Nghiên cứu phương pháp Máy véc tơ hỗ trợ với lề mềm ứng dụng phân lớp liệu tuyến tính có nhiễu LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2019 Số hóa Trung tâm Học liệu Cơng nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG SAVADY Sathaphone Nghiên cứu phương pháp Máy véc tơ hỗ trợ với lề mềm ứng dụng phân lớp liệu tuyến tính có nhiễu Chun ngành: Khoa học máy tính Mã số: 8480101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: TS Đàm Thanh Phương THÁI NGUYÊN - 2019 Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn L˝I CAM OAN Tỉi xin cam oan: Lu“n v«n th⁄c s chuyản ng nh Khoa hồc mĂy tnh, tản ã t i Nghiản cứu phữỡng phĂp MĂy vc tỡ hỉ trổ vợi lã mãm v ứng dửng phƠn lợp d li»u tuy‚n t‰nh câ nhi„u l cỉng tr…nh nghi¶n cøu, t…m hi”u v tr…nh b y tæi thüc hi»n dữợi sỹ hữợng dÔn khoa hồc ca TS m Thanh Phữỡng, Trữớng i hồc Cổng nghằ Thổng tin v Truyãn thỉng - ⁄i håc Th¡i Nguy¶n K‚t qu£ t…m hi”u, nghiản cứu lun vôn l ho n to n trung thỹc, khổng vi phm bĐt iãu g lu“t sð hœu tr‰ tu» v ph¡p lu“t Vi»t Nam N‚u sai, tæi ho n to n chàu tr¡ch nhi»m trữợc phĂp lut TĐt cÊ cĂc t i liằu, b i b¡o, khâa lu“n, cỉng cư phƒn m•m cıa c¡c tĂc giÊ khĂc ữổc sò dửng li lun vôn n y ãu ữổc ch dÔn tữớng minh vã tĂc gi£ v •u câ danh mưc t i li»u tham khÊo ThĂi Nguyản, ng y 18 thĂng nôm 2019 T¡c gi£ lu“n v«n SAVADY Sathaphone i L˝IC MÌN T¡c gi£ xin ch¥n th nh c£m ìn TS m Thanh Ph÷ìng, tr÷íng ⁄i håc Cỉng ngh» thỉng tin v truyãn thổng - i hồc ThĂi Nguyản, l giĂo viản hữợng dÔn khoa hồc  hữợng dÔn tĂc giÊ ho n th nh lun vôn n y, xin ữổc cÊm ìn c¡c thƒy, cỉ gi¡o tr÷íng ⁄i håc cỉng ngh» thỉng tin v truy•n thỉng nìi t¡c gi£ theo håc v ho n th nh chữỡng trnh cao hồc  nhi»t t…nh gi£ng d⁄y v gióp ï Xin c£m ìn nỡi tĂc giÊ cổng tĂc  to mồi iãu kiằn thu“n lỉi ” t¡c gi£ ho n th nh ch÷ìng tr…nh håc t“p V cuŁi cịng xin c£m ìn gia nh, bn b, ỗng nghiằp  ng viản, giúp ù t¡c gi£ suŁt thíi gian håc t“p, nghi¶n cøu v ho n th nh lun vôn ny Xin chƠn th nh c£m ìn Th¡i Nguy¶n, ng y 18 th¡ng n«m 2019 T¡c gi£ lu“n v«n SAVADY Sathaphone ii DANHS CHHNHV 2.1 CĂc mt phƠn cĂch hai lợp tuyn t‰nh 2.2 Lã ca hai lợp khổng bng 2.3 Lã ca hai lợp bng nhau, chồn phữỡng Ăn cõ 2.4 PhƠn tch b i to¡n SVM 2.5 C¡c i”m gƒn m°t ph¥n c¡ch nhĐt ca hai classes ữổc 2.6 Soft margin SVM câ nhi„u, SVM s‡ khæng ho⁄t 2.7 Soft margin SVM dœ li»u gƒn linearly separab thuƒn s‡ khæng ho⁄t ºng hi»u qu£ 2.8 Mỉ t£ sü ÷ỉc v mĐt chồn lã 2.9 H m hinge loss 3.1 Minh håa nghi»m t…m c bði SVM 3.2 Dœ li»u tuy‚n t‰nh câ nhi„u 3.3 ữớng phƠn chia tm ữổc bi sklearn 3.4 ữớng phƠn chia tm ữổc bi hinge loss 3.5 ữớng phƠn chia tm ữổc bi i ngÔu CĂc kt quÊ 3.6 Nghi»m t…m b‹ng sklearn, C =0.1 3.7 Nghi»m t…m b‹ng sklearn, C=1 3.8 Nghi»m C=10 3.9 nh hững ca C lản nghiằm, C=100 iii DANH MÖC KÞ HI U, TØVI TT T iv R Z C n R jj:jj SVM Soft SVM Argmin Duality Lagrangian Strong duality Weak duality KKT det(A) A T A H kAkF diag(A) trace(A) sng(x) @f @x rxf v MƯC LƯC Líi cam oan i Líi c£m ìn ii Danh s¡ch h…nh v‡ ii Danh mửc kỵ hiằu, t vit tt Mð v ƒu Ch÷ìng MáT Să KI N THC CHU N B 1.1 TŒng quan v• ngỉn ngœ Python 1.2 Giợi thiằu vã hồc mĂy 1.3 Mºt sŁ ki‚n thøc to¡n håc bŒ træ 11 Chữỡng PHìèNG PH P M Y V C TÌ HÉ TRĐ SVM 25 2.1 B i toĂn phƠn lợp SVM 25 2.2 B i toĂn SVM vợi lã mãm 33 Ch÷ìng ÙNG DƯNG V L P TR NH M˘ PH˜NG 46 3.1 L“p tr… nh t…m nghi»m cho SVM 46 3.2 L“p tr…nh t…m nghi»m cho Soft SVM 48 K‚t lu“n chung 55 T i li»u tham kh£o 55 vi M U Nhng nôm gn Ơy, AI - Artificial Intelligence (Tr‰ Tu» Nh¥n T⁄o), v cư th” hìn l Machine Learning (Hồc MĂy hoc MĂy Hồc) ni lản nhữ mºt b‹ng chøng cıa cuºc c¡ch m⁄ng cæng nghi»p lƒn thứ tữ (1 - ng cỡ nữợc, nông l÷ỉng i»n, - cỉng ngh» thỉng tin) Tr‰ Tu» NhƠn To ang len lọi v o mồi lắnh vỹc íi sŁng m câ th” chóng ta khỉng nh“n Xe tü h nh cıa Google v Tesla, h» thŁng tü tag khuæn m°t £nh cıa Facebook, træ lỵ Êo Siri ca Apple, hằ thng gổi ỵ sÊn ph'm ca Amazon, hằ thng gổi ỵ phim ca Netflix, m¡y chìi cí v¥y AlphaGo cıa Google DeepMind, , ch¿ l mºt v i væ v n nhœng øng döng cıa AI/Machine Learning [7] Machine Learning l mºt t“p cıa AI Theo ành ngh¾a cıa Wikipedia, Machine learning is the subfield of computer science that gives computers the ability to learn without being explicitly programmed Nâi ìn gi£n, Machine Learning l mºt l¾nh vüc nhä cıa Khoa Håc M¡y T‰nh, nâ câ kh£ n«ng tỹ hồc họi dỹa trản d liằu ữa v o m khỉng cƒn ph£i ÷ỉc l“p tr…nh cư th” [1] PhƠn lợp v hỗi quy l hai s cĂc thu“t to¡n håc m¡y câ gi¡m s¡t câ nhi•u øng dửng thỹc t B i toĂn phƠn lợp tuyn tnh cỡ bÊn yảu cu xƠy dỹng mt classifier t dœ li»u training ” câ i”m dœ li»u mỵi ta cõ th dỹ oĂn ữổc nhÂn ca nõ GiÊ sò rng cõ hai class khĂc ữổc mổ tÊ bði c¡c i”m khỉng gian nhi•u chi•u, hai classes n y linearly separable, tức tỗn ti mt siảu phflng phƠn chia chnh xĂc hai classes õ HÂy tm mt siảu mt phflng phƠn chia hai classes õ, tức tĐt c£ c¡c i”m thuºc mºt class n‹m v• cịng mºt pha ca siảu mt phflng õ v ngữổc ph a vợi to n b cĂc im thuc class cặn li Chóng ta ¢ bi‚t r‹ng, thu“t to¡n PLA câ th” l m ÷ỉc vi»c n y nh÷ng nâ câ th” cho chóng ta vỉ sŁ nghi»m C¥u häi °t l : væ sŁ c¡c m°t 44 ” t‰nh gradient cho to n bº dœ li»u, ta °t ỵ rng u l mt vc tỡ h ng Ti‚p töc, ta cƒn x¡c ành c¡c tr‰ cıa u câ gi¡ trà nhä hìn 1, tøc øng vỵi trữớng hổp trản t H = fn : un < 1g ta câ th” suy c¡ch t‰nh ⁄o h m theo w cıa h m m§t m¡t l 23 X rJ(w) = ynxn + n2H w 45 (2.2.43) V“y quy t›c c“p nh“t cıa w l : 31 w ynxn + 5A w=w vợi l tc hồc 45 (2.2.44) CHìèNG NG DƯNG V L P TR NH M˘ PH˜NG Ch÷ìng n y tr…nh b y mºt sŁ k‚t qu£ l“p tr…nh mổ phọng ứng dửng ca SVM vợi lã mãm c¡c tr÷íng hỉp dœ li»u tuy‚n t‰nh câ nhi„u 3.1 L“p tr…nh t…m nghi»m cho SVM 3.1.1 - T…m nghi»m theo cỉng thøc Gåi c¡c module cƒn dịng v t⁄o dœ li»u gi£, £m b£o ph¥n t¡ch tuy‚n t ‰nh from future import print_function import numpy as np import matplotlib.pyplot as plt from scipy.spatial.distance import cdist np.random.seed(22) means = [[2, 2], [4, 2]] cov = [[.3, 2], [.2, 3]] N=10 X0 = np.random.multivariate_normal(means[0], cov, N) # class X1 = np.random.multivariate_normal(means[1], cov, N) # class -1 X = np.concatenate((X0.T, X1.T), axis = 1) # all data y = np.concatenate((np.ones((1, N)), -1*np.ones((1, N))), axis = 1) # labels Ti‚p theo, giÊi b i toĂn i ngÔu 2.1.16 - 2.1.18 b‹ng CVXOPT: from cvxopt import matrix, solvers # build K V = np.concatenate((X0.T, -X1.T), axis = 1) K = matrix(V.T.dot(V)) # see definition of V, K near eq (8) p = matrix(-np.ones((2*N, 1))) # all-one vector # build A, b, G, h G = matrix(-np.eye(2*N)) # for all lambda_n >= h = matrix(np.zeros((2*N, 1))) A = matrix(y) # the equality constrain is actually y^T lambda = b = matrix(np.zeros((1, 1))) solvers.options[’show_progress’] = False sol = solvers.qp(K, p, G, h, A, b) l = np.array(sol[’x’]) print(’lambda = ’) print(l.T) K‚t qu£ l lambda = [[ 8.54018321e-01 2.89132533e-10 1.37095535e+00 6.36030818e-10 4.04317408e-10 8.82390106e-10 6.35001881e-10 5.49567576e-10 8.33359230e-10 1.20982928e-10 6.86678649e-10 1.25039745e-10 2.22497367e+00 4.05417905e-09 1.26763684e-10 1.99008949e-10 2.13742578e-10 1.51537487e-10 3.75329509e-10 3.56161975e-10]] 46 H…nh 3.1: Minh håa nghi»m t…m c bði SVM C¡c gi¡ tr ca lambda ãu rĐt nhọ úng phÊi bng kt quÊ õ phÊn Ănh vÔn cặn nhng sai sŁ t‰nh to¡n Ta i t…m t“p hæp c¡c vc tỡ hỉ trổ rỗi tm nghiằm ca b i to¡n epsilon = 1e-6 # just a small number, greater than 1e-9 S = np.where(l > epsilon)[0] VS = V[:, S] XS = X[:, S] yS = y[:, S] lS = l[S] # calculate w and b w = VS.dot(lS) b = np.mean(yS.T - w.T.dot(XS)) print(’w = ’, w.T) print(’b = ’, b) w = [[-2.00984381 0.64068336]] b = 4.66856063387 C¡c k‚t qu£ ÷ỉc minh håa b‹ng h…nh £nh 3.1 dữợi Ơy ữớng m u en m gia chnh l mt phƠn cĂch tm ữổc bng SVM 3.1.2 Tm nghiằm theo thữ viằn Nu sò dửng sklearn, ta l m nh÷ sau from sklearn.svm import SVC y1 = y.reshape((2*N,)) X1 = X.T # each sample is one row clf = SVC(kernel = ’linear’, C = 1e5) # just a big number clf.fit(X1, y1) 47 w = clf.coef_ b = clf.intercept_ print(’w = ’, w) print(’b = ’, b) K‚t qu£ l w = [[-2.00971102 0.64194082]] b = [ 4.66595309] K‚t qu£ n y v k‚t qu£ t…m nghi»m theo cổng thức khĂ tữỡng 3.2 3.2.1 ỗng Lp trnh tm nghi»m cho Soft SVM Gi£i b i to¡n l• m•m b‹ng ba c¡ch Khai b¡o v t⁄o dœ li»u gi£ # generate data # list of points import numpy as np import matplotlib.pyplot as plt from scipy.spatial.distance import cdist np.random.seed(21) from matplotlib.backends.backend_pdf import PdfPages means = [[2, 2], [4, 1]] cov = [[.3, 2], [.2, 3]] N=10 X0 = np.random.multivariate_normal(means[0], cov, N) X1 = np.random.multivariate_normal(means[1], cov, N) X1[-1, :] = [2.7, 2] X = np.concatenate((X0.T, X1.T), axis = 1) y = np.concatenate((np.ones((1, N)), -1*np.ones((1, N))), axis = 1) H…nh 3.2 dữợi Ơy mổ tÊ d liằu va to GiÊi bng th÷ vi»n sklearn Chån C = 100 from sklearn.svm import SVC C=100 clf = SVC(kernel = ’linear’, C = C) clf.fit(X, y) w_sklearn = clf.coef_.reshape(-1, 1) b_sklearn = clf.intercept_[0] print(w_sklearn.T, b_sklearn) Nghi»m t…mc l [[-1.87461946 -1.80697358]] 8.49691190196 T…m nghi»m b‹ng giÊi b i toĂn i ngÔu from cvxopt import matrix, solvers # build K 48 H…nh 3.2: Dœ li»u tuy‚n t‰nh câ nhi„u V = np.concatenate((X0.T, -X1.T), axis = 1) K = matrix(V.T.dot(V)) p = matrix(-np.ones((2*N, 1))) # build A, b, G, h G = matrix(np.vstack((-np.eye(2*N), np.eye(2*N)))) h = matrix(np.vstack((np.zeros((2*N, 1)), C*np.ones((2*N, 1))))) A = matrix(y.reshape((-1, 2*N))) b = matrix(np.zeros((1, 1))) solvers.options[’show_progress’] = False sol = solvers.qp(K, p, G, h, A, b) l = np.array(sol[’x’]) print(’lambda = \n’, l.T) lambda = [[ 1.11381472e-06 9.99999967e+01 1.10533112e-06 6.70163540e-06 3.40838760e+01 4.73972850e-06 9.99999978e+01 3.13320446e-06 9.99999985e+01 5.06729333e+01 9.99999929e+01 3.23564235e-06 9.99999984e+01 9.99999948e+01 1.37977626e-06 9.99997155e+01 3.45005660e-06 1.46190314e-06 5.50601997e-06 1.45062544e-06 1.85373848e-06 1.14181647e-06 8.47565685e+01 9.99999966e+01 9.99999971e+01 8.00764708e-07 2.65537193e-06 1.45230729e-06 4.15737085e-06 9.99999887e+01 9.99999761e+01 8.98414770e-07 9.99999979e+01 1.75651607e-06 8.27947897e-07 1.04289116e-06 9.99999969e+01 9.07920759e-07 8.83138295e-07 9.99999971e+01]] Trong c¡c th nh phƒn cıa lambda t…m ữổc, cõ rĐt nhiãu th nh phn rĐt nhọ, tợi 10 Ơy chnh l cĂc lambdai = Cõ rĐt nhiãu phn tò xĐp x bng vợi C = 100, tữỡng ứng vợi cĂc vc tỡ hỉ trổ khổng nm trản lã, vợi mt sai s tnh toĂn nhä C¡c gi¡ trà cỈn l⁄i n‹m giœa v 100 l cĂc giĂ tr tữỡng ứng vợi cĂc im nm chnh xĂc trản hai lã Tip theo ta cn t‰nh w v b theo cæng thøc 2.2.25 v ?? Trữợc õ ta cn 49 tm hổp cĂc im hỉ trổ v nhng im nm trản lã S = np.where(l > 1e-5)[0] # support set S2 = np.where(l < 999*C)[0] M = [val for val in S if val in S2] # intersection of two lists XT = X.T # we need each column to be one data point in this alg VS = V[:, S] lS = l[S] yM = y[M] XM = XT[:, M] w_dual = VS.dot(lS).reshape(-1, 1) b_dual = np.mean(yM.T - w_dual.T.dot(XM)) print(w_dual.T, b_dual) K‚t qu£ l [[-1.87457279 -1.80695039]] 8.49672109815 K‚t qu£ n y gƒn giŁng vợi kt quÊ tm ữổc bng sklearn trản Tm nghi»m b‹ng gi£i b i to¡n khæng r ng buºc Trong ph÷ìng ph¡p n y, ta cƒn t‰nh gradient cıa h m mĐt mĂt Nhữ thữớng lằ, cn ki”m chøng n y b‹ng c¡ch so s¡nh vỵi ⁄o h m sŁ X0_bar = np.vstack((X0.T, np.ones((1, N)))) # extended data X1_bar = np.vstack((X1.T, np.ones((1, N)))) # extended data Z = np.hstack((X0_bar, - X1_bar)) # as in (22) lam = 1./C def cost(w): u = w.T.dot(Z) # as in (23) return (np.sum(np.maximum(0, - u)) + \ 5*lam*np.sum(w*w)) - 5*lam*w[-1]*w[-1] # no bias def grad(w): u = w.T.dot(Z) # as in (23) H = np.where(u < 1)[1] ZS = Z[:, H] g = (-np.sum(ZS, axis = 1, keepdims = True) + lam*w) g[-1] -= lam*w[-1] # no weight decay on bias return g eps = 1e-6 def num_grad(w): g = np.zeros_like(w) for i in xrange(len(w)): wp = w.copy() wm = w.copy() wp[i] += eps wm[i] -= eps g[i] = (cost(wp) - cost(wm))/(2*eps) return g w0 = np.random.randn(X0_ext.shape[0], 1) g1 = grad(w0) g2 = num_grad(w0) diff = np.linalg.norm(g1 - g2) 50 print(’Gradient different: %f’ %diff) K‚t qu£ so s¡nh cho th§y b‹ng vỵi ⁄o h m sŁ Gradient difference: 0.000000 V… sü kh¡c giœa hai c¡ch t‰nh gradient l b‹ng 0, ta cõ th yản tƠm rng gradient tnh ữổc l ch‰nh x¡c Sau ch›c ch›n r‹ng gradient t…m ÷ỉc ¢ ch‰nh x¡c, ta câ th” b›t ƒu l m Gradient Descent: def grad_descent(w0, eta): w = w0 it = while it < 100000: it = it + g = grad(w) w -= eta*g if (it % 10000) == 1: print(’iter %d’ %it + ’ cost: %f’ %cost(w)) if np.linalg.norm(g) < 1e-5: break return w w0 = np.random.randn(X0_ext.shape[0], 1) w = grad_descent(w0, 0.001) w_hinge = w[:-1].reshape(-1, 1) b_hinge = w[-1] print(w_hinge.T, b_hinge) K‚t qu£ l [[-1.8623959 -1.79532187]] [ 8.4493419] Ta thĐy rng kt quÊ tm ữổc bng ba cĂch l nhữ CĂc hnh 3.3-3.5 dữợi Ơy minh ho⁄ k‚t qu£ b‹ng ba c¡ch t‰nh: Trong thüc t‚ ¡p dưng, ph÷ìng ph¡p ch›c ch›n ÷ỉc lüa chån v… gån g ng, nhanh châng nh h÷ðng cıa C lản nghiằm Ta thĐy rng C c ng lợn th biản c ng nhọ i nhữ phn phƠn tch to¡n håc ¢ ch¿ K‚t qu£ th” hi»n bin i C nhữ cĂc hnh dữợi ThÊo lun SVM thuƒn (Hard Margin SVM) ho⁄t ºng khæng hi»u qu£ câ nhi„u ð gƒn bi¶n ho°c th“m ch‰ dœ li»u giœa hai lỵp gƒn linearly separable Soft Margin SVM câ th” gióp kh›c phưc i”m n y 51 H…nh 3.3: ữớng phƠn chia tm ữổc bi sklearn Hnh 3.4: ÷íng ph¥n chia t…m ÷ỉc bði hinge loss H…nh 3.5: ữớng phƠn chia tm ữổc bi i ngÔu CĂc kt qu£ l nh÷ 52 H…nh 3.6: Nghi»m t…m b‹ng sklearn, C =0.1 H…nh 3.7: Nghi»m t…m b‹ng sklearn, C=1 H…nh 3.8: Nghi»m C=10 53 H…nh 3.9: nh h÷ðng cıa C l¶n nghi»m, C=100 Trong Soft Margin SVM, chóng ta ch§p nh“n lØi x£y ð mºt v i i”m dœ li»u LØi n y ÷ỉc x¡c ành b‹ng khoÊng cĂch t im õ tợi ữớng biản tữỡng ứng B i to¡n tŁi ÷u s‡ tŁi thi”u lØi n y bng cĂch sò dửng thảm cĂc bin ữổc gồi l slack varaibles ” gi£i b i to¡n tŁi ÷u, câ hai c¡ch kh¡c MØi c¡ch câ nhœng ÷u, nhữổc im riảng CĂch thứ nhĐt l giÊi b i toĂn i ngÔu B i toĂn i ngÔu ca Soft Margin SVM rĐt ging vợi b i toĂn i ngÔu cıa Hard Margin SVM, ch¿ kh¡c ð r ng buºc chn trản ca cĂc nhƠn tò Laggrange R ng buc n y cặn ữổc gồi l box costraint CĂch thứ hai l ữa b i toĂn vã dng khổng r ng buc dỹa trản mt h m mợi gồi l hinge loss Vợi cĂch n y, h m mĐt mĂt thu h m lỗi v cõ th giÊi ữổc l mºt ÷ỉc kh¡ d„ d ng v hi»u qu£ b‹ng c¡c ph÷ìng ph¡p Gradient Descent Trong Soft Margin SVM, câ mt hng s phÊi ữổc chồn, õ l C Hữợng tip cn n y cặn ữổc gồi l C-SVM Ngo i ra, cặn cõ mt hữợng tip cn khĂc cụng hay ữổc sò dửng, gồi l v-svm 54 K T LU N CHUNG Dữợi sỹ ch bÊo ca GiĂo viản hữợng dÔn, côn v o ã cữỡng lun vôn  ữổc phả duyằt, lun vôn  t ữổc mt s nhiằm vử sau: (1) Tm hiu vã phữỡng phĂp phƠn lợp tuyn tnh mĂy vc tỡ hỉ trổ SVM B i to¡n tŁi ÷u SVM l b i toĂn i tm ữớng phƠn chia cho lã Êm bÊo lợn nhĐt cõ th Nghắa l Êm bÊo khoÊng cĂch t nhng im gn nhĐt ca hai lợp tợi mt phƠn chia l bng v rng nhĐt cõ th” (2) X¥y düng v gi£i b i to¡n tŁi ÷u cho SVM Hi”u c¡c ki‚n thøc to¡n cì sð ca SVM v cĂc bữợc giÊi b i toĂn ti ữu (3) Tm hiu b i toĂn SVM vợi lã mãm Trong trữớng hổp cĂc lợp l tuyn tnh cõ nhiu, cn phÊi xƠy dỹng li iãu kiằn ti ữu ” gi£i b i to¡n thüc t‚ â Vi»c gi£i trüc ti‚p cơng nh÷ gi£i thỉng qua b i to¡n i ngÔu  ữổc nghiản cứu (4) C i t mổ phọng ứng dửng ca cĂc phữỡng phĂp phƠn lợp trản cĂc iãu kiằn ỡn giÊn, cõ nhiu thĐy ữổc ỵ nghắa ca b i toĂn Trản cỡ s ca cĂc kt quÊ Â t ữổc, nu cõ th tip tửc nghiản cứu th lun vôn l nãn tÊng tt nghiản cứu thảm mt s vĐn ã sau: Mð rºng c¡c b i to¡n SVM thäa m¢n nhng yảu cu thỹc t ca d liằu Ti ữu cĂc phữỡng phĂp giÊi CĂc ứng dửng phƠn lợp tuyn t‰nh câ nhi„u thüc t‚ hìn 55 T ILI UTHAMKH O [1] Bishop, Christopher M Pattern recognition and Machine Learning , Springer (2006) [2] Duda, Richard O., Peter E Hart, and David G Stork Pattern classifi-cation John Wiley & Sons, 2012 [3] LIBSVM A Library for Support Vector Machines https://www.csie.ntu.edu.tw/ cjlin/libsvm/ [4] sklearn.svm.SVC https://scikit- learn.org/stable/modules/generated/sklearn.svm.SVC.html [5] Bennett, K P (1992) Robust linear programming discrimination of two linearly separable sets Optimization Methods and Software 1, 23 34 [6] Rosasco, L.; De Vito, E D.; Caponnetto, A.; Piana, M.; Verri, A (2004) Are Loss Functions All the Same? Neural Computation 16 (5): 1063 1076 [7] Machine learning cì b£n, Vơ Hœu Ti»p., https://machinelearningcoban.com/ [8] Eric Matthes, "Python Crash Course", 2016 [9] Vê Duy TuĐn, "Python rĐt l cỡ bÊn", 2016 [10] m Thanh Ph÷ìng, Tr÷ìng H H£i, Ngỉ M⁄nh T÷ðng, Bũi Th Thanh XuƠn, "GiĂo trnh ToĂn cao cĐp 1", NXB ⁄i håc Th¡i Nguy¶n, 2016 56 Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn ... Sathaphone Nghiên cứu phương pháp Máy véc tơ hỗ trợ với lề mềm ứng dụng phân lớp liệu tuyến tính có nhiễu Chun ngành: Khoa học máy tính Mã số: 8480101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người... tnh, tản ã t i Nghiản cứu phữỡng phĂp MĂy vc tỡ hỉ trổ vợi lã mãm v ứng dửng phƠn lợp d liằu tuyn tnh cõ nhiu l cỉng tr…nh nghi¶n cøu, t…m hi”u v tr…nh b y tổi thỹc hiằn dữ? ??i sỹ hữợng dÔn khoa... vc tỡ riảng ứng vợi giĂ tr ri¶ng â Tł â suy t“p c¡c v†c tì riảng ứng vợi mt giĂ tr riảng ca ma trn vng t⁄o th nh mºt khỉng gian v†c tì con, ữổc gồi l khổng gian riảng (eigenspace ) ứng vợi gi¡