[ 
https://issues.apache.org/jira/browse/SPARK-3181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16181724#comment-16181724
 ] 

Joseph K. Bradley commented on SPARK-3181:
------------------------------------------

Re: [~sethah]'s comment about separating Huber Estimator from regular 
LinearRegression in the PR:

This was my initial reaction too, but I can see both sides:
* Technically, robust regression using the Huber loss is Linear Regression.  As 
far as I know (and as far as I can tell from Wikipedia), "Linear Regression" 
refers to the predictive model, not to the loss model.  Using Huber loss 
instead of squared error does not change the predictive model.
* Users should get what they expect when they use an Estimator.  The average 
user would not expect Linear Regression to do fancy Huber loss regression.  
That said, the default behavior *would* be least squares regression, so it's 
not a real problem.

I don't have strong feelings here, but I'm fine with them being combined.  
Thinking about the past, it was definitely overkill to separate 
LinearRegression, RidgeRegression, and Lasso in the old RDD-based API.

> Add Robust Regression Algorithm with Huber Estimator
> ----------------------------------------------------
>
>                 Key: SPARK-3181
>                 URL: https://issues.apache.org/jira/browse/SPARK-3181
>             Project: Spark
>          Issue Type: New Feature
>          Components: ML
>    Affects Versions: 2.2.0
>            Reporter: Fan Jiang
>            Assignee: Yanbo Liang
>              Labels: features
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> Linear least square estimates assume the error has normal distribution and 
> can behave badly when the errors are heavy-tailed. In practical we get 
> various types of data. We need to include Robust Regression  to employ a 
> fitting criterion that is not as vulnerable as least square.
> In 1973, Huber introduced M-estimation for regression which stands for 
> "maximum likelihood type". The method is resistant to outliers in the 
> response variable and has been widely used.
> The new feature for MLlib will contain 3 new files
> /main/scala/org/apache/spark/mllib/regression/RobustRegression.scala
> /test/scala/org/apache/spark/mllib/regression/RobustRegressionSuite.scala
> /main/scala/org/apache/spark/examples/mllib/HuberRobustRegression.scala
> and one new class HuberRobustGradient in 
> /main/scala/org/apache/spark/mllib/optimization/Gradient.scala



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to