In IaaS (Infrastructure as a Service) cloud environment, users are provisioned with virtual machines (VMs). However, the initialization and resource allocation of virtual machines are not instantaneous and usually minutes of time are needed. Therefore, to realize efficient resource provision, it is necessary to know the accurate amount of resources needed to be allocated in advance. For this purpose, this paper proposes a high-accuracy self-adaptive prediction method using optimized neural network. The characters of users demands and preferences are analyzed firstly. To deal with the specific circumstances, a dynamic self-adaptive prediction model is adopted. Some basic predictors are adopted for resource requirements prediction of simple circumstances. BP neural network with self-adjusting learning rate and momentum is adopted to optimize the prediction results. High-accuracy self-adaptive prediction is realized by using the prediction results of basic predictors with different weights as training data besides the historical data. Feedback control is introduced to improve the whole operation performance. Statistic validation of the method is conducted adopting multiple evaluation criteria. The experiment results show that the method is promising for effectively predicting resource requirements in the cloud environment.