Bạn không biết hoc php o dau .Vậy hãy sôi động chào hè 2016 cùng VnSkills Academy nào. Hè này các bạn đã có kế hoạch gì chưa? Hãy tới VnSkills cùng nhau học tập và du lịch thả ga ngay nhé. Cơ hội được học tập trong môi trường chuyên nghiệp, cơ hội giao lưu học hỏi, cơ hội du lịch miễn phí đang chờ các bạn.

Nếu bạn đang mang ý định trở thành nhà khoa học dữ liệu thì bây giờ đang là 1 thời khắc không phải tồi chút nào. các con người nói cả khó tính nhất cũng sẽ đổ dồn sự chú ý khi bạn nhắc đến Big Data trong cuộc hội thoại, đám đông sẽ cảm thấy phấn khởi khi được nghe bạn chém gió về trí não nhân tạo cũng như Học máy.còn cho thấy: phần lớn vẫn chưa với dấu hiệu ngừng lại, chúng vẫn tiếp tục vững mạnh với tốc độ rất nhanh.
ngày một với toàn bộ các giải thuật 'thông minh' đã được phát minh ra để trợ giúp các nhà công nghệ dữ liệu. tất cả chúng nhìn chung đều sở hữu vẻ rất phức tạp, nhưng nếu chúng ta hiểu được và biết bí quyết phối hợp 1 cách nhuần nhuyễn thì mọi việc sẽ phát triển thành thuận lợi hơn đa số.
Các khóa học về khai phá dữ liệu (Data Mining) hoặc học máy (Machine Learning) vẫn thường mở đầu bằng những ví dụ về phân cụm, lí do thuần tuý bởi vì chúng rất thực tại và ko quá khó hiểu. Bài toán phân cụm là một nhánh ứng dụng chính của lĩnh vực Unsupervised Learning (Học ko giám sát), trong ngừng thi công .Đây dữ liệu được biểu đạt trong bài toán không được dán nhãn (tức là không mang đầu ra). Trong trường hợp này, thuật toán sẽ tìm bí quyết phân cụm - chia dữ liệu thành từng nhóm với đặc điểm tương tự nhau, nhưng song song đặc tính giữa những hàng ngũ chậm tiến độ lại phải càng khác biệt càng thấp.
Dữ liệu của chúng ta có thể là bất cứ thứ gì, chả hạn như dữ liệu về khách hàng: Thuật toán phân cụm sẽ rất bổ ích trong việc đánh giá và chia thành các đội ngũ người mua khác nhau, rồi từ chậm tiến độ ta có thể đưa ra các chiến lược marketing thích hợp trên từng nhóm quý khách Đó.

K-Means Clustering

Sau khi dạo qua các màn giới thiệu chung, đông đảo các khóa học Data Mining sẽ bắt đầu luôn có K-Means: 1 thuật toán tuy đơn thuần nhưng lại hơi hiệu quả và được sử dụng rộng khắp. Trước lúc bắt tay vào khiến cho, chúng ta cần phải xác định sẵn hai thứ: ngừng thi công Đây là hàm khoảng bí quyết được sử dụng (ví dụ như khoảng bí quyết Euclid) và số lượng đội ngũ mong muốn (ta sẽ kí hiệu trong bài viết này là k)

mô hình thời kỳ phân cụm K-Means
Thuật toán khởi đầu mang việc chọn ra tâm của từng cụm. Chúng ta mang thể thuần tuý chọn k điểm khi không trong bộ, hoặc sử dụng một số hướng tiếp cận nào khác, nhưng nhìn chung đột nhiên vẫn là phương pháp phải chăng nhất. Rồi kế tiếp, luân phiên lặp lại hai quá trình sau:
  1. thời kỳ gán: gán từng phần tử trong bộ dữ liệu của chúng ta vào những cụm. phương pháp tiến hành chậm triển khai là: sở hữu mỗi điểm, hãy tính khoảng bí quyết từ điểm ngừng thi côngĐây tới vị trí những tâm, sau cùng: tâm nào gần nhất thì gán vào cụm ứng với cái tâm chậm triển khai
  2. công đoạn cập nhật: phê chuẩn từng cụm, cập nhật lại tọa độ của tâm: Như đã biết, sau công đoạn một, chúng ta đã thu được k cụm ứng sở hữu dãy những điểm được gán cho từng cụm. Tọa độ tâm mới của cụm sẽ bằng nhàng nhàng cùng tọa độ các điểm trong cụm
Sau càng đa dạng vòng lặp, những tâm càng chuyển động chậm dần, và tổng khoảng phương pháp từ mỗi điểm trong cụm đến tâm cụm lại càng nhỏ đi. giai đoạn sẽ kết thúc cho đến khi hàm tổng khoảng bí quyết hội tụ (tức là không với sự thay đổi nào xảy ra ở thời kỳ gán nữa). lúc này tọa độ tâm vẫn sẽ bằng trung bình cộng những điểm hiện tại trong cụm, hay nói cách khác tâm sẽ ko còn chuyển động tiếp nữa. Chú ý thuật toán K-Means chỉ đảm bảo được quá trình này sẽ đưa hàm tổng khoảng cách thức tụ hội đến điểm cực tiểu địa phương, chứ ko cứng cáp chậm tiến độ là trị giá nhỏ nhất của phần lớn hàm số. tuy nhiên, điều này là với thể bằng lòng được vì không phải mô phỏng nào càng sát mang bộ dữ liệu huấn luyện thì cũng sẽ càng phải chăng.
Ta có thể nhận thấy rằng việc tuyển lựa tâm khi khởi điểm cũng sở hữu ảnh hưởng tới kết quả rút cuộc thu được, bởi vậy đã nảy sinh toàn bộ quan điểm trái chiều về vấn đề này. 1 ý tưởng thuần tuý là cho chạy K-Means nhiều lần có mỗi bộ tâm ngẫu nhiên khác nhau, rồi sau ngừng thi công .Đây chọn ra mô hình tốt nhất phê duyệt việc xét trị giá nhỏ nhất của các hàm tổng khoảng bí quyết ứng có chúng.
một hướng tiếp cận khác trong việc chọn tâm ban đầu chậm triển khai là chọn những điểm "xa nhất". Việc này sở hữu thể cho kết quả thấp hơn, tuy nhiên ta sẽ mắc phải vấn đề sở hữu các phần tử "nhiễu", ngừng thi côngĐây là các phần tử nằm riêng lẻ một mình tách biệt sở hữu phần còn lại trong bộ dữ liệu. bởi vậy chúng sẽ tự lập ra một cụm riêng của chính mình.
có 1 phương pháp khắc phục đã được phát minh để thăng bằng song song được cả hai điều trên, nó với tên gọi là K-Means++: trong chậm tiến độ, tâm khởi đầu vẫn được chọn khi không, nhưng là chọn lần lượt (thay vì đồng loạt) và kèm theo xác suất tình cờ tỉ lệ thuận sở hữu khoảng phương pháp tới lót dạ vừa chọn trước chậm tiến độ. tức thị, những điểm càng nằm phía xa sẽ có khả năng được chọn làm cho tâm kế tiếp càng to. vì thế, nếu sở hữu một lực lượng những điểm, khả năng chỉ một điểm trong khoảng hàng ngũ Đó được chọn khiến tâm cũng sẽ cao hơn.
K-Means++ cũng đang được chọn dùng cho bước khởi tạo của thuật toán K-Mean trong thư viện Scikit-learn của Python. nếu bạn đang lập trình Python, bạn với thể dùng ngay thư viện này. Đối với Java, thư viện Weka sẽ là 1 sự lựa chọn đáng để cân nhắc.

Ở trong tỉ dụ Python phía trên, ta dùng bộ dữ liệu Iris đựng kích thước đài hoa và cánh hoa cho 3 giống hoa Iris khác nhau, chia những dữ liệu này thành 3 cụm, rồi sau ngừng thi côngĐây so sánh có giá trị thực tại của chúng, để rà soát độ chuẩn xác của thuật toán.
Trong trường hợp này, chúng ta thấy rằng dữ liệu được tách thành 3 cụm (ứng sở hữu 3 giống hoa) khác nhau và K-Means đã trông thấy xác thực những phần tử nào cộng nằm chung một cụm (Chú ý rằng Unsupervised Learning là bài toán không mang nhãn nên chỉ số k bằng (0, một, 2) ở trên chỉ là tự dưng, với tác dụng phân biệt chứ chẳng hề là nhãn đầu ra).
không những thế, khiến cách thức nào mà ta chọn ra được số cụm (k) thích hợp? nghi vấn tương tự tương tự thường rất rộng rãi trong Học máy. nếu chúng ta đề nghị rộng rãi cụm hơn, dữ liệu sẽ được chia nhỏ ra, và trị giá error (tổng khoảng cách) cũng sẽ nhỏ hơn. Vậy, như thế với phải sẽ là rẻ hơn giả dụ ta chọn k to nhất có thể? Chúng ta mang thể chọn k = m (số điểm), như thế mỗi điểm sẽ trở thực bụng của chính nó và mỗi cụm sẽ chỉ mang 1 điểm? Điều Đó ko sai, error sẽ bằng 0, nhưng chúng ta sẽ không thể sắm được miêu tả thuần tuý cho dữ liệu, và mô phỏng thu được cũng chẳng thể phủ được những điểm mới thêm vào. Vấn đề này có tên gọi là overfitting, và đương nhiên chúng ta sẽ không mong gặp phải nó.
một phương pháp để khắc phục vấn đề này là bổ sung thêm hàm phạt (penalty) cho số lượng cụm. từ chậm triển khai, chỉ tiêu của ta khi này ko chỉ còn giảm thiểu error, mà phải cân bằng cả error + penalty. trị giá error sẽ tiến dần tới 0 khi chúng ta tăng số lượng cụm, nhưng đồng thời penalty cũng tăng theo. quá trình tăng số lượng cụm sẽ dừng lại trong khi lượng error giảm đi thấp hơn so mang trị giá penalty, và kết quả thu được là kết quả tối ưu. có một biện pháp tiêu dùng Bayesian Information Criterion (BIC) để tính k có tên gọi là X-Means [Pelleg and Moore, 2000].
1 thứ khác chúng ta cần quan tâm chậm tiến độ là hàm khoảng phương pháp. Hiển nhiên, với những điểm nằm trong không gian, khoảng phương pháp Euclid rõ ràng là hiệu quả nhất, nhưng đôi khi ta cần thêm vài "mánh khóe" cho các loại dữ liệu đặc trưng khác nhau, tỉ dụ như những giá trị rời rạc,... Việc này đề nghị hơi phổ thông kiến thức chuyên ngành liên quan đến dữ liệu chậm tiến độ. Hoặc, chúng ta có thể nhờ đến sự giúp đỡ của Học máy để huấn luyện ra hàm khoảng phương pháp thích hợp nhất. ví như bạn mang 1 tập những dữ liệu đào tạo (đã biết trước chúng được phân cụm thế nào qua nhãn của chúng), kĩ thuật Supervised Learning (học mang giám sát) sở hữu thể được vận dụng để mua ra hàm khoảng cách thích hợp, rồi áp dụng nó vào trong dữ liệu cần phân cụm.
ngoài ra, sở hữu một thuật toán phân cụm khác có tên là Expectation-Maximization (EM) cũng sắp tương tự có hai thời kỳ được tiêu dùng trong K-Means. nói chuẩn xác thì K-Means mang thể coi là một phiên bản đơn thuần hơn của EM. bên cạnh đó, đừng nhầm lẫn chúng với nhau dù rằng sở hữu toàn bộ điểm chung giữa 2 thuật toán này.

EM Clustering

tương tự, có K-Means: mỗi điểm sẽ được gán cho một đội ngũ và mỗi lực lượng được đại diện bởi một tâm. Điều này ko quá phức tạp, vì chúng ta chưa gặp phải vấn đề cụm chồng chéo, hoặc những cụm với hình dạng khác hình tròn. sở hữu EM, ta hiện giờ có thể tiến 1 bước xa hơn nữa và đặc tả mỗi cụm bằng tâm của nó (kì vọng), covariance (hiệp phương sai - qua Đó ta với thể biểu diễn được cụm hình elip) và weight (kích thước của cụm). Xác suất mà một điểm thuộc về một cụm hiện giờ được tính bằng xác suất sản xuất Gauss đa biến.

Chúng ta sẽ khởi đầu EM bằng phương pháp tính, có mỗi điểm, xác suất mà nó thuộc về từng cụm là bao nhiêu (tất nhiên, các cụm ban đầu cũng được khởi tạo ngẫu nhiên). Đây là bước E-step. ví như 1 cụm là "ứng viên" tốt đối mang một điểm, nó sẽ với xác suất gần có một. ngoài ra, mang xảy ra trường hợp 2 hay rộng rãi cụm cùng là ứng cử viên tốt, do đó điểm của chúng ta khi này sẽ với sản xuất xác suất giữa những cụm. thuộc tính này của thuật toán được gọi là "soft clustering".
Bước M-step hiện nay tính toán lại những thông số của mỗi cụm, bằng cách sử dụng kết quả xác suất của các điểm được tính ở bước E-step. Để tính toán tâm mới, covariance mới và weight mới của một cụm, mỗi dữ liệu điểm sẽ được đánh trọng số tỉ lệ thuận có xác suất biến cố "điểm chậm triển khai thuộc cụm" (lấy trong khoảng E-step).
Luân phiên 2 bước này sẽ làm cho nâng cao trị giá log-likelihood của hàm xác suất cho đến lúc trị giá này tập hợp đến cực đại. nhắc thêm, như vậy mang K-Means, thuật toán EM chỉ cho ta trị giá cực đại địa phương, bởi thế ta có thể sẽ cần phải thực hành thuật toán rộng rãi lần để tìm được mô phỏng tốt hơn nữa.
nếu như ta muốn đưa ra quyết định 1 điểm bất kỳ thuộc cụm nào, đơn giản chỉ cần chọn cụm cho ta trị giá xác suất cao nhất ứng có điểm ngừng thi công . Và ta cũng mang thể hoàn toàn tái hiện lại được một loại tương tự như dữ liệu ban đầu trong khoảng mô hình dựa vào dãy các xác suất thu được.

0 nhận xét:

Đăng nhận xét

 
Top