11Tutorials
2- =========
2+ ---------
33
4- `ReHLine ` is designed to address the empirical regularized ReLU-ReHU minimization problem, named *ReHLine optimization *, of the following form:
4+ `ReHLine ` is designed to address the regularized ReLU-ReHU minimization problem, named *ReHLine optimization *, of the following form:
55
66.. math ::
77
@@ -17,87 +17,43 @@ Some popular examples include SVMs with fairness constraints (FairSVM),
1717elastic net regularized quantile regression (ElasticQR),
1818and ridge regularized Huber minimization (RidgeHuber).
1919
20- .. image :: ./figs/tab.png
20+ See ` Manual ReHLine Formulation `_ documentation for more details and examples on converting your problem to ReHLine formulation.
2121
22- Solving PLQ ERMs
23- ----------------
2422
25- Loss
26- ****
23+ Moreover, the following specific classes of formulations can be directly solved by `ReHLine `.
2724
28- .. code :: python
29-
30- # name (str): name of the custom loss function
31- # loss_kwargs: more keys and values for loss parameters
32- loss = {' name' : < loss_name> , < ** loss_kwargs> }
25+ - **Empirical Risk Minimization ** (ERM) with various loss functions, see `ReHLine: Empirical Risk Minimization `_.
26+ - **Matrix Factorization ** (MF) with with various loss functions, see `ReHLine: Matrix Factorization `_.
3327
34- .. list-table ::
35-
36- * - **SVM **
37- - | ``loss_name ``: 'hinge' / 'svm' / 'SVM'
38- |
39- | *Example:* ``loss = {'name': 'SVM'}``
40-
41- * - **Quantile Reg **
42- - | ``loss_name ``: 'check' / 'quantile' / 'quantile regression' / 'QR'
43- | ``qt`` (*float*): qt
44- |
45- | *Example:* ``loss = {'name': 'QR', 'qt': 0.25}``
46-
47- * - **Smooth SVM **
48- - | ``loss_name ``: 'sSVM' / 'smooth SVM' / 'smooth hinge'
49- |
50- | *Example:* ``loss = {'name': 'sSVM'}``
51-
52- * - **Huber **
53- - | ``loss_name ``: 'huber' / 'Huber'
54- |
55- | *Example:* ``loss = {'name': 'huber'}``
56-
57- * - **SVR **
58- - | ``loss_name ``: 'SVR' / 'svr'
59- | ``epsilon`` (*float*): 0.1
60- |
61- | *Example:* ``loss = {'name': 'svr', 'epsilon': 0.1}``
62-
63- constraint
64- **********
65-
66- .. code :: python
67-
68- # list of
69- # name (str): name of the custom loss function
70- # loss_kwargs: more keys and values for loss parameters
71- constraint = [{' name' : < loss_name> , < ** loss_kwargs> }, ... ]
28+ List of Tutorials
29+ =================
7230
7331.. list-table ::
32+ :align: left
33+ :widths: 10 10 20
34+ :header-rows: 1
35+
36+ * - tutorials
37+ - | API
38+ - | description
39+ * - `Manual ReHLine Formulation <./tutorials/ReHLine_manual.rst >`_
40+ - | `ReHLine <./autoapi/rehline/index.html#rehline.ReHLine >`_
41+ - | ReHLine minimization with manual parameter settings.
42+
43+ * - `ReHLine: Empirical Risk Minimization <./tutorials/ReHLine_ERM.rst >`_
44+ - | `plqERM_Ridge <./autoapi/rehline/index.html#rehline.plqERM_Ridge >`_
45+ - | Empirical Risk Minimization (ERM) with a piecewise linear-quadratic (PLQ) objective with a ridge penalty.
46+
47+ * - `ReHLine: Matrix Factorization <./tutorials/ReHLine_MF.rst >`_
48+ - | `plqMF_Ridge <./autoapi/rehline/index.html#rehline.plqERM_Ridge >`_
49+ - | Matrix Factorization (MF) with a piecewise linear-quadratic (PLQ) objective with a ridge penalty.
50+
51+ .. toctree ::
52+ :maxdepth: 2
53+ :hidden:
54+
55+ ./tutorials/ReHLine_manual
56+ ./tutorials/ReHLine_ERM
57+ ./tutorials/loss
58+ ./tutorials/constraint
7459
75- * - **SVM **
76- - | ``loss_name ``: 'hinge' / 'svm' / 'SVM'
77- |
78- | *Example:* ``loss = {'name': 'SVM'}``
79-
80- * - **Quantile Reg **
81- - | ``loss_name ``: 'check' / 'quantile' / 'quantile regression' / 'QR'
82- | ``qt`` (*list*): [q1, q2, ... qK]
83- |
84- | *Example:* ``loss = {'name': 'QR', 'qt': [0.25, 0.75]}``
85-
86- * - **Smooth SVM **
87- - | ``loss_name ``: 'sSVM' / 'smooth SVM' / 'smooth hinge'
88- |
89- | *Example:* ``loss = {'name': 'sSVM'}``
90-
91- * - **Huber **
92- - | ``loss_name ``: 'huber' / 'Huber'
93- |
94- | *Example:* ``loss = {'name': 'huber'}``
95-
96- * - **SVR **
97- - | ``loss_name ``: 'SVR' / 'svr'
98- | ``epsilon`` (*float*): 0.1
99- |
100- | *Example:* ``loss = {'name': 'svr', 'epsilon': 0.1}``
101-
102- manual ReHLine
103- --------------
0 commit comments