Joint service involving several clouds is an emerging form of cloud computing. In hybrid clouds, the schedulers within 1 cloud must not only self-adapt to the job arrival processes and the workload but also mutually adapt to the scheduling polices of other schedulers. However, as a combinatorial optimization problem, scheduling is challenged by the adaptation to those dynamics and uncertain behaviors of the peers. This article studies the collaboration among benevolent clouds that are cooperative in nature and willing to accept jobs from other clouds. We take advantage of machine learning and propose a distributed scheduling mechanism to learn the knowledge of job model, resource performance, and others' policies. Without explicit modeling and prediction, machine learning guides scheduling decisions based on experiences. To examine the performance of our approach, we conducted simulation using the SP2 job workload log of the San Diego Supercomputer Center under a test bed based on agent-based systems-SWARM. The results validate that our approach has much shorter mean response time than 5 typical dynamic scheduling algorithms-opportunistic load balancing, minimum execution time, minimum completion time, switching algorithm, and k-percent best. A better collaboration in hybrid cloud is achieved by full adaptation.