Things to look at:
-Vacuum leaks (intake gasket, hoses, brake booster, PCV valve): not enough vacuum will make the ECU do stupid things.
-Fast idle valve (back side of intake on driver's side): could be dirty or working intermittently
-idle valve (back side of intake with two heater hoses connected to the bottom): could be clogged with carbon, dirty. Does your idle fall off and then surge at idle repeatedly?