" data-medium-file="https://ongxuanhong.files.wordpress.com/2015/10/feature-engineering.png?w=300" data-large-file="https://ongxuanhong.files.wordpress.com/2015/10/feature-engineering.png?w=790" class="size-full wp-image-3633" src="https://ongxuanhong.files.wordpress.com/2015/10/feature-engineering.png?w=1100" alt="Feature engineering" srcset="https://ongxuanhong.files.wordpress.com/2015/10/feature-engineering.png 790w, https://ongxuanhong.files.wordpress.com/2015/10/feature-engineering.png?w=150 150w, https://ongxuanhong.files.wordpress.com/2015/10/feature-engineering.png?w=300 300w, https://ongxuanhong.files.wordpress.com/2015/10/feature-engineering.png?w=768 768w" sizes="(max-width: 790px) 100vw, 790px" />Feature engineering

Trong bài viết này, ta sẽ tìm hiểu về kĩ thuật feature engineering. Đây là chủ thể mà phần nhiều không có bài bác báo hay cuốn sách như thế nào đề cập mang đến nhưng kĩ thuật này là yếu hèn tố đặc biệt quan trọng trong vấn đề xây dựng thành công quy mô dự đoán tất cả độ đúng đắn cao. Bài viết này nhằm mục tiêu trả lời câu hỏi feature engineering là gì, lý do nó quan lại trọng, và những bài toán con trong kinh nghiệm feature engineering.

Bạn đang xem: Xác định đặc trưng của dữ liệu (Feature Extraction)

Feature Engineering là gì

Feature Engineering là qúa trình biến hóa tập tài liệu thô ban đầu thành tập những thuộc tính (features) rất có thể giúp trình diễn tập dữ liệu ban sơ tốt hơn, tạo điều kiện để giải quyết và xử lý các bài toán dễ ợt hơn, giúp tương hợp với từng quy mô dự đoán vậy thể, cũng như cải thiện độ chính xác của quy mô dự đoán hiện tại.

Feature engineering cố gắng biểu diễn tốt nhất tập dữ liệu lúc đầu sao cho tương thích với quy mô dự đoán nhiều người đang sử dụng. Xét bài toán dự kiến sinh viên này có chức năng bỏ học tập là từng nào phần trăm. Thông thường, ta vẫn sử dụng toàn bộ các trực thuộc tính liên quan đến sinh viên kia để áp dụng cho câu hỏi phân lớp, mà các thuộc tính này thường tương đối nhiều từ 20-50 cột nằm trong tính. Mặc dù nhiên, lúc đưa cục bộ thuộc tính này vào mô hình phân lớp của chính bản thân mình (ví dụ quy mô cây quyết định), thời gian để sản phẩm công nghệ traing siêu lâu, mặt khác kết qủa dự kiến có độ đúng đắn thấp. Thay do làm như vậy, ta áp dụng kĩ thuật feature engineering để lựa chọn ra một số thuộc tính phù hợp hơn như có vay mượn nhằm đóng ngân sách học phí không, số điểm nguồn vào là bao nhiêu, qúa trình văn minh trong tiếp thu kiến thức là bao nhiêu,… ngoại trừ ra, ta rất có thể thu thập thêm các thuộc tính quan trọng khác để bổ sung cập nhật vào tập dữ liệu ban đầu như có tham gia nhiều vận động ngoại khóa xuất xắc không, gồm được cung cấp vào kí túc xá xuất xắc không,… Thì số nằm trong tính đưa vào quy mô phân lớp được giảm sút đáng đề cập giúp tốc độ để sản phẩm công nghệ training nhanh hơn. Rộng nữa, dựa vào biểu diễn xuất sắc tập dữ liệu lúc đầu mà độ chính xác mô hình phân lớp được cải thiện đáng kể.

Cũng như lập trình là một nghệ thuật, giao tiếp là một nghệ thuật, hay khám chữa trị bệnh là 1 trong những nghệ thuật thì feature engineering cũng là 1 trong những nghệ thuật. Vày tập dữ liệu trên thực tế phức hợp hơn rất nhiều so với những gỉa định trong nghiên cứu, tiếp tế đó những bài toán vào thực tế luôn luôn luôn biến đổi và đòi hỏi những nhà công nghệ dữ liệu phải biết thích nghi vào từng trường hợp để lấy ra phương pháp xây dựng mô hình phù hợp nhất. Bởi vì vậy, việc thêm bớt, chỉnh sửa các thuộc tính mang lại tập dữ liệu thuở đầu sao cho bao gồm thể cải thiện tốc độ thống kê giám sát cũng như nâng cấp độ chính xác của mô hình là một nghệ thuật. Để đạt được chuyên môn này, đòi hỏi bọn họ phải va đụng nhiều các bài toán thực tế, đồng thời giao lưu và học hỏi từ xã hội để nâng cấp kiến thức tương tự như kinh nghiệm cho bạn dạng thân.

Tầm quan trọng của Feature Engineering

Các nằm trong tính trong tập dữ liệu ảnh hưởng trực tiếp nối mô hình dự đoán, do đó ta cần khẳng định tốt cấu trúc của những thuộc tính sao cho diễn tả hiệu quả nhất thực chất của tập dữ liệu.

Mặc dù bạn không lựa chọn được quy mô dự đoán tốt nhất có thể nhưng ta vẫn hoàn toàn có thể đạt được kết quả dự đoán cao. Phần đông các thuật toán sẽ tự điều chỉnh những thông số phù hợp theo kết cấu các trực thuộc tính hiện tại tại. Mặc dù nhiên, việc đạt được tập thuộc tính tinh gọn gàng sẽ góp phần làm đơn giản hoá độ phức tạp giám sát của quy mô nhờ vậy mà giám sát và đo lường được nhanh hơn và tiện lợi để diễn giải cho người dùng. Ví dụ, lúc sử dụng quy mô cây quyết định, trường hợp ta sử dụng rất nhiều thuộc tính vào quá trình dự đoán, tuy vậy cho công dụng rất tốt tuy nhiên, người dùng sẽ rất cực nhọc quan giáp và diễn giải hiệu quả dự đoán.

Trong quá trình tối ưu hoá tham số, tuy nhiên không đạt được phương châm này tuy vậy với tập ở trong tính được thiết kế theo phong cách tốt, ta vẫn rất có thể đạt được kết quả dự đoán cao. Ta không nhất thiết phải cực lực tìm kiếm mô hình nào cân xứng nhất cũng như bộ trọng số được tối ưu nhất. Chỉ cách tập ở trong tính được thiết kế với tốt, ta đã biểu đạt được tập dữ liệu hiện có tương tự như tiếp cận với câu hỏi thực tế dễ ợt và rõ ràng hơn siêu nhiều.

Các câu hỏi con trong kinh nghiệm feature engineering

Cần xác định đâu là features, đâu là attributes

" data-image-caption="Canny Edge Detector

" data-medium-file="https://ongxuanhong.files.wordpress.com/2015/10/canny-edge-detector.jpg?w=300" data-large-file="https://ongxuanhong.files.wordpress.com/2015/10/canny-edge-detector.jpg?w=800" class="size-full wp-image-3782" src="https://ongxuanhong.files.wordpress.com/2015/10/canny-edge-detector.jpg?w=1100" alt="Canny Edge Detector" srcset="https://ongxuanhong.files.wordpress.com/2015/10/canny-edge-detector.jpg 800w, https://ongxuanhong.files.wordpress.com/2015/10/canny-edge-detector.jpg?w=150 150w, https://ongxuanhong.files.wordpress.com/2015/10/canny-edge-detector.jpg?w=300 300w, https://ongxuanhong.files.wordpress.com/2015/10/canny-edge-detector.jpg?w=768 768w" sizes="(max-width: 800px) 100vw, 800px" />Canny Edge Detector

Đối với dữ liệu dạng bảng tính, thuật ngữ observations (các chủng loại quan sát) tuyệt instance (các chủng loại thể hiện) là các dòng tài liệu trong bảng tính. Mỗi dòng dữ liệu nào gồm có nhiều variables (biến) tốt attributes (thuộc tính) là các cột của bảng tính.

Feature không giống với attribute mặc dù cũng mang nghĩa thuộc tính cơ mà feature mang các ngữ nghĩa hơn. Lấy ví dụ như trong thị giác laptop (computer vision), một bức hình ảnh là một observation với nhiều attributes là các điểm pixel. Mặc dù nhiên, feature sinh sống đây có thể là những đường biên cạnh hay dáng dấp hình học tập trong bức ảnh. Trong giải pháp xử lý ngôn ngữ thoải mái và tự nhiên (natural language processing), một văn phiên bản hay một tweet sẽ là một trong những observation với nhiều attributes là các từ vào đó. Cầm nhưng, feature nghỉ ngơi đây rất có thể là một ngữ (phrase) hay con số từ phân bố trong đó. Trong thừa nhận dạng tiếng nói của một dân tộc (speech recognition), một bạn phát ra âm thành là observation, attributes đã là những sóng âm dưới dạng tần số, còn feature đang là những nhóm âm thành được gom lại để phân tích.

Bài toán reviews độ có ích của những feature

Ta hoàn toàn có thể thực hiện việc reviews độ có ích của những feature nhằm tiền cách xử trí dữ liệu trước lúc đưa vào xây dựng mô hình dự đoán. Những feature này sau khi được ước lượng và review sẽ có một điểm số nhằm xếp hạng. Hồ hết feature gồm điểm xếp hạng cao sẽ tiến hành chọn ra để lấy vào training, còn sót lại những feature tất cả điểm xếp hạng thấp sẽ ảnh hưởng lược bỏ.

Điểm xếp hạng của những feature còn được dùng làm rút trích hay tạo ra những feature mới. Những mô hình khi được training gồm đưa ra được chỉ số xếp hạng cho các feature như MARS, Random Forest và Gradient Boosted Machines.

Bài toán rút trích đặc trưng (feature extraction)

" data-image-caption="PCA reduce 3 chiều to 2d space

" data-medium-file="https://ongxuanhong.files.wordpress.com/2015/10/pca-reduce-3d-to-2d-space.png?w=300" data-large-file="https://ongxuanhong.files.wordpress.com/2015/10/pca-reduce-3d-to-2d-space.png?w=800" class="size-full wp-image-3784" src="https://ongxuanhong.files.wordpress.com/2015/10/pca-reduce-3d-to-2d-space.png?w=1100" alt="PCA reduce 3 chiều to 2d space" srcset="https://ongxuanhong.files.wordpress.com/2015/10/pca-reduce-3d-to-2d-space.png 800w, https://ongxuanhong.files.wordpress.com/2015/10/pca-reduce-3d-to-2d-space.png?w=150 150w, https://ongxuanhong.files.wordpress.com/2015/10/pca-reduce-3d-to-2d-space.png?w=300 300w, https://ongxuanhong.files.wordpress.com/2015/10/pca-reduce-3d-to-2d-space.png?w=768 768w" sizes="(max-width: 800px) 100vw, 800px" />PCA reduce 3 chiều to 2d space

Trên thực tế, các mẫu tài liệu như hình ảnh, audio, xuất xắc văn bạn dạng mang trong mình không ít thuộc tính. Mà các thuộc tính này khi đưa trực tiếp vào các quy mô dự đoán sẽ làm cho vận tốc training của các quy mô bị giảm đi rõ rệt.

Feature extraction là tiến trình tự động hóa hoá được dùng để làm giảm số chiều dữ liệu thế nào cho dữ liệu thuở đầu được biến đổi sang dạng đơn giản và dễ dàng và nhỏ hơn, trước khi đưa vào mô hình dự đoán.

Đối với tài liệu dạng bảng tính, ta có thể sử dụng các phương pháp như đối chiếu thành phần chính (Principal Component Analysis) hay phương thức gom đội (unsupervised clustering). Đối với dữ liệu hình ảnh, ta có thể sử dụng phương thức rút trích biên cạnh. Tuỳ ở trong vào từng lĩnh vực, hình ảnh, video, tuyệt audio mà lại ta có các phương thức rút trích đặc thù khác nhau.

Bài toán lựa chọn đặc trưng (feature selection)

Các feature gồm tầm quan trọng khác nhau, tùy theo từng vấn đề mà tất cả thuộc tính này bổ ích hơn các thuộc tính kia với cần vứt bỏ bớt những thuộc tính không liên quan đến bài xích toán. Có một trong những feature cần thiết để đóng góp phần vào cải thiện độ đúng mực của thuật toán cũng có thể có các feature dư thừ không phù hợp với bài toán hiện tại.

Feature selection giải quyết các vấn đề trên bởi các auto hoá chọn lọc tập con trong những các feature ban đầu sao cho những feature được sàng lọc này cân xứng với việc hiện tại.

Các thuật toán feature selection có thể sử dụng phương thức ranking để gạn lọc feature bằng cách dựa vào mối đối sánh giữa những thuộc tính nhằm lọc ra được những thuộc tính hòa bình với nhau. Một số cách thức nâng cao khác đang tìm tập bé feature bằng cách thử với sai, xây đắp và cầu lượng mô hình một cách tự động thông qua từng tập bé feature tìm được.

Bài toán xây dựng đặc trưng mới (feature construction)

Đây là các bước đòi hỏi các sự sáng sủa tạo, và thời gian trong phòng khoa học tập dữ liệu. Để xây dựng các đặc trưng mới, ta cần thao tác làm việc bằng sức tín đồ thay vì tự động hoá bằng các giải thuật như feature selection. Bởi đó, ta mới gọi feature engineering là một nghệ thuật.

Feature engineering sẽ chỉ chiếm nhiều thời gian xây dựng cùng thực nghiệm. Ta bắt buộc đào sâu xem xét về bài xích toán lúc này để rất có thể đưa ra cấu trúc đặc trưng tương xứng nhất. Nhờ vậy nhưng các quy mô dự đoán tất cả thể nâng cấp được độ chính xác của mình.

Đối với dữ liệu dạng bảng tính, ta hay gom đội hay phối hợp các feature hiện tại để tạo nên các feature mới, xuất xắc phân rã, bóc thành những feature hiếm hoi để tạo thành thành các feature mới. Đối với tài liệu dạng văn bản, ta cần phụ thuộc vào bối cảnh để đưa ra những chỉ số rõ ràng cho vấn đề của mình. Còn với tài liệu hình ảnh, ta thường dành nhiều thời gian thực nghiệm các filter để lựa chọn ra được một bộ lọc cực tốt cho mô hình của mình.

Bài toán xác minh feature trải qua training dữ liệu.

Làm ráng nào ta có thể tránh được việc xây dựng cùng rút trích đặc trưng một cách thủ công? Representation learning hay có cách gọi khác là feature learning là phía tiếp cận để tự động hóa qúa trình này.

Các phương thức deep learning tiến bộ đã có khá nhiều thành công trong lĩnh vực này ví dụ như như cách thức autoencoders cùng restricted Boltzmann machines. Các phương thức này hoàn toàn auto hóa qúa trình feature engineering bằng phương pháp unsupervised hay semi-supervised, nhờ vậy nhưng ta rất có thể biểu diễn những feature một cách trừu tượng độc nhất (dạng thu gọn). Đây là hướng tiếp cận tiên tiến và phát triển nhất và đã có không ít kết qủa đáng chú ý trong speech recognition, image classification, object recognition cùng các nghành khác.

Tuy nhiên, điểm giảm bớt của phía tiếp cận này sẽ là ta không hiểu được vì sao các feature này được trích chọn. Vì chưng nó là black-box bắt buộc ta ko thể biết được chuyện gì đã xảy ra phía bên trong để có thể hiểu được.

2. Quy mô chung cho các bài toán Machine Learning TRAINING PHASE 3. Một vài ví dụ về Feature Engineering Feature Scaling & Normalization

1. Giới thiệu

Cho tới thời điểm này, tôi đã trình diễn 5 thuật toán Machine Learning cơ bản: Linear Regression, K-means Clusterning, K-nearest neighbors, Perceptron Learning Algorithm cùng Logistic Regression. Trong tất cả các thuật toán này, tôi số đông giả sử các điểm dữ liệu được biểu diễn bằng những vector, được hotline là feature vector xuất xắc vector đặc trưng, bao gồm độ dài bởi nhau, và thuộc là vector cột hoặc vector hàng. Tuy nhiên, trong những bài toán thực tế, hầu như chuyện ko được xuất sắc đẹp như vậy!

Với các bài toán về Computer Vision, các bức ảnh là những ma trận có size khác nhau. Thậm chí để dìm dạng vật thể trong ảnh, ta đề xuất thêm một bước nữa là object detection, có nghĩa là tìm cái khung cất vật thể chúng ta cần dự đoán. Ví dụ, trong bài toán nhận dạng khuôn mặt, bọn họ cần kiếm được vị trí các khuôn khía cạnh trong hình ảnh và crop các khuôn phương diện đó trước lúc làm công việc tiếp theo. Trong cả khi đã xác minh được các khung chứa các khuôn mặt (và có thể resize các khung kia về và một kích thước), ta vẫn cần làm rất nhiều việc nữa vị hình hình ảnh của khuôn phương diện còn phụ thưộc vào góc chụp, ánh sáng, … và không ít yếu tố khác nữa.

Các việc NLP (Natural Language Processing - Xử lý ngôn từ tự nhiên) cũng có thể có khó khăn giống như khi độ dài của những văn bạn dạng là không giống nhau, thậm chí có phần nhiều từ cực kỳ hiếm gặp mặt hoặc không tồn tại trong trường đoản cú điển. Cũng có thể có khi thêm 1 vài tự vào văn phiên bản mà câu chữ của văn phiên bản không đổi hoặc hoàn toàn mang nghĩa ngược lại. Hoặc cùng là 1 câu nói tuy nhiên tốc độ, âm giọng của mọi người là không giống nhau, thậm chí là của thuộc một người nhưng lúc nhỏ lúc khỏe mạnh cũng không giống nhau.

Khi thao tác làm việc với các bài toán Machine Learning thực tế, nhìn chung bọn họ chỉ đã có được dữ liệu thô (raw) không qua chỉnh sửa, lựa chọn lọc. Họ cần đề nghị tìm một phép thay đổi để nhiều loại ra những dữ liệu nhiễu (noise), và để mang dữ liệu thô với số chiều không giống nhau về thuộc một chuẩn chỉnh (cùng là những vector hoặc ma trận). Dữ liệu chuẩn mới này phải đảm bảo an toàn giữ được rất nhiều thông tin đặc thù (features) cho tài liệu thô ban đầu. Không hầu như thế, tùy thuộc theo từng bài bác toán, ta phải thiết kế các phép biến hóa để gồm có features phù hợp. Thừa trình quan trọng đặc biệt này được hotline là Feature Extraction, hoặc Feature Engineering, một trong những tài liệu giờ đồng hồ Việt điện thoại tư vấn nó là trích lựa chọn đặc trưng.

Tôi xin trích một câu nói của thầy Andrew Ng cùng xin phép thêm ko dịch ra tiếng Việt (Nguồn Feature Engineering - wiki):

Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering.

Để giúp chúng ta có tầm nhìn tổng quan hơn, vào phần tiếp theo sau tôi xin đặt cách Feature Engineering này trong một bức tranh lớn hơn.

2. Quy mô chung cho những bài toán Machine Learning

Phần lớn các bài toán Machine Learning có thể được trình bày trong hình vẽ bên dưới đây:


*

Có nhị phases phệ là Training phase cùng Testing phase. Xin nói lại là với các bài toán Supervised learning, ta có các cặp dữ liệu (input, output), với các bài toán Unsupervised learing, ta chỉ gồm input cơ mà thôi.

TRAINING PHASE

Có nhì khối tất cả nền màu xanh lục chúng ta cần cần thiết kế:

Feature Extractor

ĐẦU RA

Tôi xin đề cập áp ra output của khối này trước vì mục tiêu của Feature Engineering là tạo thành một Feature Extractor biến dữ liệu thô ban sơ thành dữ liệu cân xứng với từng mục đích khác nhau.

ĐẦU VÀO

(optional) output của training set. Trong số bài toán Unsupervisedlearning, ta băn khoăn output nên hiển nhiên sẽ không có đầu vào này. Trongcác việc Supervised learning, gồm khi dữ liệu này cũng không được sử dụng.Ví dụ: trường hợp raw input đã có cùng số chiều rồi mà lại số chiều quá lớn, tamuốn sút số chiều của nó thì cách đơn giản nhất là chiếu vector kia xuốngmột không khí có số chiều nhỏ dại hơn bằng phương pháp lấy một ma trận ngẫu nhiên nhânvới nó. Ma trận này thường là ma trận béo (số hàng thấp hơn số cột, tiếng Anh - fat matrices) để đảm bảo an toàn số chiều thu được nhỏ dại hơn số chiều ban đầu. Việclàm này mặc dù làm thiếu tính thông tin, trong tương đối nhiều trường hợp vẫn đem đến hiệuquả bởi đã giảm được lượng giám sát ở phần sau. Đôi khi ma trận chiếu khôngphải là thốt nhiên mà rất có thể được học dựa trên cục bộ raw input, ta vẫn cóbài toán search ma trận chiếu nhằm lượng tin tức mất đi là không nhiều nhất. Vào nhiềutrường hợp, dữ liệu output của training set cũng được sử dụng để chế tạo ra
Feature Extractor. Ví dụ: trong vấn đề classification, ta ko quan tâmnhiều tới việc mất tin tức hay không, ta chỉ xem xét việc số đông thôngtin sót lại có đặc thù cho từng class tuyệt không. Ví dụ, dữ liệu thô là cáchình vuông và hình tam giác có màu đỏ và xanh. Trong câu hỏi phân loại đagiác, những output là tam giácvuông, thì ta không đon đả tới màu sắc sắcmà chỉ thân yêu tới số cạnh của đa giác. Ngược lại, trong bài toán phân loạimàu, những class là xanhđỏ, ta không thân mật tới số cạnh nhưng mà chỉ quantâm đến color thôi.

Sau khi học được feature extractor thì ta cũng biến thành thu được extracted features đến raw input đầu vào data. Mọi extracted features này được dùng để huấn luyện những thuật toán Classification, Clustering, Regression,… nghỉ ngơi phía sau.

Main Algorithms

Khi đã có được extracted features rồi, chúng ta sử dụng những thông tin này cùngvới (optional) training output với (optional) prior knowledge để tạo ra cácmô hình phù hợp, điều mà họ đã làm ở những bài bác trước.

Chú ý: Trong một số thuật toán thời thượng hơn, vấn đề huấn luyện feature extractor với main algorithm được triển khai cùng dịp với nhau chứ chưa hẳn từng bước như trên.

Một điểm khôn xiết quan trọng: lúc xây dựng bộ feature extractormainalgorithms, họ không được sử dụng bất kỳ thông tin làm sao trong tập testdata. Ta nên giả sử rằng những tin tức trong test data không được nhìn thấybao giờ. Nếu sử dụng thêm tin tức về test data thì ví dụ ta sẽ ăn gian!Tôi từng reviews các bài bác báo khoa học quốc tế, không hề ít tác giả kiến tạo môhình cần sử dụng cả dữ liệu test data, tiếp đến lại dùng chính quy mô đó để kiểm tratrên test data đó. Bài toán ăn gian này là lỗi rất nặng và hiển nhiên hầu hết bàibáo kia bị từ chối (reject).

TESTING PHASE

Bước này dễ dàng và đơn giản hơn nhiều. Với raw input mới, ta áp dụng feature extractorđã tạo được ở trên (tất nhiên ko được thực hiện output của nó do output làcái ta vẫn đi tìm) để tạo thành feature vector tương ứng. Feature vector được đưavào main algorithm đã có được học ở training phase để tham dự đoán output.

3. Một số ví dụ về Feature Engineering

Trực tiếp lấy raw data

Với câu hỏi phân một số loại chữ số viết tay trong bộ cơ sở dữ liệu
MNIST, từng bức hình ảnh có số chiều là28 pixel x 28 px (tất nhiên việc crop và chỉnh sửa mỗi bức ảnh đã được thựchiện tự trước rồi, này đã là một phần của feature engineering rồi). Một bí quyết đơngiản thường được sử dụng là kéo dài ma trận 28x28 này để được 1 vector gồm sốchiều 784. Trong cách này, những cột (hoặc hàng) của ma trận ảnh được đặt chồnglên (hoặc cạnh nhau) để được một vector dài. Vector lâu năm này được thẳng sử dụnglàm feature gửi vào các bộ classifier/clustering/regression/… dịp này, giá bán trịcủa mỗi pixel ảnh được coi là một feature.

Rõ ràng việc làm đơn giản và dễ dàng này đã làm mất tin tức về không gian (spatial information) giữa những điểm ảnh, tuy nhiên, trong nhiều trường hợp, nó vẫn có lại kết quả khả quan.

Feature selection

Giả sử rằng các điểm dữ liệu có số features khác nhau (do form size dữ liệukhác nhau hay do một vài feature mà điểm dữ liệu này còn có nhưng điểm tài liệu kialại không thu thập được), và con số features là cực lớn. Chúng ta cần chọnra một vài lượng nhỏ hơn các feature cân xứng với bài bác toán. Chọn cố nào cùng thếnào là phù hợp lại là 1 trong bài toán khác, tôi sẽ không bàn thêm nghỉ ngơi đây.

Dimensionality reduction

Một phương thức nữa tôi sẽ đề cập sẽ là làm giảm số chiều của tài liệu để sút bộnhớ và cân nặng tính toán. Việc giảm số chiều này có thể được triển khai bằngnhiều cách, trong số ấy random projection là cách dễ dàng và đơn giản nhất. Tức lựa chọn 1 matrận chiếu (projection matrix) bất chợt (ma trận béo) rồi nhân nó với từngđiểm dữ liệu (giả sử tài liệu ở dạng vector cột) nhằm được những vector tất cả số chiềuthấp hơn. Ví dụ, vector lúc đầu có số chiều là 784, chọn ma trận chiếu tất cả kíchthước (100x784), khi ấy nếu nhân ma trận chéo cánh này với vector ban đầu, ta sẽ đượcmột vector mới có số chiều là 100, nhỏ dại hơn số chiều ban đầu rất nhiều. Dịp này,có thể ta không mang tên gọi cho từng feature nữa vì các feature làm việc vector ban đầuđã được trộn lẫn với nhau theo một tỉ lệ thành phần nào kia rồi giữ vào vector bắt đầu này. Mỗithành phần của vector mới này được coi là một feature (không tên).

Việc chọn 1 ma trận chiếu ngẫu nhiên đôi khi mang lại công dụng tệ không mongmuốn vì thông tin bị thiếu tính quá nhiều. Một phương thức được thực hiện nhiều nhằm hạnchế lượng thông tin mất đi mang tên là Principle Component
Analysis đã đượctôi trình bày sau đây khoảng 1-2 tháng.

Chú ý: Feature learning không tốt nhất thiết bắt buộc làm sút số chiều dữ liệu, đôikhi feature vector còn tồn tại số chiều to hơn raw data. Random projection cũng cóthể làm cho được việc này ví như ma trận chiếu là một ma trận cao (số cột thấp hơn sốhàng).

Bag-of-words

Hẳn rất đa số chúng ta đã tự để câu hỏi: với cùng một văn phiên bản thì feature vector đang códạng như thế nào? làm sao đưa các từ, những câu, đoạn văn ngơi nghỉ dạng text vào cácvăn bạn dạng về một vector nhưng mỗi phần tử là một số?

Có một cách thức rất phổ biến giúp bạn trả lời những thắc mắc này. Cách thức đó có tên là Bag of Words (Bo
W)
(Túi đựng Từ).

Vẫn theo thói quen, tôi ban đầu bằng một ví dụ. Mang sử chúng ta có việc phân loại tin rác. Ta thấy rằng trường hợp một tin bao gồm chứa các từ khuyến mại, bớt giá, trúng thưởng, miễn phí, xoàn tặng, tri ân, … thì nhiều tài năng đó là 1 trong những tin nhắn rác. Vậy phương pháp đơn giản độc nhất là đếm xem trong tin đó gồm bao nhiêu từ thuộc vào những từ trên, nếu nhiều hơn thế nữa 1 ngưỡng nào đó thì ta quyết định đó là tin rác. (Tất nhiên bài toán thực tế phức hợp hơn đôi lúc các từ hoàn toàn có thể được viết bên dưới dạng không dấu, hoặc bị cố tình viết sai bao gồm tả, hoặc dùng ngữ điệu teen). Với các loại văn phiên bản khác nhau thì lượng từ liên quan tới từng chủ đề cũng khác nhau. Từ bỏ đó hoàn toàn có thể dựa vào con số các từ trong từng loại để triển khai các vector đặc trưng cho từng văn bản.

Xem thêm: Giáo án chủ đề động vật " - hoạt động góc: chủ đề thế giới động vật

Tôi xin mang ví dụ ví dụ hơn về cách tạo thành vector sệt trưng cho từng văn phiên bản dựa trên Bo
W với xin được đem tiếng Anh có tác dụng ví dụ (nguồn Bag of Words wiki. Tiếng Việt nặng nề hơn vị một từ gồm thể có khá nhiều âm tiết, giờ Anh thì thường xuyên cứ chạm mặt dấu biện pháp là xong một từ).