The recent emergence of cloud computing is making the vision of utility computing realizable, i.e., computing resources and services from a cloud can be delivered, utilized, and paid for in the same fashion as utilities like water or electricity. This, however, creates new resource provisioning problems. Because of the pay-as-you-go model, resource provisioning should be performed carefully. Resource provisioning can be particularly challenging for adaptive applications, where there can be a tradeoff between the application Quality of Service (QoS), or accuracy, and the resource costs incurred. In this paper, we consider adaptive streaming applications where a user wants to achieve the minimum resource costs while maintaining a specified accuracy goal. We present a dynamic and automated framework which can adapt the adaptive parameters to meet the specific accuracy goal, and then dynamically converge to near-optimal resource allocation. Our solution can handle unexpected changes in the data distribution characteristics and/or rates. We evaluate our approach using two streaming applications and demonstrate the effectiveness of our framework.