مدیریت پروژه ی نرم افزاری از مهم ترین فعالیت ها در توسعه ی محصول نرم افزاری است، چرا که تمامی فرآیند توسعه ی نرم افزار، از ابتدا تا انتها را شامل می گردد.تخمین هزینه نرم افزار‡ یک فعالیت چالشی در مدیریت پروژه نرم افزار می باشد. مفهوم تخمین هزینه ی نرم افزار، همزمان با شروع صنعت کامپیوتر در سال 1940 مورد توجه قرار گرفته و همچنان پژوهش در این حوزه ادامه دارد. با اینکه تلاش، تنها دربرگیرنده ی بخشی از هزینه های توسعه ی یک پروژه ی نرم افزاری است، اما عامل اساسی برای تعیین5 هزینه محسوب می گردد. از این رو در پژوهش های این حوزه، دو اصطلاح تخمین 5لاتش و تخمین5 هزینه به صورت معادل به کار می روند. مدل تخمین هزینه ی نرم افزاری مناسب است، که قبل از عقد قرارداد، دقت و اطمینان بالایی برای پیش بینی هزینه ی پروژه های نرم افزاری فراهم نماید. به علت ذات غیر قطعی5 تخمین و در جهت افزایش دقت، به مرور توجه پژوهشگران به استفاده از روش های یادگیری ماشین در این حوزه معطوف گردیده است.. به طورکلی مدل های برآورد تلاش نرم افزار به دو دسته الگوریتمی و غیر الگوریتمی تقسیم می شوند.مدل های غیر الگوریتمی به دو دسته روش های مبتنی بر قضاوت کارشناسان و روش های مبتنی بر یادگیری ماشین تقسسیم می شوند.روش های یادگیری ماشین به دنبال ساخت هستند و الگوریتم هایی را مطالعه می کنند که می توانند از مجموعه داده ها یاد بگیرند و به ورودی های مسیله مربوطه اعمال شوند، و در تصمیم گیری کمک کنند. در این مقاله سعی شده است که رایج ترین مدل های یادگیری ماشین در برآورد تلاش نرم افزار مورد بررسی و تحلیل قرارگیرند.