IP Library Granted Patent US 7,743,058
Granted Patent B2
US 7,743,058 · App. 11/621,848 · Granted Jun 22, 2010

Co-clustering objects of heterogeneous types

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,743,058
App. No.
11/621,848
Granted
Jun 22, 2010
Kind
B2
Abstract

A method and system for high-order co-clustering of objects of heterogeneous types is provided. A clustering system co-clusters objects of heterogeneous types based on joint distributions for objects of non-central types and objects of a central type. The clustering system uses an iterative approach to co-clustering the objects of the various types. The clustering system divides the co-clustering into a sub-problem, for each non-central type (e.g., first type and second type), of co-clustering objects of that non-central type and objects of the central type based on the joint distribution for that non-central type. After the co-clustering is completed, the clustering system clusters objects of the central type based on the clusters of the objects of the non-central types identified during co-clustering. The clustering system repeats the iterations until the clusters of objects of the central type converge on a solution.

Claims (33)

1. A computing system for co-clustering of objects of heterogeneous types that include objects of a first type, objects of a second type, and objects of a central type, comprising:

a memory storing computer-executable instructions for

a component that receives a first joint distribution for objects of the first type and objects of the central type and a second joint distribution for objects of the second type and objects of the central type, the first joint distribution indicating a joint probability of objects of the first type and objects of the central type as rows and columns of a first probability matrix, the second joint distribution indicating a joint probability of objects of the second type and objects of the central type as rows and columns of a second probability matrix;

a component that co-clusters objects of the first type and objects of the central type into clusters of objects of the first type and clusters of objects of the central type to minimize a difference between the first joint distribution and a distribution based on the clusters of objects of the first type and clusters of objects of the central type, wherein the difference is based on loss of mutual information between objects of the first type and objects of the central type and mutual information of object clusters of objects of the first type and objects of the central type;

a component that co-clusters objects of the second type and objects of the central type into clusters of objects of the second type and clusters of objects of the central type to minimize a difference between the second joint distribution and a distribution based on the clusters of objects of the second type and clusters of objects of the central type, wherein the difference is based on loss of mutual information between objects of the second type and objects of the central type and mutual information of object clusters of objects of the second type and objects of the central type; and

a component that clusters objects of the central type based on the clusters of the objects of the first type and clusters of the objects of the second type; and

a processor that executes the computer-executable instructions stored in the memory.

2. The computing system of claim 1 wherein each component that co-clusters inputs clusters of objects of the central type, clusters objects of the non-central type based on the clusters of objects of the central type, and clusters objects of the central type based on the clusters of the objects of the non-central type.

3. The computing system of claim 2 wherein the clustering of objects of the non-central type and the clustering of objects of the central type are repeated until a termination condition is satisfied.

4. The computing system of claim 3 wherein the termination condition is a fixed number of repetitions.

5. The computing system of claim 3 wherein the termination condition is the clustering converging on a solution.

6. The computing system of claim 1 wherein the co-clustering and clustering are repeated until a termination condition is satisfied.

7. The computing system of claim 6 wherein the termination condition is the clustering of the central objects converging on a solution.

8. The computing system of claim 1

wherein the component that clusters objects of the central type generates clusters based on minimizing a difference between the first joint distribution and a joint distribution based on the clustering and a difference between the second joint distribution and a joint distribution based on the clustering; and

wherein the co-clustering and clustering are repeated until a termination condition relating to the clustering of objects of the central type is satisfied.

9. The computing system of claim 1 wherein the components that co-cluster operate in parallel.

10. A method performed by a computing system for co-clustering of objects of heterogeneous types that include objects of a first type, objects of a second type, and objects of a central type, the method comprising:

receiving a first joint distribution for objects of the first type and objects of the central type and a second joint distribution for objects of the second type and objects of the central type, the first joint distribution indicating a joint probability of objects of the first type and objects of the central type as rows and columns of a first probability matrix, the second joint distribution indicating a joint probability of objects of the second type and objects of the central type as rows and columns of a second probability matrix;

co-clustering by the computing system objects of the first type and objects of the central type into clusters of objects of the first type and clusters of objects of the central type to minimize a difference between the first joint distribution and a distribution based on the clusters of objects of the first type and clusters of objects of the central type, wherein the difference is based on loss of mutual information between objects of the first type and objects of the central type and mutual information of object clusters of objects of the first type and objects of the central type;

co-clustering by the computing system objects of the second type and objects of the central type into clusters of objects of the second type and clusters of objects of the central type to minimize a difference between the second joint distribution and a distribution based on the clusters of objects of the second type and clusters of objects of the central type, wherein the difference is based on loss of mutual information between objects of the second type and objects of the central type and mutual information of object clusters of objects of the second type and objects of the central type; and

clustering by the computing system objects of the central type based on the clusters of the objects of the first type and clusters of the objects of the second type.

11. The method of claim 10 wherein the co-clustering inputs clusters of objects of the central type, clusters objects of the non-central type based on the clusters of objects of the central type, and clusters objects of the central type based on the clusters of the objects of the non-central type.

12. The method of claim 11 wherein the clustering of objects of the non-central type and the clustering of objects of the central type are repeated until a termination condition is satisfied.

13. The method of claim 12 wherein the termination condition is a fixed number of repetitions.

14. The method of claim 12 wherein the termination condition is the clustering converging on a solution.

15. A computer-readable medium storing computer-executable instructions for controlling a computing system to co-cluster objects of heterogeneous types that include objects of a first type, objects of a second type, and objects of a central type, by a method comprising:

receiving a first joint distribution for objects of the first type and objects of the central type and a second joint distribution for objects of the second type and objects of the central type, the first joint distribution indicating a joint probability of objects of the first type and objects of the central type as rows and columns of a first probability matrix, the second joint distribution indicating a joint probability of objects of the second type and objects of the central type as rows and columns of a second probability matrix;

co-clustering by the computing system objects of the first type and objects of the central type into clusters of objects of the first type and clusters of objects of the central type to minimize a difference between the first joint distribution and a distribution based on the clusters of objects of the first type and clusters of objects of the central type, wherein the difference is based on loss of mutual information between objects of the first type and objects of the central type and mutual information of object clusters of objects of the first type and objects of the central type;

co-clustering by the computing system objects of the second type and objects of the central type into clusters of objects of the second type and clusters of objects of the central type to minimize a difference between the second joint distribution and a distribution based on the clusters of objects of the second type and clusters of objects of the central type, wherein the difference is based on loss of mutual information between objects of the second type and objects of the central type and mutual information of object clusters of objects of the second type and objects of the central type; and

clustering by the computing system objects of the central type based on the clusters of the objects of the first type and clusters of the objects of the second type.

16. The computer-readable medium of claim 15 wherein the co-clustering inputs clusters of objects of the central type, clusters objects of the non-central type based on the clusters of objects of the central type, and clusters objects of the central type based on the clusters of the objects of the non-central type.

17. The computer-readable medium of claim 15 wherein the co-clusterings operate in parallel.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2007
From: LIU, TIE-YAN; GAO, BIN; MA, WEI-YING
To: MICROSOFT CORPORATION
Reel/Frame 019192/0555 →