In machine learning , support-vector machines ( SVMs , also support-vector networks ) are supervised learning models with learning algorithm s that analyze data used for classification and regression analysis .