summaryrefslogtreecommitdiff
path: root/manuscrit.html
blob: f78da6d0501a2e9a82c4bd16248cd5300d99444e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:m="http://planete-kraus.eu/ns/manuscrit"
      xmlns:h="http://h4sp.planete-kraus.eu/ns/h4sp"
      xmlns:b="http://h4sp.planete-kraus.eu/ns/bibliography"
      xmlns:alg="http://h4sp.planete-kraus.eu/ns/algorithm"
      xml:lang="fr">
  <head>
    <title>
      Apprentissage semi-supervisé pour la régression multi-labels :
      Application à l’annotation automatique de pneumatiques.
    </title>
    <m:author email="vivien@planete-kraus.eu">
      Vivien <h:small-caps>Kraus</h:small-caps>
    </m:author>
    <m:page-de-garde>
      <m:numéro-ordre-nnt>2021LYSE1052</m:numéro-ordre-nnt>
      <m:page-de-garde-titre>Thèse de doctorat de l’université de Lyon</m:page-de-garde-titre>
      <m:l-université>l’Université Claude Bernard Lyon 1</m:l-université>
      <m:école-doctorale>École Doctorale ED512 <br/> Informatique et Mathématiques (InfoMaths)</m:école-doctorale>
      <m:spécialité>Informatique</m:spécialité>
      <m:date-soutenance>12/03/2021</m:date-soutenance>
      <m:jury>
	<m:membre grade="Professeur"
		  affiliation="Université de Lorraine"
		  rôle="Rapporteur">
	  Mme Marianne <h:small-caps>Clausel</h:small-caps>
	</m:membre>
	<m:membre grade="Professeur"
		  affiliation="Université Clermont-Auvergne"
		  rôle="Rapporteur">
	  M. Engelbert <h:small-caps>Mephu Nguifo</h:small-caps>
	</m:membre>
	<m:membre grade="Professeur"
		  affiliation="Université Lyon 1"
		  rôle="Examinateur">
	  M. Hamamache <h:small-caps>Kheddouci</h:small-caps>
	</m:membre>
	<m:membre grade="Professeur"
		  affiliation="Université de Nantes"
		  rôle="Examinatrice">
	  Mme Pascale <h:small-caps>Kuntz</h:small-caps>
	</m:membre>
	<m:membre grade="Maître de conférences"
		  affiliation="Université d’Évry"
		  rôle="Examinatrice">
	  Mme Farida <h:small-caps>Zehraoui</h:small-caps>
	</m:membre>
	<m:membre grade="MCF-HDR"
		  affiliation="Université Lyon 1"
		  rôle="Directeur de thèse">
	  M. Khalid <h:small-caps>Benabdeslem</h:small-caps>
	</m:membre>
	<m:membre grade="Responsable R&amp;D"
		  affiliation="Lizeo IT"
		  rôle="Invité">
	  M. Bruno <h:small-caps>Canitia</h:small-caps>
	</m:membre>
      </m:jury>
    </m:page-de-garde>
  </head>
  <body>
    <m:résumé>
      <p>
	Avec l’avènement et le développement rapide des technologies
	numériques, les données sont devenues à la fois un bien
	précieux et très abondant. Cependant, avec une telle
	profusion, se posent des questions relatives à la qualité et
	l'étiquetage de ces données. En effet, à cause de
	l’augmentation des volumes de données disponibles, alors que
	le coût de l'étiquetage par des experts humains reste très
	important, il est de plus en plus nécessaire de pouvoir
	renforcer l’apprentissage semi-supervisé grâce l'exploitation
	des données non-labellisées. Ce problème est d’autant plus
	marqué dans le cas de l’apprentissage multi-labels, et en
	particulier pour la régression, où chaque unité statistique
	est guidée par plusieurs cibles différentes, qui prennent la
	forme de scores numériques.
      </p>
      <p>
	C'est dans ce cadre fondamental, que s'inscrit cette
	thèse. Tout d'abord, nous commençons par proposer une méthode
	d’apprentissage pour la régression semi-supervisée, que nous
	mettons à l’épreuve à travers une étude expérimentale
	détaillée. Grâce à cette nouvelle méthode, nous présentons une
	deuxième contribution, plus adaptée au contexte
	multi-labels. Nous montrons également son efficacité par une
	étude comparative, sur des jeux de données issues de la
	littérature.  Par ailleurs, la dimensionnalité du problème
	demeure toujours la difficulté de l'apprentissage automatique,
	et sa réduction suscite l'intérêt de plusieurs chercheurs dans
	la communauté. Une des tâches majeures répondant à cette
	problématique est la sélection de variables, que nous
	proposons d'étudier ici dans un cadre complexe:
	semi-supervisé, multi-labels et pour la régression.
      </p>
    </m:résumé>
    <m:mots-clés>
      <m:mot-clé>apprentissage semi-supervisé</m:mot-clé>
      <m:mot-clé>apprentissage multi-labels</m:mot-clé>
      <m:mot-clé>régression</m:mot-clé>
      <m:mot-clé>régularisation Laplacienne</m:mot-clé>
      <m:mot-clé>sélection de variables</m:mot-clé>
      <m:mot-clé>sélection de labels</m:mot-clé>
      <m:mot-clé>optimisation</m:mot-clé>
    </m:mots-clés>
    <m:abstract xml:lang="en">
      <p>
	With the advent and rapid growth of digital technologies, data
	has become a precious asset as well as plentiful. However,
	with such an abundance come issues about data quality and
	labelling. Because of growing numbers of available data
	volumes, while human expert labelling is still important, it
	is more and more necessary to reinforce semi-supervised
	learning with the exploitation of unlabeled data. This problem
	is all the more noticeable in the multi-label learning
	framework, and in particular for regression, where each
	statistical unit is guided by many different targets, taking
	the form of numerical scores.
      </p>
      <p>
	This thesis focuses on this fundamental framework. First, we
	begin by proposing a method for semi-supervised regression,
	that we challenge through a detailed experimental
	study. Thanks to this new method, we present a second
	contribution, more fitted to the multi-label framework. We
	also show its efficiency with a comparative study on
	literature data sets. Furthermore, the problem dimension is
	always a pain point of machine learning, and reducing it
	sparks the interest of many researchers. Feature selection is
	one of the major tasks addressing this problem, and we propose
	to study it here in a complex framework: for semi-supervised,
	multi-label regression.
      </p>
      <p>
	Finally, an experimental validation is proposed on a real
	problem about automatic annotation of tires, to tackle the
	needs expressed by the industrial partner of this thesis.
      </p>
    </m:abstract>
    <m:keywords xml:lang="en">
      <m:keyword>semi-supervised learning</m:keyword>
      <m:keyword>multi-label learning</m:keyword>
      <m:keyword>regression</m:keyword>
      <m:keyword>Laplacian regularization</m:keyword>
      <m:keyword>feature selection</m:keyword>
      <m:keyword>label selection</m:keyword>
      <m:keyword>optimization</m:keyword>
    </m:keywords>
    <h:tableofcontents />
    <h:listoffigures />
    <h:listoftables />
    <h:listofalgorithms />
    <h1>Introduction générale</h1>
    <h2>Contexte et motivation</h2>
    <p>
      L'apprentissage automatique est une discipline de l'intelligence
      artificielle qui consiste à extraire à partir de données
      complexes, des connaissances utiles pour la prise de décision
      dans différents domaines d'application. Ces données peuvent
      êtres présentées sous différentes formes : observations, objets,
      transactions, signaux, graphes, textes, etc.
    </p>
    <p>
      L'apprentissage automatique à partir des données vise à extraire
      des connaissances directement à partir des observations que l'on
      peut effectuer de l'environnement. Selon le cadre d'application,
      les observations peuvent être très différentes. Il peut s'agir
      de textes et d'images, par exemple, afin d'effectuer de la
      classification de documents textuels ou de la reconnaissance
      d'images.
    </p>
    <p>
      Dans ce contexte, le principe général consiste à effectuer une
      modélisation statistique d’une fonction qui nous permet de
      résoudre le problème abordé. Cette modélisation est jugée
      pertinente si elle permet de généraliser la décision à de
      nouvelles formes de données inconnues au modèle, a priori.
    </p>
    <p>
      Dans le cadre de cette thèse, la modélisation que nous cherchons
      à mettre en œuvre se présente sous la forme <h:eq>y = f
	(x)</h:eq><h:eq>x</h:eq> représente les variables
      explicatives du problème, par exemple les mots employés dans un
      texte. <h:eq>y</h:eq> représente la variable cible à expliquer,
      appelée aussi cible ou label, c'est-à-dire celle que l'on
      cherche à expliquer : le ou les thèmes du document textuel.
    </p>
    <p>
      Pour trouver cette fonction <h:eq>f</h:eq>, il y a plusieurs
      régimes d'application. Si la variable cible est complètement
      connue (pour toutes les observations), il s'agit d'apprentissage
      supervisé. Si elle est inconnue, il s'agit d'apprentissage non
      supervisé. Dans le cas qui nous intéresse, elle n'est que
      partiellement connue, ce qui définit l'apprentissage
      semi-supervisé.
    </p>
    <p>
      Selon le type d'apprentissage envisagé, nous pouvons utiliser un
      certain nombre d'algorithmes, c'est-à-dire une fonction qui à
      partir des données construit une approximation du
      modèle <h:eq>f</h:eq>. Dans le cadre qui nous intéresse ici,
      l'algorithme consiste à minimiser une fonction de coût, en
      cherchant le modèle parmi une certaine classe de fonctions. La
      fonction de coût accumule donc les erreurs commises sur
      l'ensemble du jeu de données. En la minimisant, l'objectif est
      d'obtenir le modèle le plus adapté à la distribution des
      données.
    </p>
    <p>
      Par ailleurs, en apprentissage automatique, l'extraction de
      variables permet de synthétiser l'information contenue dans les
      caractéristiques du problème, de façon à en obtenir de nouvelles
      où chaque observation est décrite différemment. L’utilisation de
      ces nouvelles variables, souvent moins nombreuses, permet
      d'effectuer une réduction de dimension. D'autre part, la
      sélection de variables est un cas particulier, pour lequel
      chaque variable obtenue est une variable de description de
      l'observation, mais seules les variables pertinentes sont
      sélectionnées. La sélection de variables a donc un avantage
      considérable sur l'extraction de variables, puisqu'elle permet
      d'avoir un modèle plus interprétable. Par exemple, dans le cas
      de l'apprentissage à partir de données textuelles, elle permet
      de sélectionner le champ lexical du thème qui nous intéresse, ce
      qui est en soi un apport de connaissances.
    </p>
    <p>
      La performance des algorithmes d'apprentissage en
      classification, régression ou sélection de variables, s'évalue
      sur les données n'ayant pas servi à la construction du
      modèle. Si la fonction résultante <h:eq>f</h:eq> est performante
      sur ces données, elle permettra de généraliser la connaissance,
      et ainsi conduire à une décision fiable. Principalement, on
      distingue deux obstacles qui s'opposent à la généralisation de
      la fonction de décision : le <emph>sous-apprentissage</emph>,
      pour lequel <h:eq>f</h:eq> ignore l'information utile des
      données, et le <emph>sur-apprentissage</emph>, qui donne trop
      d'importance au bruit dans les données. Le sous-apprentissage
      est assez simple à détecter, puisque la fonction <h:eq>f</h:eq>
      n'est pas performante sur les données connues.
    </p>
    <p>
      Il est parfois possible de contrer l'effet du sur-apprentissage,
      en introduisant une régularisation explicite dans l'algorithme
      préconisé. Ainsi, celui-ci minimise l'erreur accumulée sur
      l'ensemble des données, mais tente également de minimiser la
      complexité du modèle sous-jacent. Une certaine définition de la
      complexité du modèle informe le choix de la régularisation
      employée.
    </p>
    <p>
      Selon la nature de la variable cible, différents algorithmes
      peuvent être envisagés. Dans le cas de la régression, cette
      variable est de nature continue, contrairement à la
      classification dans laquelle elle est discrète. De plus, dans le
      cas d'un apprentissage multi-labels, l'espace de cette variable
      cible s'élargit et rejoint celui des variables explicatives dans
      toute sa complexité liée à la corrélation, au bruit et à la
      difficulté à modéliser la fonction de décision avec de multiples
      cibles, simultanément.  C'est enfin, dans ce cadre complexe, que
      s'inscrit l'aspect fondamental de cette thèse.
    </p>
    <p>
      Sur l'aspect applicatif, cette thèse s’inscrit dans le cadre
      d’une convention CIFRE entre le laboratoire LIRIS et la société
      Lizeo IT du groupe Lizeo <h:fn>Cette thèse fait l'objet d'une
      "Convention Industrielle de Formation par la Recherche" (CIFRE)
      proposée par l’Agence Nationale de la Recherche Technique
      (ANRT). Ce mode de financement consiste en un partenariat entre
      une entreprise, ici Lizeo IT du groupe Lizeo et une université
      (ici, l'université Claude Bernard Lyon 1 , UCBL).</h:fn>. En
      effet, dans le cadre de ses activités, l'entreprise récolte de
      nombreux documents textuels issus de multiples sources et
      décrivant les qualités des pneumatiques, à travers un certain
      nombre de caractéristiques étudiées pour les pneumatiques.
      Chacune de ces caractéristiques représente un score
      d'appréciation continu (sous forme d'une note) : ce sont donc
      des variables cible, réelles. La connaissance extraite de ces
      données d'appréciation sont d'une très grande importance pour
      les manufacturiers et les distributeurs, mais l'annotation
      manuelle est très délicate, puisqu'elle requiert des
      connaissances vis-à-vis des produits, et coûteuse puisqu'elle
      doit s'effectuer sur plusieurs critères différents.  Par
      conséquent, l'apprentissage doit s'inscrire dans le cadre
      semi-supervisé pour la régression multi-labels.
    </p>
    <h2>Contributions</h2>
    <p>
      Tout d'abord, nous avons commencé à aborder le problème de la
      régression dans le cadre mono-label.  Pour ce faire, nous nous
      sommes fondés sur deux algorithmes représentatifs de l'état de
      l'art : <emph>SSSL</emph> (Simple algorithm for Semi-supervised
      Learning, <h:cite href="ji_simple_2012"/>) et celui de la
      régularisation Laplacienne
      <h:cite href="belkin_manifold_2006"/>. <emph>SSSL</emph>
      effectue une régression simple après un changement d'espace des
      données ; nous proposons de reprendre ce changement d'espace et
      d'apporter une régularisation Laplacienne à la régression, pour
      obtenir l'algorithme <emph>Laplacian-regularized Simple
      Semi-Supervised Learning</emph>, ou <emph>LapS3L</emph>.
    </p>
    <p>
      Nous avons proposé par la suite une adaptation
      de <emph>LapS3L</emph> pour l'apprentissage multi-labels,
      <emph>Laplacian-based Semi-supervised Multi-regression</emph>,
      ou <emph>LSMR</emph>. L'idée principale de cette extension
      consiste à imposer, au travers d'une régularisation, que les
      labels similaires doivent être modélisés de manière similaire.
    </p>
    <p>
      Nous avons également développé un algorithme de sélection de
      variables multi-labels et semi-supervisé,
      appelé <emph>RSMS</emph> pour <emph>Robust Semi-supervised
	Multi-label feature Selection for regression</emph>. En effet,
      dans le cas de l'apprentissage multi-labels, la sélection de
      variables propose de sélectionner les variables utiles pour tous
      les labels, simultanément. Cet algorithme de sélection de
      variables introduit l'idée que la sélection de labels permet de
      guider la sélection de variables.
    </p>
    <p>
      Enfin, nous étions confrontés à un jeu de données textuel pour
      la résolution d'un problème réel, qui consiste à évaluer
      l'appréciation de diverses propriétés associées à des
      pneumatiques dans des commentaires d'internautes. C'est la
      raison pour laquelle nous avons développé un démonstrateur en
      situation permettant d'adapter nos algorithmes ainsi développés
      aux contingences de cette application à forte valeur ajoutée
      pour l'entreprise.
    </p>
    <h2>Organisation du manuscrit</h2>
    <p>
      L'organisation de ce manuscrit suit l'ordre chronologique de nos
      propositions. Dans le chapitre qui suit, nous dresserons un état
      de l'art sur l'apprentissage semi-supervisé et multi-labels, en
      s'intéressant également à la sélection de variables. Ensuite,
      nous présenterons <emph>LapS3L</emph>
      (<emph>Laplacian-regularised Simple Semi-Supervised
	Learning</emph>), en décrivant les travaux utilisés, l'approche
      proposée, l'algorithme d'optimisation retenu et l'étude
      expérimentale mise en œuvre. Le chapitre 4 se consacrera à la
      deuxième contribution, <emph>LSMR</emph> (<emph>Laplacian-based
	semi-supervised multi-regression</emph>) qui est son extension
      dans le cadre multi-labels. Le chapitre 5
      présentera <emph>RSMS</emph> (<emph>Robust Semi-supervised
	Multi-label feature Selection for regression</emph>), pour
      répondre à la problématique de la sélection de variables, dans
      le cadre semi-supervisé et multi-labels. Finalement, le chapitre
      6 présentera l'application de nos travaux sur un jeu de données
      réel, pour répondre à la problématique de l'entreprise sur
      l'annotation automatique à partir de grandes masses de données
      sur les pneumatiques. Enfin, nous conclurons ce rapport dans le
      dernier chapitre avec un bilan sur les contributions proposées
      et les résultats obtenus via les différentes expérimentations
      menées durant cette thèse. Nous discuterons aussi quelques
      propositions d'amélioration en guise de perspectives à court et
      à moyen termes.
    </p>
    <h2>Notations</h2>
    <p>
      Les notations utilisées dans la suite de ce document sont
      rappelées ici.
    </p>
    <p>
      Voici les opérateurs employés :
    </p>
    <ul>
      <li><h:eq>M'</h:eq> désigne la transposée de
	lamatrice <h:eq>M</h:eq> ;</li>
      <li><h:eq>\bar v</h:eq> désigne la moyenne d'un
	vecteur <h:eq>v</h:eq> ;</li>
      <li><h:eq>M \otimes P</h:eq> désigne le produit de Kronecker
	de <h:eq>M</h:eq> par <h:eq>P</h:eq> ;</li>
      <li><h:eq>M \succeq 0</h:eq> ou <h:eq>M \in S_N^{+}
	  (\mathbb{R})</h:eq> signifie que <h:eq>M</h:eq> est une
	matrice symétrique réelle semi-définie positive.</li>
    </ul>
    <p>
      Les notations suivantes sont employées pour la dimension du
      problème d'apprentissage :
    </p>
    <ul>
      <li><h:eq>n_l</h:eq> : le nombre d'individus labellisés de
	l'ensemble d'apprentissage ;</li>
      <li><h:eq>N</h:eq> : le nombre total d'individus, y compris ceux
	non labellisés ;</li>
      <li><h:eq>n_t</h:eq> : le nombre d'individus de test ;</li>
      <li><h:eq>d</h:eq> : la dimension de l'espace des individus, ou
	le nombre de variables ;</li>
      <li><h:eq>m</h:eq> : le nombre de labels ;</li>
      <li><h:eq>c</h:eq> : le nombre de classes pour un
	classifieur ;</li>
      <li><h:eq>o</h:eq> : le nombre de pseudo-labels ;</li>
      <li><h:eq>s</h:eq> : le nombre de valeurs propres considérées,
	par ordre croissant.</li>
    </ul>
    <p>
      Nous utilisons ces notations pour écrire une fonction objectif :
    </p>
    <ul>
      <li><h:eq>\alpha > 0</h:eq>, <h:eq>\beta >
	  0</h:eq>, <h:eq>\gamma > 0</h:eq>, <h:eq>\delta > 0</h:eq> :
	régulariseurs ;</li>
      <li><h:eq>b \in \mathbb{R}^{m}</h:eq> : le vecteur de biais pour
	l'apprentissage de régression ;</li>
      <li><h:eq>B \in \mathbb{R}^{o, m}</h:eq> : le facteur à droite
	dans la décomposition du modèle ;</li>
      <li><h:eq>\Gamma</h:eq> : les coefficients du modèle SSSL ;</li>
      <li><h:eq>D, D_s</h:eq> : la matrice de degré du graphe des
	individus (l'indice <h:eq>s</h:eq> sert à la démarquer
	de <h:eq>D_m</h:eq>) ;</li>
      <li><h:eq>D_m</h:eq> : la matrice de degré du graphe des
	labels ;</li>
      <li><h:eq>D_W</h:eq>, <h:eq>D_B</h:eq> : matrices diagonales
	pour la relaxation lisse de la norme <h:eq>l_{2, 1}</h:eq>
	et <h:eq>l_{1, 2}</h:eq> ;</li>
      <li><h:eq>\epsilon > 0</h:eq> : paramètre de la fonction de coût
	de l'algorithme SVM (<emph>Support Vector Machine</emph>), ou
	notation pour un nombre strictement positif pouvant être choisi
	arbitrairement proche de 0 ;</li>
      <li><h:eq>J \in \mathbb{R}^{N, N}</h:eq> : matrice diagonale
	indicatrice des individus labellisés ;</li>
      <li><h:eq>L \in \mathbb{R}^{N, N}</h:eq>, <h:eq>L_s</h:eq> : la
	matrice Laplacienne du graphe des individus ;</li>
      <li><h:eq>L_m \in \mathbb{R}^{m, m}</h:eq> : la matrice
	Laplacienne du graphe des labels ;</li>
      <li><h:eq>M \in \mathbb{R}^{N, N}</h:eq> : la matrice
	d'adjacence du graphe des individus ;</li>
      <li><h:eq>M_m \in \mathbb{R}^{m, m}</h:eq> : la matrice
	d'adjacence du graphe des labels ;</li>
      <li><h:eq>P, Q</h:eq> : deux matrices décomposant un modèle <h:eq>W</h:eq>,
        <h:eq>W = P + Q</h:eq> ou <h:eq>W = P Q</h:eq> ;</li>
      <li><h:eq>\mathcal{R}</h:eq> : lorsqu'une régularisation
	quelconque s'applique sur un modèle <h:eq>W</h:eq>, nous la
	noterons <h:eq>\mathcal{R} (W)</h:eq> ;</li>
      <li><h:eq>tr</h:eq> : fonction calculant la trace d'une matrice
	(la somme des valeurs de sa diagonale) ;</li>
      <li><h:eq>V \in \mathbb{R}^{N, o}</h:eq> : une matrice de
	pseudo-labels ;</li>
      <li><h:eq>V_l \in \mathbb{R}^{n_l, o}</h:eq> : les lignes
	de <h:eq>V</h:eq> correspondant aux individus labellisés ;</li>
      <li><h:eq>\mathcal{V}</h:eq> : les individus du jeu
	d'apprentissage pour SSSL ;</li>
      <li><h:eq>\mathcal{V}_t</h:eq> : le jeu de test pour SSSL ;</li>
      <li><h:eq>w \in \mathbb{R}^d</h:eq> : le modèle, sous forme de
	vecteur de coefficients, pour un apprentissage mono-label ;</li>
      <li><h:eq>W \in \mathbb{R}^{d, m}</h:eq> : le modèle pour un
	apprentissage multi-labels ;</li>
      <li><h:eq>y \in \mathbb{R}^{n_l}</h:eq> : le vecteur de labels
	(pour de la régression mono-label) ;</li>
      <li><h:eq>Y \in \mathbb{R}^{n, m}</h:eq> : la matrice de labels,
	de dimension <h:eq>N \times m</h:eq>. Elle contient des lignes
	de valeur non spécifiée pour les individus non labellisés. De
	dimension <h:eq>n_l \times m</h:eq>, il ne s'agit que des
	individus labellisés ;</li>
      <li><h:eq>\hat Y \in \mathbb{R}^{n_t, m}</h:eq> : la sortie du
	modèle pour la prédiction des labels d'un ensemble
	de <h:eq>n_t</h:eq> individus ;</li>
      <li><h:eq>\xi</h:eq>, <h:eq>\xi^{*}</h:eq> : paramètres de marge
	pour l'algorithme SVR (<emph>Support Vector
	  Regression</emph>) ;</li>
      <li><h:eq>X \in \mathbb{R}^{N, d}</h:eq> la matrice de données
	servant pour l'apprentissage ;</li>
      <li><h:eq>X_l \in \mathbb{R}^{n_l, d}</h:eq> les lignes
	de <h:eq>X</h:eq> correspondant aux individus labellisés.</li>
    </ul>
    <p>
      Certains algorithmes utilisent un noyau. Les notations associées
      sont :
    </p>
    <ul>
      <li><h:eq>\mathcal{H}_{\kappa}</h:eq> : espace de Hilbert à
	noyau reproduisant ;</li>
      <li><h:eq>K \in \mathbb{R}^{N, N}</h:eq> : application de la
	fonction de noyau à chaque paire d'individus ;</li>
      <li><h:eq>K_b \in \mathbb{R}^{N, n_t}</h:eq> : application de la
	fonction de noyau à chaque paire (individu d'apprentissage,
	individu de test) ;</li>
      <li><h:eq>\kappa \colon \mathcal{X} \times \mathcal{X} \to
	  \mathbb{R}</h:eq>, une fonction de noyau ;</li>
      <li><h:eq>\sigma > 0</h:eq> : l'hyperparamètre de la RBF
	(/Radial Basis Function/) ;</li>
      <li><h:eq>U \in \mathbb{R}^{N, s}</h:eq> : les vecteurs propres
	de la matrice de noyau <h:eq>K</h:eq>.</li>
    </ul>
    <p>
      Pour décrire un algorithme, nous utilisons les notations
      suivantes :
    </p>
    <ul>
      <li><h:eq>M^{(0)}</h:eq> désigne une valeur initiale avant
	itérations ;</li>
      <li><h:eq>\mathbf{1}</h:eq> : un vecteur dont toutes les
	composantes sont égales à 1 ;</li>
      <li><h:eq>C \in \mathbb{R}^{m, o}</h:eq> : l'indicatrice des
	clusters, vaut 1 si <h:eq>m</h:eq> est dans le
	cluster <h:eq>o</h:eq> ;</li>
      <li><h:eq>C_W</h:eq>, <h:eq>C_V</h:eq>, <h:eq>C_B</h:eq> : la
	constante de Lipschitz de la fonction de gradient vis-à-vis
	de <h:eq>W</h:eq>, <h:eq>V</h:eq> et <h:eq>B</h:eq> ;</li>
      <li><h:eq>\mathcal{C}</h:eq> : un cluster ;</li>
      <li><h:eq>f</h:eq>, ou <h:eq>h</h:eq> : une fonction de
	prédiction, prend en entrée un individu ou un ensemble
	d'individus et retourne les valeurs de tous les labels pour
	ces individus ;</li>
      <li><h:eq>i</h:eq> : indice d'itération d'individu ;</li>
      <li><h:eq>I</h:eq> : la matrice identité ;</li>
      <li><h:eq>j</h:eq> : indice d'itération de variables ;</li>
      <li><h:eq>k</h:eq> : indice d'itération de labels, ou nombre de
	plus proches voisins ;</li>
      <li><h:eq>l</h:eq> : indice d'itération de pseudo-labels ;</li>
      <li><h:eq>\hat L_N</h:eq> : l'opérateur d'évaluation d'une
	fonction de prédiction ;</li>
      <li><h:eq>\left(\hat \lambda\right)_{i = 1}^N</h:eq> les valeurs
	propres de <h:eq>\hat L_N</h:eq> ;</li>
      <li><h:eq>\mathrm{min}</h:eq>, <h:eq>\mathrm{max}</h:eq> :
	minimum et maximum d'un ensemble de valeurs ;</li>
      <li><h:eq>\mathcal{O}</h:eq> : notation pour la complexité
	temporelle ou spatiale ;</li>
      <li><h:eq>p</h:eq> : indice de la norme de Minkowski ;</li>
      <li><h:eq>\left(\phi\right)_{i = 1}^ N</h:eq> les fonctions
	propres de <h:eq>\hat L_N</h:eq> ;</li>
      <li><h:eq>\rho (M)</h:eq> désigne le rayon spectral
	de <h:eq>M</h:eq>, c'est-à-dire sa plus grande valeur
	propre ;</li>
      <li><h:eq>\mathcal {S} \subset \{1, ..., m\}</h:eq> les labels
	sélectionnés ;</li>
      <li><h:eq>\sigma_i(W)</h:eq> : la <h:eq>i</h:eq><sup>ième</sup>
	valeur propre de <h:eq>W</h:eq> ;</li>
      <li><h:eq>x_i,\quad i = \{1 ... N\}</h:eq> : un individu de
	l'ensemble d'apprentissage ;</li>
      <li><h:eq>{x_l}_i,\quad i = \{1 ... n_l\}</h:eq> : un individu
	labellisé de l'ensemble d'apprentissage ;</li>
      <li><h:eq>\hat y_i</h:eq> désigne la prédiction mono-label d’un
        individu de test <h:eq>i</h:eq> ;</li>
      <li><h:eq>\hat Y_{i,k}</h:eq> désigne la prédiction d’un
        individu de test <h:eq>i</h:eq> pour un
        label <h:eq>k</h:eq> ;</li>
      <li><h:eq>z</h:eq> : le vecteur de label pour SSSL ;</li>
      <li><h:eq>\hat z</h:eq> : la prédiction pour SSSL.</li>
    </ul>
    <p>
      Enfin, <h:eq>\mathcal{X}</h:eq> désigne l’ensemble
      d’apprentissage ; dans tous les cas étudiés il s’agit d’un
      espace réel de dimension <h:eq>d</h:eq>.
    </p>
    <p>
      Nous rappelons également les normes utilisées :
    </p>
    <ul>
      <li>la norme de Minkowski, pour un
	indice <h:eq>p</h:eq> : <h:eq>\left\|x_i\right\|_{p} =
	  \left(\sum_{i = 1}^n \left|x\right|^p\right)^{\frac 1
	  p}</h:eq> ;</li>
      <li>la norme <h:eq>l_2</h:eq>, cas particulier pour <h:eq>p =
	  2</h:eq> : <h:eq>\left\|x\right\|_{2} = \sqrt{\sum_{i = 1}^n
	  \left|x_i\right|^2}</h:eq> ;</li>
      <li>la norme <h:eq>l_1</h:eq>, autre cas particulier
	pour <h:eq>p = 1</h:eq> : <h:eq>\left\|x\right\|_1 = \sum_{i =
	  1}^n \left|x_i\right|</h:eq> ;</li>
      <li>la norme matricielle <h:eq>l_{p, q}</h:eq> pour deux indices
	de Minkowski, est la norme <h:eq>q</h:eq> du vecteur constitué
	des normes <h:eq>p</h:eq> de chacune des lignes de la
	matrice ;</li>
      <li>la norme <h:eq>l_{2, 1}</h:eq> s'écrit donc pour une
	matrice <h:eq>W \in
	\mathbb{R}^{d,m}</h:eq> : <h:eq>\left\|W\right\|_{2, 1} =
	\sum_{j = 1} ^ d \left\|W_{j, .}\right\|_2</h:eq> ;</li>
      <li>la norme <h:eq>l_{1, 1}</h:eq>
	s'écrit : <h:eq>\left\|W\right\|_{1, 1} = \sum_{j = 1} ^ d
	  \left\|W_{j, .}\right\|_1</h:eq> ;</li>
      <li>la norme <h:eq>l_{1, 2}</h:eq> est la norme <h:eq>l_{2,
	  1}</h:eq> de la transposée ;</li>
      <li>la norme <h:eq>l_{\infty, 1}</h:eq>
	s'écrit : <h:eq>\left\|W\right\|_{\infty, 1} = \sum_{j = 1}^d
	  \mathrm{max}_k |W_{j, k}|</h:eq> ;</li>
      <li>la norme de Frobenius <h:eq>l_{2, 2}</h:eq>
	s'écrit : <h:eq>\left\|W\right\|_F = \sqrt{\sum_{j = 1}^d
	  \sum_{k = 1} ^ m W_{j, k} ^ 2}</h:eq> ;</li>
      <li>la norme <h:eq>l_{2, 1 - 2}</h:eq> est la différence entre
	la norme <h:eq>l_{2, 1}</h:eq> et la norme de Frobenius ;</li>
      <li>la norme trace s'écrit : <h:eq>\left\|W\right\|_{*} =
	  \sqrt{tr \left(W' W\right)} = \sum_{i = 1} ^ m \sigma_i
	  (W)</h:eq>, si <h:eq>\sigma_i (W)</h:eq> est
	la <h:eq>i</h:eq><sup>ième</sup> valeur propre
	de <h:eq>W</h:eq>.</li>
    </ul>
    <h1 short="État de l’art">État de l’art : Régression semi-supervisée multi-labels</h1>
    <h:résumé-chapitre>
      <p>
	Dans ce chapitre, nous dressons un état de l'art de
	l'apprentissage de régression semi-supervisée et multi-labels.
      </p>
      <p>
	Pour l'apprentissage semi-supervisé, nous détaillons diverses
	approches qui peuvent utiliser les données non
	labellisées. Nous commençons par les approches de pénalisation
	utilisant la régularisation Laplacienne, puis son adaptation
	dans le cadre de l'algorithme SVM, ainsi que les méta-méthodes
	semi-supervisées : <emph>self-training</emph>
	et <emph>co-training</emph>. Nous nous intéressons également à
	la sélection de variables pour l'apprentissage semi-supervisé.
      </p>
      <p>
	Nous nous concentrons ensuite sur la régression
	multi-labels. On peut également traiter le problème de
	régression multi-labels grâce à des méta-méthodes, mais aussi
	des régularisations spéciales conçues pour l'apprentissage
	multi-labels. Nous terminons ce chapitre par un exposé de la
	sélection de variables multi-labels.
      </p>
    </h:résumé-chapitre>
    <h2>Régression semi-supervisée</h2>
    <p>
      Dans cette section, nous nous intéressons à la notion de
      régression semi-supervisée. L'apprentissage semi-supervisé est
      un sujet de recherche important. Le but est de tirer profit de
      données non labellisées en plus des données labellisées, dans le
      cas relativement fréquent où labelliser des données est très
      coûteux, car ce processus nécessite la collaboration d'un
      expert, alors que dans le même temps de grandes masses de
      données non labellisées sont disponibles.
    </p>
    <p>
      Les problèmes de régression peuvent aussi être traités dans ce
      contexte d'apprentissage semi-supervisé. Ce cas dans lequel la
      variable cible est continue suscite un intérêt différent du cas,
      beaucoup plus fréquent, où la variable cible est discrète
      (classification binaire ou multiple). Ainsi, de nombreuses
      approches en apprentissage semi-supervisé sont d'abord pensées
      pour une tâche de classification, ce qui parfois rend leur
      adaptation plus difficile.
    </p>
    <h3>Apprentissage semi-supervisé</h3>
    <p>
      L'objectif de l'apprentissage semi-supervisé est d'exploiter les
      données non labellisées, disponibles en abondance, pour
      améliorer les performances en généralisation de
      l'algorithme. Par exemple, prenons le cas du jeu de données
      2-lunes (<emph>two moons</emph>, figure
      <h:ref href="#fig-twomoons" />). Dans ce jeu de données (en
      haut), il n’y a que deux points labellisés. En ignorant les
      points non labellisés, la classification donnerait le résultat
      en bas à gauche, alors que le résultat en bas à droite semble
      plus naturel.
    </p>
    <figure>
      <img src="images/twomoons.svg" />
      <figcaption id="fig-twomoons">
	Le jeu de données <emph>two moons</emph>
      </figcaption>
    </figure>
    <p>
      Ce problème de classification binaire semi-supervisée est assez
      inintéressant au premier abord, puisqu'il ne propose qu'un seul point
      par classe. Dans ce cas, n'importe quel algorithme de classification
      binaire peut obtenir une erreur résiduelle nulle en traçant une zone
      de séparation entre les deux points.
    </p>
    <p>
      Cependant, le résultat n'est pas très intuitif. On s'attendrait
      à ce que chacune des deux branches du jeu de données utilise la
      même étiquette de manière cohérente, en utilisant la
      justification suivante : dans les zones de points à haute
      densité, toutes les étiquettes devraient être les mêmes.
    </p>
    <p>
      Si le résultat de classification est différent, on ne peut
      cependant pas affirmer qu'il sera meilleur. Cependant, comme
      nous le verrons plus tard, certaines connaissances a priori de
      cette nature peuvent donner de meilleurs résultats
      expérimentaux.
    </p>
    <p>
      Selon <h:cite href="chapelle_semi-supervised_2006" />, il est
      nécessaire de satisfaire plusieurs hypothèses pour améliorer la
      performance de l'apprentissage, rappelées ici.
    </p>
    <p>
      L'hypothèse de <emph>régularité semi-supervisée</emph> affirme
      que la prédiction doit être plus lisse dans les zones à haute
      densité que dans les zones à basse densité. Dans notre exemple
      ci-dessus, les deux lunes sont des zones à haute densité ; la
      prédiction ne doit donc pas varier rapidement dans cette
      zone. En revanche, entre les deux formes lunaires se trouve une
      zone à faible densité, où la prédiction peut très abruptement
      basculer entre négatif et positif.
    </p>
    <p>
      L'hypothèse de <emph>clusterisation</emph> affirme que si les
      données se divisent en groupes, alors la prédiction doit être la
      même sur tout le groupe.  C'est principalement cette hypothèse
      que nous aurions utilisée pour définir le résultat attendu de la
      figure <h:ref href="#fig-twomoons" />. Ce n'est pas exactement
      la même chose que l'hypothèse de régularité. En effet, elle
      n'exprime rien quant à la zone de séparation, et les
      regroupements ne sont pas nécessairement les zones à plus haute
      densité.
    </p>
    <p>
      Finalement, l'hypothèse de <emph>manifold</emph> affirme que les
      données vivent en réalité dans un espace de plus faible
      dimension. C'est en effet le cas des données de la figure : on
      pourrait paramétrer cet espace par un réel unique, qui
      indiquerait sur quelle lune on se trouve et à quelle position.
    </p>
    <p>
      L'intérêt d'un algorithme de régression semi-supervisée réside
      donc dans le fait qu'il soit capable de tirer avantage de ces
      hypothèses, au moyen par exemple de connaissances a priori
      injectées dans le modèle. Dans la suite, nous allons voir
      quelques exemples d'algorithmes qui utilisent ces hypothèses.
    </p>
    <h4>Notations</h4>
    <p>
      Pour garder une certaine cohérence dans la liste des méthodes
      évoquées, nous définissons ici les notations employées pour
      modéliser un problème d'apprentissage semi-supervisé.
    </p>
    <h5>Notations générales</h5>
    <p>
      Le problème d'apprentissage semi-supervisé consiste à apprendre
      une fonction de prédiction, <h:eq>f</h:eq>, à partir des
      données. Ces données sont modélisées comme des
      points <h:eq>\left(x_i\right)_{i = 1} ^ N</h:eq> dans un
      espace <h:eq>\mathcal{X}</h:eq>. Dans le cas des problèmes de
      régression, on considèrera uniquement que les
      individus <h:eq>\left(x_i\right)_{i = 1} ^ N</h:eq> sont des
      vecteurs dans un espace <h:eq>\mathbb{R}^d</h:eq>,
      où <h:eq>d</h:eq> est la dimension de l'espace. La fonction de
      prédiction retourne un nombre réel, dans le cadre de la
      régression. On a donc :
    </p>
    <h:equation-x>
      f \colon \mathcal{X} \to \mathbb{R}
    </h:equation-x>
    <p>
      Parmi cet ensemble d'apprentissage semi-supervisé, on peut en
      extraire un sous-ensemble supervisé constitué de paires
      <h:eq>\left({x_l}_i, y_i\right)_{i = 1} ^ {n_l} \in \mathbb{R} ^
	d \times \mathbb{R}</h:eq>. En pratique, l'ensemble supervisé
      constitue généralement les <h:eq>n_l</h:eq> premiers individus
      de l'ensemble total.
    </p>
    <p>
      Dans le cas linéaire, la fonction <h:eq>f</h:eq> est paramétrée
      par un modèle noté <h:eq>w \in \mathbb{R} ^ d</h:eq>, et
      optionnellement par un biais <h:eq>b \in \mathbb{R}</h:eq>. Le
      problème d'optimisation consiste donc à trouver la valeur
      de <h:eq>w</h:eq> (et <h:eq>b</h:eq>) minimisant le coût. La
      fonction <h:eq>f</h:eq> s'écrit alors :
    </p>
    <h:equation-x>
      x \mapsto \sum_{j = 1} ^ d x_j w_j + b
    </h:equation-x>
    <p>
      Dans le cas d'un apprentissage à noyau, on définit une fonction
    </p>
    <h:equation-x>
      \kappa \colon \mathcal{X} \times \mathcal{X} \mapsto \mathbb{R}
    </h:equation-x>
    <p>
      qui agit sur une paire d'individus. La fonction <h:eq>f</h:eq>
      dépend donc de l'ensemble
      d'apprentissage <h:eq>\left(x_i\right)_{i = 1}^N</h:eq>, et elle
      adopte la forme suivante :
    </p>
    <h:equation-x>
      x \mapsto \sum_{i = 1} ^ N \kappa (x_i, x) w_i + b
    </h:equation-x>
    <h5>Notations matricielles</h5>
    <p>
      Pour la notation matricielle, on note <h:eq>X \in \mathbb{R} ^
	{N, d}</h:eq> la matrice de données, de sorte que pour tout
      individu d'apprentissage <h:eq>i \in \{1, ...,
	N\}</h:eq>, <h:eq>X_{i, .} = x_i</h:eq>. De la même façon, on
      introduit <h:eq>X_l \in \mathbb{R} ^ {n_l, d}</h:eq> et <h:eq>y
	\in \mathbb{R} ^ n_l</h:eq> pour l'ensemble labellisé des
      données. Dans certains cas, les opérations sur <h:eq>y</h:eq>
      sont plus communément décrites en utilisant une notation
      matricielle, c'est-à-dire en considérant la
      matrice-colonne <h:eq>Y \in \mathbb{R}^{n_l, 1}</h:eq> telle que
      pour tout <h:eq>1 \leq i \leq n_l</h:eq>,
      <h:eq>Y_{i, 1} = y_i</h:eq>. On peut reprendre cette notation
      pour la valeur de la prédiction : pour un certain ensemble
      d'apprentissage, comprenant <h:eq>n_t</h:eq> individus, on
      obtient une matrice <h:eq>\hat Y \in \mathbb{R}^{n_t, 1}</h:eq>.
    </p>
    <h3>Approches de régression semi-supervisée</h3>
    <p>
      Nous allons présenter maintenant les approches les plus
      importantes pour l'apprentissage semi-supervisé en général, et
      plus particulièrement la régression semi-supervisée. En effet,
      l'apprentissage semi-supervisé concentre principalement des
      travaux de classification. Certains peuvent être directement
      adaptés au cadre de la régression, même si d'autres utilisent
      des normalisations ou des régularisations qui ne font sens que
      pour un problème de classification. Enfin, certains sont
      spécifiques à la régression.
    </p>
    <h4>Régression Laplacienne</h4>
    <p>
      Cette famille d'approches est très employée pour les problèmes
      d'apprentissage semi-supervisé, et permet de traiter
      indifféremment des problèmes de régression et des problèmes de
      classification. De plus, la simplicité de l'idée qu'elle
      développe lui procure une notoriété supplémentaire.
    </p>
    <h5>Champs gaussiens et fonctions harmoniques</h5>
    <p>
      L'idée développée par cette approche se résume en deux points
      <h:cite href="zhu_semi-supervised_nodate" />) :
    </p>
    <ol>
      <li>
	La prédiction sur l'ensemble labellisé doit correspondre aux
	valeurs de labels de l'apprentissage ;
      </li>
      <li>
	Si deux individus sont proches (dans un sens à définir), alors
	la prédiction pour ces deux individus doit être similaire.
      </li>
    </ol>
    <p>
      Tout d'abord, il faut indiquer dans quel sens deux individus
      sont proches. À partir de la matrice de données <h:eq>X</h:eq>,
      on construit un graphe, où chaque individu correspond à un nœud,
      et dans lequel deux individus sont reliés si la distance est
      suffisamment faible (ou si la similitude est suffisamment
      élevée). Dans la pratique, lorsque l'on trouve une approche qui
      mobilise un graphe des individus, la similarité retenue est
      presque toujours donnée au travers d'un noyau gaussien, aussi
      appelé <emph>radial basis function</emph> (<emph>RBF</emph>,
      <h:cite href="zhu_semi-supervised_nodate" />,
      <h:cite href="doquire_graph_2013" />,
      <h:cite href="alalga_soft-constrained_2016" />,
      <h:cite href="sousa_kernelized_nodate" />, par exemple) : si
      deux individus <h:eq>i</h:eq> et <h:eq>j</h:eq> ont pour
      caractéristiques <h:eq>x_i</h:eq> et <h:eq>x_j</h:eq>, la
      similarité <h:eq>M_{ij} \in \mathbb{R}</h:eq> s'exprime par :
    </p>
    <h:equation>
      M_{ij} = \mathrm{exp} \left(\frac {- \left\|x_i -
      x_j\right\|_2^2} {2 \sigma ^ 2}\right)
    </h:equation>
    <p>
      Ce qui introduit un hyperparamètre à fixer a priori, <h:eq>2
	\sigma^2 > 0</h:eq>, qui est aussi parfois
      noté <h:eq>\gamma</h:eq>, ou <h:eq>4 t</h:eq>
      (<h:cite href="belkin_manifold_2006" />). La
      matrice <h:eq>M</h:eq> ainsi créée est souvent
      appelée <h:eq>W</h:eq> pour désigner les poids du graphe.
    </p>
    <p>
      Dans les cas où les données sont en grande dimension, par
      exemple pour la classification de textes
      (<h:cite href="liu_semi-supervised_2006" />), la RBF ne peut pas
      s'appliquer directement, à cause de sa dépendance à la norme
      <h:eq>l_2</h:eq>, qui peut difficilement distinguer des
      distances entre individus en grande dimension. Par conséquent,
      on peut la remplacer par la similarité cosinus :
    </p>
    <h:equation>
      M_{ij} = \frac {\left&lt;x_i, x_j\right>} {\left\|x_i\right\| \left\|x_j\right\|}
    </h:equation>
    <p>
      Cette matrice <h:eq>M</h:eq> est généralement rendue
      parcimonieuse (<emph>sparse</emph>), pour faciliter
      les calculs quand le nombre d'individus est très élevé. En ce
      sens, on affecte souvent à 0 la valeur de <h:eq>M_{ij}</h:eq>
      si <h:eq>i</h:eq> et <h:eq>j</h:eq> sont trop éloignés,
      c'est-à-dire si <h:eq>x_i</h:eq> n'est pas un des <h:eq>k</h:eq>
      plus proches voisins de <h:eq>x_j</h:eq> et
      réciproquement <h:eq>x_j</h:eq> n'est pas non plus l'un
      des <h:eq>k</h:eq> plus proches voisins
      de <h:eq>x_i</h:eq>. (par exemple,
      <h:cite href="gunopulos_constrained_2011" /> ou
      <h:cite href="zhang_semi-supervised_2009" />).
    </p>
    <p>
      Dans tous les cas, on s'assure que la matrice <h:eq>M</h:eq>
      soit symétrique.
    </p>
    <p>
      Minimiser l'écart de prédiction entre deux individus proches
      revient en fait à minimiser :
    </p>
    <h:equation>
      \sum_{i_1 = 1}^N \sum_{i_2 = 1} ^ N M_{i_1 i_2} \left\|\hat
      y_{i_1} - \hat y_{i_2}\right\|_2^2
    </h:equation>
    <p>
      En développant le carré, on obtient :
    </p>
    <h:equation>
      \sum_{i_1 = 1} ^ N \sum_{i_2 = 1} ^ N M_{i_1 i_2} \hat y_{i_1} ^
      2 + \sum_{i_1 = 1} ^ N \sum_{i_2 = 1} ^ N M_{i_1 i_2} \hat
      y_{i_2} ^ 2 - 2 \sum_{i_1 = 1} ^ N \sum_{i_2 = 1} ^ N M_{i_1
      i_2} \hat y_{i_1} \hat y_{i_2}
    </h:equation>
    <p>
      En utilisant le fait que la matrice <h:eq>M</h:eq> est
      symétrique, on peut le ramener à :
    </p>
    <h:equation>
      2 \sum_{i = 1} ^ N \sum_{j = 1} ^ N M_{ij} \hat y_{i} ^ 2 - 2
      \sum_{i_1 = 1} ^ N \sum_{i_2 = 1} ^ N M_{i_1 i_2} \hat y_{i_1}
      \hat y_{i_2}
    </h:equation>
    <p>
      qui se simplifie en :
    </p>
    <h:equation>
      2 \sum_{i = 1} ^ N \left (\sum_{j = 1} ^ N M_{ij}\right) \hat
      y_i ^ 2 - 2 tr\left(\hat Y' M \hat Y\right)
    </h:equation>
    <p>
      Ceci fait apparaître la somme de chaque ligne de <h:eq>M</h:eq>,
      que l'on écrit dans une matrice diagonale <h:eq>D</h:eq> (de
      « degré », c'est-à-dire contenant sur la diagonale le degré de
      chaque nœud du graphe) :
    </p>
    <h:equation-x>
      D = \mathrm{diag} (M \mathbf{1})
    </h:equation-x>
    <p>
      Le problème revient donc à minimiser :
    </p>
    <h:equation>
      tr\left(\hat Y' (D - M) \hat Y\right)
    </h:equation>
    <p>
      ce qui fait apparaître tout naturellement la matrice Laplacienne
      du graphe, <h:eq>L = D - M</h:eq>.  En rajoutant la contrainte
      concernant la prédiction sur l'ensemble labellisé, on obtient le
      problème :
    </p>
    <h:mini id="gfhf">
      <h:variables>\hat Y \in \mathbb{R}^{n, 1}</h:variables>
      <h:objective>tr \left(\hat Y' L \hat Y\right)</h:objective>
      <h:add-constraint>
	<h:left>
	  \forall 1 \leq i \leq n,\quad}{\hat Y_{i} = Y_i
	</h:left>
      </h:add-constraint>
    </h:mini>
    <p>
      Ce problème d'optimisation est convexe, à condition que la
      matrice <h:eq>L</h:eq> soit semi-définie positive. Il est
      généralement employé pour des problèmes de classification
      multi-classes (<h:cite href="sousa_kernelized_nodate" />), ce
      qui demande une autre forme de normalisation pour la
      matrice <h:eq>L</h:eq>, de façon à avoir des prédictions
      positives et de somme 1. Pour des problèmes de régression, nous
      utiliserons principalement la normalisation la plus simple
      (<h:eq>L = D - M</h:eq>, <h:cite href="mifs" />).
    </p>
    <p>
      Ce problème fait partie de la famille de problèmes
      <emph>transductifs</emph>. Un problème d'apprentissage
      transductif permet d'obtenir une prédiction pour les individus
      non labellisés de l'ensemble d'apprentissage, cependant il est
      impossible de généraliser à de nouveaux cas.
    </p>
    <h5>Régularisation Laplacienne LapRLS</h5>
    <p>
      Le problème précédent d'apprentissage transductif peut se
      traduire en problème d'apprentissage inductif
      semi-supervisé. Résoudre un tel problème permet d'obtenir un
      modèle qui peut être utilisé pour obtenir une prédiction à
      partir de n'importe quel point de la distribution des données.
    </p>
    <p>
      L'algorithme LapRLS (<h:cite href="belkin_manifold_2006" />)
      peut être interprété comme une extension de l'algorithme
      précédent. Avec les notations suivantes :
    </p>
    <ul>
      <li>
	<h:eq>X \in \mathbb{R}^{N, d}</h:eq> désigne la matrice de
	données ;
      </li>
      <li>
	<h:eq>X_l \in \mathbb{R}^{n, d}</h:eq> désigne le
	sous-ensemble labellisé de cette matrice ;
      </li>
      <li>
	<h:eq>W \in \mathbb{R}^{d, 1}</h:eq> désigne le modèle ;
      </li>
    </ul>
    <p>
      la prédiction s'écrit tout simplement :
    </p>
    <h:equation>
      f \colon X \mapsto \hat Y = X W
    </h:equation>
    <p>
      Si l'on se concentre sur le problème de régression, on peut
      réécrire l'équation <h:ref href="#gfhf" /> en :
    </p>
    <h:mini>
      <h:variables>W \in \mathbb{R}^{d, 1}</h:variables>
      <h:objective>\mathrm{tr} \left((XW)' L (XW)\right)</h:objective>
      <h:add-constraint>
	<h:left>
	  \forall 1 \leq i \leq n}{(X_l W)_{i} = Y_i
	</h:left>
      </h:add-constraint>
    </h:mini>
    <p>
      Cette formulation n'est pas complète, car il n'est pas possible
      de résoudre la contrainte. Cependant, on peut utiliser une
      régression à la place, aux moindres carrés (<emph>Least
	Squares</emph>) : en introduisant un régulariseur <h:eq>\beta >
	0</h:eq>, le problème se transforme donc en :
    </p>
    <h:mini id="lapls">
      <h:variables>W \in \mathbb{R}^{d, 1}</h:variables>
      <h:objective>
	\left\|X_l W - Y\right\|_F^2 + \beta \mathrm{tr} \left((XW)' L
	(XW)\right)
      </h:objective>
    </h:mini>
    <p>
      Dans les cas où il est question d'apprentissage avec des données
      à haute dimension, c'est-à-dire où <h:eq>d > N</h:eq>, la
      régression aux moindres carrés ne fonctionne pas
      correctement. En effet, le modèle contient trop de paramètres,
      qui ne peuvent pas être déterminés par l'algorithme. Pour
      pallier ce problème, on introduit généralement un terme de
      régularisation supplémentaire, dit régularisation Ridge ou
      Tikhonov : en introduisant un hyperparamètre supplémentaire,
      <h:eq>\alpha > 0</h:eq>, on obtient :
    </p>
    <h:mini id="laprls">
      <h:variables>W \in \mathbb{R}^{d, 1}</h:variables>
      <h:objective>
	\left\|X_l W - Y\right\|_F^2 + \alpha \left\|W\right\|_F^2 +
	\beta \mathrm{tr} \left((XW)' L (XW)\right)
      </h:objective>
    </h:mini>
    <p>
      Ces deux formulations (<h:ref href="#lapls" /> et
      <h:ref href="#laprls" />) sont la base de nombreux algorithmes
      d'apprentissage semi-supervisé. Le problème
      <h:ref href="#laprls" /> peut notamment être résolu avec une
      solution analytique :
    </p>
    <h:equation>
      W = [(X_l' X_l + \alpha I + \beta X'LX]^{-1} X_l' Y
    </h:equation>
    <p>
      Cette résolution de système linéaire nécessite un temps de
      calcul en <h:eq>\mathcal{O} (N ^ 2 d ^ 3)</h:eq>, ce qui est
      considérable. Pour les approches effectuant une descente de
      gradient, le gradient se calcule en :
    </p>
    <h:equation>
      \nabla_W \mathcal {L} = 2 X_l' [X_l W - Y] + 2 \alpha W + 2
      \beta X'LXW
    </h:equation>
    <p>
      Dans les cas où la dimension <h:eq>d</h:eq> est plus grande que
      le nombre d'individus <h:eq>N</h:eq>, le théorème de
      représentation (<h:cite href="belkin_manifold_2006" />) nous
      permet d'introduire une fonction à noyau <h:eq>\kappa \colon
	\mathbb{R}^d \times \mathbb{R} ^ d \to \mathbb{R}</h:eq> et de
      ne considérer comme variables que les interactions entre un
      individu et le jeu d'apprentissage. On applique donc la
      fonction <h:eq>\kappa</h:eq> entre tous les individus de
      l'ensemble d'apprentissage (à gauche et à droite), ce qui donne
      une matrice <h:eq>K \in \mathbb{R}^{N, N}</h:eq>. La solution
      fait intervenir une inversion de la matrice <h:eq>K</h:eq>, ce
      qui n'est pas recommandable du fait de sa dimension (<h:eq>N
	\times N</h:eq>). On voit rarement cette approche appliquée dans
      les travaux récents, puisque selon l'hypothèse de
      l'apprentissage semi-supervisé, on dispose d'un grand nombre
      d'individus non labellisés.
    </p>
    <h4>Algorithme LapSVM</h4>
    <p>
      L'algorithme SVR est une adaptation de SVM pour la régression
      <h:cite href="drucker1997support" />. Le SVM a été lui-même
      adapté au cadre semi-supervisé avec le <emph>SVM
	transductif</emph>, d'une part, et avec une régression
      Laplacienne d'autre part
      (<h:cite href="chapelle_optimization_2008" />,
      <h:cite href="bennett_semi-supervised_1998" />). Cependant, la
      régularisation Laplacienne peut aussi s'utiliser avec les SVM en
      régression (<h:cite href="chen2012laplacian" />).
    </p>
    <p>
      Dans ce cas, on utilise la fonction de
      coût <h:eq>\epsilon</h:eq>-insensible, où <h:eq>\epsilon</h:eq>
      est un hyperparamètre, en combinaison de la matrice Laplacienne
      d'un graphe que l'on aura calculé de la même façon qu'à la
      section précédente.
    </p>
    <p>
      On peut donc définir le problème d'apprentissage du LapSVM en
      introduisant une marge supérieure <h:eq>\xi</h:eq> et une marge
      inférieure <h:eq>\xi^{*}</h:eq> pour chaque point labellisé, et
      en pénalisant les modèles qui donnent une prédiction hors de ces
      marges.
    </p>
    <h:mini id="lapsvr">
      <h:variables>W \in \mathbb{R}^{d, 1}, \xi, \xi^*</h:variables>
      <h:objective>
	\left\|W\right\|_F^2 + \alpha \sum_{i = 1} ^ {n_l} \left(\xi_i
	+ \xi_i^{*}\right) + \beta \mathrm{tr} \left(W'X'LXW\right)
      </h:objective>
      <h:add-constraint>
	<h:left>\forall 1 \leq i \leq n_l,\quad</h:left>
	<h:right>X_{i}W \leq Y_{i} + \epsilon + \xi_i</h:right>
      </h:add-constraint>
      <h:add-constraint>
	<h:left>\forall 1 \leq i \leq n_l,\quad</h:left>
	<h:right>X_{i}W \geq Y_{i} - \epsilon - \xi_i^*</h:right>
      </h:add-constraint>
      <h:add-constraint>
	<h:left>\forall 1 \leq i \leq n_l,\quad</h:left>
	<h:right>\xi_i \geq 0 \land \xi_i^* \geq 0</h:right>
      </h:add-constraint>
    </h:mini>
    <p>
      On constate que la modification du SVM pour la régression
      apportée pour inclure cet algorithme dans le cadre
      semi-supervisé revient exactement à ajouter un terme de
      régularisation Laplacienne.
    </p>
    <p>
      Par ailleurs, une modification, nommée LapESVR
      (<h:cite href="chen2012laplacian" />), introduit une nouvelle variable,
      <h:eq>V</h:eq>, qui fait office <emph>d'embedding</emph> de
      labels intermédiaires, d'où le nom de
      l'algorithme. Concrètement, on introduit un nouvel
      hyperparamètre <h:eq>\gamma</h:eq>, et on cherche à résoudre
      simultanément les contraintes suivantes :
    </p>
    <ol>
      <li>
	Les valeurs du label <h:eq>Y</h:eq> sont bien reconstruites
	par <h:eq>V</h:eq> sur l'ensemble labellisé ;
      </li>
      <li>
	Si deux individus sont proches, la valeur des lignes
	de <h:eq>V</h:eq> doit aussi être proche ;
      </li>
      <li>
	Le modèle permet de bien reconstruire <h:eq>V</h:eq> avec la
	fonction de coût <h:eq>\epsilon</h:eq>-insensible.
      </li>
    </ol>
    <p>
      Il s'agit donc de résoudre le problème suivant :
    </p>
    <h:mini id="lapesvr">
      <h:variables>W \in \mathbb{R}^{d, 1}, \xi, \xi^*, V</h:variables>
      <h:objective>
	\left\|W\right\|_F^2 + \alpha \sum_{i = 1} ^ n \left(\xi_i +
	\xi_i^{*}\right) + \beta \mathrm{tr} \left(W'X'LXW\right)
      </h:objective>
      <h:break-objective>
	+ \gamma \mathrm{tr} \left((V - Y)'J(V - Y)\right)
      </h:break-objective>
      <h:add-constraint>
	<h:left>\forall 1 \leq i \leq n,\quad</h:left>
	<h:right>X_{i}W \leq V_{i} + \epsilon + \xi_i</h:right>
      </h:add-constraint>
      <h:add-constraint>
	<h:left>\forall 1 \leq i \leq n,\quad</h:left>
	<h:right>X_{i}W \geq V_{i} - \epsilon - \xi_i^*</h:right>
      </h:add-constraint>
      <h:add-constraint>
	<h:left>\forall 1 \leq i \leq n,\quad</h:left>
	<h:right>\xi_i \geq 0 \land \xi_i^* \geq 0</h:right>
      </h:add-constraint>
    </h:mini>
    <p>
      Avec la matrice diagonale <h:eq>J</h:eq> qui fait office
      d'indicatrice des individus labellisés :
    </p>
    <ul>
      <li>
	hors de la diagonale, elle vaut 0 : <h:eq>\forall i \neq j,
	  J_{ij} = 0</h:eq>
      </li>
      <li>
	sur la diagonale, elle indique les <h:eq>n</h:eq> premiers
	individus : <h:eq>\forall i, J_{ii} = [i \leq n]</h:eq>
      </li>
    </ul>
    <h4>Méta-algorithmes de régression semi-supervisée</h4>
    <p>
      Parmi les approches d'apprentissage semi-supervisé, on trouve
      aussi des méta-méthodes qui fonctionnent à partir d'un
      apprentissage supervisé.
    </p>
    <h5>Self-training</h5>
    <p>
      Le <emph>self-training</emph> est un algorithme d'apprentissage
      semi-supervisé relativement simple <h:cite href="selftraining"
						 />. Étant donné un régresseur de base, <h:eq>h \colon
	\mathcal{X} \to \mathbb{R}</h:eq>, on obtient un modèle
      semi-supervisé en itérant l'algorithme suivant :
    </p>
    <ol>
      <li>
	Faire un apprentissage de <h:eq>h</h:eq> sur l'ensemble
	labellisé (<h:eq>X_l</h:eq>, <h:eq>Y</h:eq>) ;
      </li>
      <li>
	Obtenir une prédiction sur la partie non
	supervisée : <h:eq>\hat Y \gets h (X)</h:eq> ;
      </li>
      <li id="self-pain-point">
	Sélectionner les indices des prédictions pour lesquelles la
	confiance est la plus grande, <h:eq>i</h:eq>. Si la confiance
	est trop faible pour tous les points non labellisés, arrêter
	l'algorithme ;
      </li>
      <li>
	Transférer <h:eq>X_{i.}, \hat Y_{i.}</h:eq> depuis l'ensemble
	non labellisé vers l'ensemble labellisé.
      </li>
    </ol>
    <p>
      Cet algorithme n'est pas complètement spécifié, il reste à
      définir comment l'étape <h:ref href="#self-pain-point" /> est
      implémentée. Pour certains classifieurs, comme la régression
      logistique <h:cite href="cramer2002origins" /> ou le SVM, il est
      possible d'utiliser les scores d'appartenance à une classe.
    </p>
    <p>
      Dans le cas d'un apprentissage pour la classification, on peut
      également utiliser une méthode ensembliste pour remplacer
      <h:eq>h</h:eq>. Dans ce cas, <h:eq>h</h:eq> est composé d'un
      ensemble <h:eq>\left(h_i\right)_{i = 1} ^ c</h:eq> de
      classifieurs, ce qui permet de définir pour un point de
      l'ensemble non-labellisé <h:eq>x</h:eq> la prédiction comme
      étant la classe majoritaire de l'ensemble <h:eq>\left\{h_i
      (x)\right\}_{i = 1} ^ c</h:eq>. En ce qui concerne la confiance
      dans la prédiction, on peut considérer l'entropie.
    </p>
    <p>
      Dans le cas de la régression, on ne peut pas utiliser d'approche
      fournissant directement un score de confiance. On peut cependant
      utiliser des méthodes ensemblistes, similaires au cas de
      classification <h:cite href="levatic_self_training_2017"
      />. Dans ce cas, un ensemble de régresseurs est utilisé à la
      place de <h:eq>h</h:eq>. Chaque régresseur donne une prédiction
      pour chaque individu non labellisé. La prédiction
      de <h:eq>h</h:eq> correspond à la moyenne des prédictions de
      chacun des régresseurs, et la confiance est calculée à partir de
      la variance des prédictions des régresseurs. Lorsque la variance
      augmente, la confiance diminue.
    </p>
    <p>
      Cette mesure de confiance est particulièrement intéressante
      parce qu'il est possible d'utiliser n'importe quel régresseur
      pour les <h:eq>\left(h_i\right)_i</h:eq>. Par conséquent, cette
      méthode permet de construire un algorithme d'apprentissage
      semi-supervisé ensembliste à partir d'un algorithme de
      régression supervisée <emph>quelconque</emph>.
    </p>
    <p>
      Les auteurs dans <h:cite href="levatic_self_training_2017" />
      définissent aussi une autre mesure de confiance, qui ne
      s'applique que dans le cas d'une forêt aléatoire. Dans ce cas,
      il est possible de suivre le parcours d'un individu à travers
      chacun des arbres. Si deux individus aboutissent à la même
      feuille pour un certain nombre d'arbres, on peut considérer
      qu'ils sont voisins. Étant donné que chaque régresseur de
      l'ensemble a été entraîné à partir d'un jeu d'apprentissage
      différent, sélectionné par échantillonnage avec remise, pour
      chaque régresseur, il existe des points de l'ensemble labellisé
      qui n'ont en fait pas servi pour l'entraîner : ce sont les
      exemples « hors du lot » d'apprentissage (<emph>Out of
      bag</emph>). Pour évaluer la confiance d'un point de l'ensemble
      d'apprentissage, on peut sélectionner les individus de
      l'ensemble d'apprentissage proches, et pour chacun de ces
      voisins labellisés, évaluer l'erreur de régression des
      régresseurs qui n'ont pas utilisé ce point pour
      l'entraînement. On obtient donc une estimation de l'erreur pour
      chacun des points de l'ensemble d'apprentissage non labellisé,
      qui est l'opposé de la confiance accordée à la prédiction pour
      ce point.
    </p>
    <p>
      Il est nécessaire de définir un critère d'arrêt pour
      l'algorithme. En effet, si celui-ci se poursuit jusqu'à
      épuisement du jeu d'apprentissage non-labellisé, il est possible
      que la performance se dégrade. On choisit donc généralement un
      seuil de confiance, en-dessous duquel on ne considèrera pas un
      point de l'ensemble non labellisé. On peut également conserver
      un ensemble de validation sur lequel évaluer chaque itération de
      l'algorithme, et l'arrêter en cas de dégradation de
      performance. <h:cite href="levatic_self_training_2017" />
      propose ansi de réutiliser les points <emph>out-of-bag</emph>
      pour évaluer la performance de l'algorithme.
    </p>
    <p>
      Le méta-algorithme <emph>self training</emph> peut être vu comme
      étant <emph>transductif</emph>, puisque l'algorithme ne peut pas
      généraliser la prédiction à un nouveau point. En effet, si un
      point est ajouté dans l'ensemble non labellisé, l'ordre de
      sélection peut changer à partir d'un certain point, et toutes
      les prédictions et sélections suivantes seront modifiées.
    </p>
    <p>
      En revanche, si le régresseur <h:eq>h</h:eq> (ou les
      <h:eq>\left(h_i\right)_{i = 1} ^ c</h:eq>) sont inductifs, il
      peut être utilisé tel quel pour effectuer une prédiction sur de
      nouveaux individus. Ceci doit être considéré pour une
      application d'un algorithme de <emph>self-training</emph>, mais
      les études expérimentales n'ont pas besoin de s'y intéresser.
    </p>
    <p>
      Le self-training est une méthode qui utilise les prédictions
      d'un algorithme pour renforcer le jeu d'apprentissage de ce même
      algorithme. En conséquence, il souffre d'un problème de biais de
      confirmation <h:cite href="arazo_pseudo-labeling_nodate" />, ce
      qui peut dégrader significativement les performances dans des
      cas similaires.
    </p>
    <h5>Co-training</h5>
    <p>
      Le <emph>co-training</emph> <h:cite href="blum_combining_1998"
      /> peut être vu comme une extension de l'algorithme de
      <emph>self-training</emph>. Pour éviter de renforcer les erreurs
      de l'algorithme à chaque itération, on introduit une certaine
      forme de variabilité. Traditionnellement, l'ensemble des
      variables est séparé en deux « vues » différentes. Par exemple,
      une page web peut être décrite par le texte qui y figure, mais
      aussi par les liens qui s'y trouvent. Chacune des vues est donc
      un ensemble de variables. Les vues doivent être suffisantes pour
      obtenir une classification des pages web, mais l'information ne
      doit pas être répétée.
    </p>
    <p>
      Une modification simple de l'algorithme de co-training peut
      avoir lieu. Pour rappel, on dispose d'un classifieur de base
      <h:eq>h</h:eq>. Les deux vues sont séparées en <h:eq>X_1</h:eq>
      et <h:eq>X_2</h:eq> ; se rapporter à la figure
      <h:ref href="#fig-multi-vues"/>.
    </p>
    <figure>
      <img src="images/fig-multi-vues.svg" />
      <figcaption id="fig-multi-vues">
	Apprentissage semi-supervisé multi-vues pour
	le <emph>co-training</emph>
      </figcaption>
    </figure>
    <p>
      Le principal consiste à :
    </p>
    <ol>
      <li>
	Faire un apprentissage d'une première instance du classifieur,
	<h:eq>h_1</h:eq>, de <h:eq>{X_l}_1</h:eq> vers <h:eq>Y</h:eq> ;
      </li>
      <li>
	Effectuer la prédiction pour l'ensemble non labellisé :
	prédire <h:eq>\hat Y_1</h:eq> à partir de <h:eq>X_1</h:eq>
	avec le classifieur <h:eq>h_1</h:eq>, et <h:eq>\hat Y_2</h:eq>
	à partir de <h:eq>X_2</h:eq> avec le
	classifieur <h:eq>h_2</h:eq>. Calculer également la confiance
	dans la prédiction pour les deux algorithmes ;
      </li>
      <li>
	Augmenter l'ensemble d'apprentissage du
	classifieur <h:eq>h_2</h:eq> avec les prédictions les plus
	confiantes de <h:eq>h_1</h:eq>, et vice versa.
      </li>
    </ol>
    <p>
      Visuellement, on peut se fier à la figure
      <h:ref href="#fig-co-training" /> à titre d'exemple
      illustratif. En haut à gauche, le début d’une itération montre
      que certains individus sont labellisés pour les
      régresseurs <h:eq>h_1</h:eq> et <h:eq>h_2</h:eq> (en blanc), et
      d’autres non (en gris). En haut à droite, chaque régresseur
      effectue une prédiction, et on retient celles de confiance
      maximale. En bas à gauche, les valeurs prédites sont
      communiquées à l’autre régresseur. En bas à droite, les nouveaux
      individus sont labellisés.
    </p>
    <figure>
      <img src="images/fig-co-training.svg" />
      <figcaption id="fig-co-training">
	Apprentissage semi-supervisé avec le <emph>co-training</emph>
      </figcaption>
    </figure>
    <p>
      En ce qui concerne l'adaptation à la régression, on trouve
      principalement l'algorithme <emph>COREG</emph>
      <h:cite href="zhou_semi-supervised_2005"/>, qui, au lieu
      d'utiliser plusieurs vues pour entraîner deux instances
      différentes de l'algorithme, utilise deux algorithmes
      différents. Il s'agit de régresseurs aux plus proches voisins,
      avec deux indices de Minkowski différents : <h:eq>p = 1</h:eq>
      et <h:eq>p = 2</h:eq>. C'est-à-dire que les deux régresseurs
      produisent une moyenne des labels des <h:eq>k</h:eq> plus
      proches voisins, le premier avec la distance <h:eq>l_1</h:eq>,
      le second avec la distance <h:eq>l_2</h:eq>.
    </p>
    <p>
      Pour évaluer la certitude de la prédiction d'un des régresseurs,
      l'algorithme vérifie si l'erreur de régression locale diminue en
      ajoutant le point. Pour ce faire, on sélectionne <h:eq>k</h:eq>
      voisins du point considéré dans l'ensemble d'apprentissage
      labellisé, et on apprend une nouvelle instance du régresseur
      <h:eq>h_i</h:eq>, <h:eq>h_i'</h:eq>, mais uniquement sur ce
      voisinage agrémenté du point considéré. En comparant les résidus
      de <h:eq>h_i</h:eq> et <h:eq>h_i'</h:eq> sur les voisins
      labellisés, on peut savoir si ajouter le point augmentera ou pas
      les performances locales de l'algorithme.
    </p>
    <p>
      Il est à noter que cet algorithme fonctionne grâce au fait que
      les régresseurs sont des <h:eq>k</h:eq>-NN (<h:eq>k</h:eq> plus
      proches voisins). En effet, il faut effectuer un apprentissage à
      chaque itération, et à chaque point non encore labellisé.
    </p>
    <h3>
      Sélection de variables pour l'apprentissage semi-supervisé
    </h3>
    <p>
      La sélection de variables consiste à étudier l'ensemble des
      variables du jeu de données et à n'en retenir qu'un petit
      nombre. Il y a plusieurs avantages à effectuer une sélection de
      variables, surtout dans les applications à grande dimension (par
      exemple, des applications textuelles) :
    </p>
    <ol>
      <li>
	La dimension du problème est réduite, ce qui permet
	d'appliquer d'autres algorithmes ;
      </li>
      <li>
	Le modèle est plus interprétable, c'est-à-dire que la
	connaissance extraite par l'apprentissage est compréhensible
	par l'être humain.
      </li>
    </ol>
    <p>
      En ce qui concerne l'apprentissage semi-supervisé, il existe
      plusieurs méthodes de sélection de variables qui permettent de
      tirer profit de la présence d'individus non labellisés dans le
      jeu d'apprentissage.
    </p>
    <p>
      L'évaluation de variable est une approche de sélection de
      variables qui donne un score à chacune des variables. Pour en
      effectuer la sélection, il suffit donc simplement de ne
      conserver que les variables dont le score est le plus élevé.
    </p>
    <p>
      Le cadre d'apprentissage semi-supervisé appelle bien souvent la
      construction d'un graphe et son exploitation au travers de la
      matrice Laplacienne. Pour l'évaluation des variables, on dispose
      du <emph>score Laplacien</emph>
      <h:cite href="he_laplacian_nodate"/>. La construction du graphe
      utilise encore une fois le même procédé : les <h:eq>k</h:eq>
      plus proches voisins (symétriques) sont reliés dans un graphe,
      et on affecte à l'arête entre ces voisins un poids calculé à
      partir de la fonction RBF. Une fois la matrice
      d'adjacence <h:eq>M</h:eq> obtenue, on calcule la matrice de
      degré <h:eq>D</h:eq> comme étant la diagonale de la somme des
      lignes (ou des colonnes) de <h:eq>M</h:eq>, et on utilise
      toujours la normalisation <h:eq>L = D - M</h:eq>.
    </p>
    <p>
      Notons <h:eq>X^j</h:eq> la colonne <h:eq>j</h:eq> de la matrice
      <h:eq>X</h:eq>. Ainsi, <h:eq>X^j</h:eq> contient les données de
      la <h:eq>j</h:eq><sup>ième</sup> variable.
    </p>
    <p>
      Une première étape consiste à normaliser chaque variable afin
      d'en retirer la moyenne une fois appliquée sur le graphe :
    </p>
    <h:equation>
      \tilde{X}^j \gets X^j - \frac {\sum_{i = 1} ^ N X_{ij} D_{ii}}
      {\sum_{i = 1}^N D_{ii}}
    </h:equation>
    <p>
      Ainsi, pour chaque variable <h:eq>X^j</h:eq>, le score Laplacien
      est égal à :
    </p>
    <h:equation>
      \frac {\left(\tilde{X}^j\right)'L\tilde{X}^j}
      {\left(\tilde{X}^j\right)'D\tilde{X}^j}
    </h:equation>
    <p>
      Cette méthode permet donc d'effectuer une sélection de variables
      non supervisée.
    </p>
    <p>
      L'utilisation du score Laplacien peut aussi être détourné pour
      une sélection de variables semi-supervisée. Des travaux
      (<h:cite href="barkia_semi-supervised_2011"/>,
      <h:cite href="alalga_soft-constrained_2016"/>,
      <h:cite href="zhao_semi-supervised_2007"/>,
      <h:cite href="benabdeslem_efficient_2014"/>,
      <h:cite href="hindawi_local--global_2013"/>) se sont concentrés
      sur les approches en classification ; cependant on peut aussi
      l'utiliser pour des applications de régression. L'algorithme
      SSLS <h:cite href="doquire_graph_2013"/> se sert de la
      définition du score Laplacien non-supervisé, ainsi que d'une
      adaptation de ce score pour la régression supervisée, pour
      fournir un score semi-supervisé.
    </p>
    <p>
      Le score Laplacien supervisé pour la régression est très
      similaire au score Laplacien non supervisé : on commence par
      construire un graphe des individus, labellisés cette fois, mais
      au lieu de considérer la distance entre individus selon leurs
      variables, on considère la distance entre leurs labels. Ainsi,
      on obtient une matrice <h:eq>M^{\mathrm{sup}}</h:eq> définie
      pour une paire d'indices d'individus labellisés <h:eq>i, j \leq
      n_l</h:eq> :
    </p>
    <h:equation>
      M^{\mathrm{sup}}_{i, j} = \mathrm{exp} \left(\frac{- \left(y_i -
      y_j\right)^2} {2 \sigma^2}\right)
    </h:equation>
    <p>
      Ce graphe peut aussi être rendu <emph>éparse</emph> en ne
      sélectionnant que les arêtes les plus fortes. Le score
      semi-supervisé consiste donc à combiner ces deux formulations
      pour obtenir le graphe suivant :
    </p>
    <h:equation>
      M^{\mathrm{semi}}_{i, j} = 
      \begin{cases}
      \alpha M_{i, j} ^ {\mathrm{sup}}, &amp; i, j \leq n \\
      M_{i, j}, &amp; i > n \vee j > n
      \end{cases}
    </h:equation>
    <p>
      avec <h:eq>M</h:eq> le score Laplacien non supervisé vu plus
      haut, et <h:eq>\alpha</h:eq> un nouvel hyperparamètre qui permet
      de donner plus ou moins d'importance à l'utilisation des
      individus labellisés par rapport aux individus non labellisés.
    </p>
    <h2>Régression multi-labels</h2>
    <p>
      L'apprentissage multi-tâches consiste à réutiliser un modèle ou
      une partie d'un modèle afin de résoudre plusieurs tâches
      d'apprentissage simultanément. C'est un cadre très utilisé dans
      l'apprentissage à base de données textuelles, car les
      différentes tâches d'apprentissage sont reliées. Dans
      <h:cite href="collobert2008unified"/>, l'apprentissage
      multi-tâches s'effectue en réutilisant certaines couches du
      modèle dans un réseau de neurones profond.
    </p>
    <p>
      La régression multi-labels est un cas particulier de la
      régression multi-tâches. Dans le cadre de la régression
      multi-labels, toutes les tâches sont continues et à une
      dimension. La prédiction pour un individu consiste en exactement
      une valeur pour chacun des labels. Cette distinction peut être
      comprise en comparant un jeu de données multi-tâches très
      utilisé, <emph>schools</emph>
      <h:cite href="argyriou2008spectral"/>, et un jeu de données
      multi-labels, <emph>sarcos</emph> <h:cite href="sarcos"/>.
    </p>
    <p>
      Le jeu de données <emph>schools</emph> est une agrégation des
      résultats d'élèves différents dans des écoles différentes ; pour
      chaque école, la variable cible est la note de l'élève, et les
      variables consistent en des constantes par école et des
      variables descriptives de l'élève. Tous les élèves sont décrits
      dans le même espace de variables, on peut donc considérer le
      problème comme multi-tâches. Cependant, chaque élève n'est
      inscrit que dans une seule école, il est donc impossible de
      considérer ce jeu de données comme multi-tâches.
    </p>
    <p>
      En comparaison, <emph>sarcos</emph> est tiré d'un robot, dont on
      a mesuré les positions, vitesses et accélérations des
      articulations, et dont on cherche à prédire les moments aux
      articulations. Cette fois-ci, il s'agit d'un jeu de données
      multi-labels puisque chaque mesure donne une valeur pour tous
      les labels.
    </p>
    <p>
      L'apprentissage multi-labels a concerné historiquement des
      problèmes de classification binaire, il faut donc faire
      attention à ne pas le confondre avec la classification
      multi-classes. Dans l'apprentissage multi-labels, on suppose que
      les labels partagent de l'information. On peut notamment
      s'intéresser à la corrélation entre labels.
    </p>
    <h3>Métriques de régression multi-labels</h3>
    <p>
      Il y a différentes façons d'évaluer un algorithme de régression
      multi-labels. On cherche en effet à comparer les résultats de la
      prédiction, <h:eq>\hat Y \in \mathbb{R}^{d, m}</h:eq>, avec les
      vraies valeurs, <h:eq>Y \in \mathbb{R}^{d, m}</h:eq>.
    </p>
    <p>
      On note :
    </p>
    <ul>
      <li>
	la moyenne du label <h:eq>1 \leq k \leq m</h:eq> : <h:eq>\bar
	Y_k</h:eq> ;
      </li>
      <li>
	la matrice moyenne, <h:eq>\bar Y \in \mathbb{R}^{n_t,
	m}</h:eq>, définie par : <h:eq>\bar Y_{i, k} = \left[\bar
	Y_k\right]_{i, k}</h:eq>.
      </li>
    </ul>
    <p>
      Les métriques usuelles de régression mono-label peuvent être
      réutilisées pour définir des métriques multi-labels. Pour
      rappel, on trouve :
    </p>
    <ul>
      <li>
	la <emph>RMSE</emph>, pour <emph>root-mean-squared
	error</emph>, i.e. la racine de l'erreur quadratique moyenne ;
      </li>
      <li>
	la <emph>MAE</emph>, pour <emph>mean absolute error</emph>,
	i.e. erreur absolue moyenne ;
      </li>
      <li>
	les métriques relatives : <emph>RRSE</emph> pour <emph>root of
	  relative squared error</emph>, i.e. racine de l'erreur
	  quadratique relative, et <emph>RAE</emph> pour <emph>root of
	  absolute error</emph>, i.e. racine de l'erreur absolue. Ces
	  métriques expriment le rapport entre la métrique associée à
	  la prédiction et la métrique associée à la prédiction
	  constante de la moyenne du label ;
      </li>
      <li>
	le coefficient de corrélation <emph>CC</emph> entre <h:eq>\hat
	  Y_{.1}</h:eq> et <h:eq>Y_{.1}</h:eq>.
      </li>
    </ul>
    <p>
      L'extension de ces métriques en multi-labels consiste à définir
      une métrique <emph>moyenne</emph> ou <emph>macro</emph>, et une
      métrique <emph>micro</emph>. La métrique moyenne, préfixée par
      un « a » pour <emph>average</emph>, consiste à calculer la
      métrique sur tous les labels et à en retenir la moyenne. La
      métrique micro, préfixée par un « µ », consiste à mettre bout à
      bout les labels pour appliquer la métrique mono-label.
    </p>
    <p>
      En ce qui concerne la métrique <emph>MAE</emph>, il n'y a pas de
      différence, puisqu'on peut intervertir l'ordre des
      sommations. On ne conservera donc que la <emph>aMAE</emph>.
    </p>
    <h:equation>
      \begin{aligned}
      \mathbf{\mathrm{aRMSE}} &amp;= \frac 1 m \sum_{k = 1} ^ m \sqrt{\frac 1 n_t \sum_{i = 1} ^ {n_t} \left(\hat Y_{i, k} - Y_{i, k}\right) ^ 2} &amp;
      \mathrm{\mu{}RMSE} &amp;= \sqrt{\frac 1 {n_t  m} \sum_{i, k = 1} ^ {n_t, m} \left(\hat Y_{i, k} - Y_{i, k}\right) ^ 2} \\
      \mathrm{aMAE} &amp;= \frac 1 {n_t m} \sum_{i, k = 1} ^ {n_t, m} \left|\hat Y_{i, k} - Y_{i, k}\right| &amp;\quad&amp;\quad \\
      \mathrm{aRRSE} &amp;= \frac 1 m \sum_{k = 1} ^ m \sqrt {\frac {\sum_{i = 1} ^ {n_t} \left(\hat Y_{i, k} - Y_{i, k}\right) ^ 2} {\sum_{i = 1} ^ {n_t} \left(\bar Y_{k} - Y_{i, k}\right) ^ 2}} &amp;
      \mathrm{\mu{}RRSE} &amp;= \sqrt {\frac {\sum_{i, k = 1} ^ {n_t, m} \left(\hat Y_{i, k} - Y_{i, k}\right)^2} {\sum_{i, k = 1} ^ {n_t, m} \left(\bar Y_{k} - Y_{i, k}\right)^2}} \\
      \mathrm{aRAE} &amp;= \frac 1 m \sum_{k = 1} ^ m \frac {\sum_{i = 1} ^ {n_t} \left|\hat Y_{i, k} - Y_{i, k}\right|} {\sum_{i = 1} ^ {n_t} \left|\bar Y_{k} - Y_{i, k}\right|} &amp;
      \mathrm{\mu{}RAE} &amp;= \frac {\sum_{i, k = 1} ^ {n_t, m} \left| \hat Y_{i, k} - Y_{i, k}\right|} {\sum_{i, k = 1} ^ {n_t, m} \left| \bar Y_{k} - Y_{i, k}\right|} \\
      \mathrm{aCC} &amp;= \frac 1 m \sum_{k = 1} ^ m \frac {\sum_{i = 1} ^ {n_t} \left(\hat Y_{i, k} - \bar {\hat Y}_{k}\right) \left(Y_{i, k} - \bar Y_{k}\right)} {\left\|\hat Y_{., k} - \bar {hat Y}_{k}\right\| \left\|Y_{., k} - \bar Y_{k}\right\|} &amp;
      \mathrm{\mu{}CC} &amp;= \frac {\mathrm{tr} \left(\left(\hat Y - \bar {\hat Y}\right)'\left(Y - \bar Y\right)\right)} {\left\|\hat Y - \bar {\hat Y}\right\|_F \left\|Y - \bar Y\right\|_F}
      \end{aligned}
    </h:equation>
    <p>
      Parmi toutes ces métriques, la <emph>aRMSE</emph> est la plus
      employée.
    </p>
    <h3>Chaînes de régresseurs pour l'apprentissage multi-labels</h3>
    <p>
      Nous allons commencer par étudier les approches algorithmiques
      qui permettent de convertir un régresseur mono-label en
      régresseur multi-labels
      <h:cite href="spyromitros_xioufis_multi_target_2016"/>.
    </p>
    <h4><emph>Stacking</emph> pour la régression multi-labels</h4>
    <p>
      Pour réutiliser l'information des labels, l'approche de
      transformation la plus populaire est l'empilement de régresseurs
      (<emph>stacking</emph>). Dans ce contexte, un régresseur est
      entraîné pour chaque label. On obtient un nouvel espace de
      description des individus, en combinant les variables du jeu
      d'apprentissage et les valeurs des labels. Un deuxième ensemble
      de régresseurs est entraîné, ce qui permet d'effectuer une
      prédiction en deux temps tout en conservant de l'information
      entre tous les labels.
    </p>
    <h4>Chaînes de régresseurs</h4>
    <p>
      Il est possible de développer cette approche. Pour construire
      une chaîne de régresseurs, il faut sélectionner un ordre des
      labels, puis pour chacun, entraîner un régresseur pour obtenir
      une prédiction pour ce label à partir de l'ensemble des
      variables ainsi que l'ensemble des prédictions pour les labels
      précédemment sélectionnés. La prédiction se fait dans le même
      ordre, en utilisant les prédictions précédentes. On obtient
      l'algorithme <emph>RCC</emph> pour chaîne de régresseurs
      corrigée (<emph>regressor chains corrected</emph>, la correction
      venant du fait que chaque étape effectue une prédiction à partir
      des prédictions et non des labels).
    </p>
    <h4>Chaînes de régresseurs ensemblistes</h4>
    <p>
      Cette méthode ne donne pas le même résultat selon l'ordre de
      sélection des labels. C'est un problème, car la prédiction pour
      le premier label ne peut pas s'appuyer sur la prédiction des
      autres : il est de fait traité comme un problème mono-label. Ce
      problème est résolu en prenant plusieurs ordres différents, et
      en effectuant une prédiction ensembliste, où la valeur prédite
      pour chaque label est la moyenne des valeurs prédites par chaque
      ordre de sélection.
    </p>
    <h3>Approches portant sur la régularisation multi-labels</h3>
    <p>
      En ce qui concerne les approches de régression, l'optimisation
      de méthodes de régularisation multi-labels pose un problème
      supplémentaire par rapport à la régression mono-label. En effet,
      si l'on veut appliquer une simple régularisation Ridge en
      multi-labels, la solution est simple à calculer :
    </p>
    <h:equation>
      W = [X' X + \alpha I] ^ {-1} X' Y
    </h:equation>
    <p>
      Malheureusement, en ajoutant des régularisations relatives aux
      labels, par exemple en remplaçant le terme Ridge
      par <h:eq>\alpha \left\|WA\right\|</h:eq> avec <h:eq>A</h:eq>
      une matrice quelconque, on obtient :
    </p>
    <h:equation>
      \left[[X' X] \otimes I_m + \alpha I_d \otimes [A A']\right] ^{-1} X' Y
    </h:equation>
    <p><h:eq>I_m</h:eq> (<h:eq>I_d</h:eq>) est la matrice identité
      de dimension <h:eq>m</h:eq> (<h:eq>d</h:eq>) et <h:eq>\_ \otimes
      \_</h:eq> désigne le produit de Kronecker. La dimension du
      système à résoudre n'est donc plus <h:eq>d \times d</h:eq>, mais
      bien <h:eq>d \times d \times m \times m</h:eq>, et on ne peut
      plus se satisfaire de solution analytique au problème.
    </p>
    <h4>MALSAR (Multi task Learning via structural regularization)</h4>
    <p>
      MALSAR <h:fn><a href="https://github.com/jiayuzhou/MALSAR">https://github.com/jiayuzhou/MALSAR</a></h:fn>
      est une implémentation d'un ensemble de méthodes partageant
      l'utilisation d'une fonction objectif régularisée pour traiter
      le problème multi-labels. L'optimisation se fait toujours par
      descente de gradient accélérée, ce qui résout le problème de
      complexité soulevé plus haut.
    </p>
    <h4>Lasso par groupe</h4>
    <p>
      La régularisation du Lasso par groupe, <emph>group lasso</emph>
      <h:cite href="argyriou_multitask_nodate"/>, utilise l'hypothèse
      suivante :
    </p>
    <blockquote>
      Parmi l'ensemble des variables du problème, seul un certain
      nombre d'entre elles sont utiles pour la prédiction simultanée
      de tous les labels.
    </blockquote>
    <p>
      Pour utiliser cette hypothèse, le Lasso
      <h:cite href="tibshirani1996regression"/>, ou
      régularisation <h:eq>l_1</h:eq>, est un bon candidat. En effet,
      si l'on considère le problème suivant :
    </p>
    <h:mini>
      <h:variables>w \in \mathbb{R}^{d}</h:variables>
      <h:objective>
	\left\|Xw - y\right\|_2^2 + \alpha \left\|w\right\|_1
      </h:objective>
    </h:mini>
    <p>
      La solution, en fonction de la valeur de <h:eq>\alpha</h:eq>,
      sera plus ou moins éparse, c'est-à-dire que le
      modèle <h:eq>w</h:eq> aura un certain nombre de composantes
      entièrement nulles. Plus précisément, l'optimisation de ce
      problème par descente de gradient proximal nous indique que la
      solution se situe à une distance <h:eq>l_1</h:eq> de
      <h:eq>\alpha^{-1}</h:eq> de l'origine. Si le problème a deux
      dimensions, une grande valeur de <h:eq>\alpha</h:eq> laisse une
      plus grande partie de l'espace menant à une solution où l'une
      des coordonnées du modèle est nulle, cf figure
      <h:ref href="#fig-lasso"/>.
    </p>
    <figure>
      <img src="images/lasso.svg" />
      <figcaption id="fig-lasso">
	Comparaison de modèles pour Lasso : lorsque le régulariseur
	<h:eq>\alpha</h:eq> est grand, les zones dans lesquelles le
	modèle perd une composante sont plus étendues.
      </figcaption>
    </figure>
    <p>
      Pour l'apprentissage multi-labels, l'extension du lasso retenue
      est le lasso par groupe
      <h:cite href="argyriou_multitask_nodate"/>. En effet, on suppose
      que tous les labels peuvent être prédits à partir d'un
      sous-ensemble des variables. On souhaite donc appliquer une
      régularisation équivalente, en n'appliquant la régularisation
      que sur les <emph>lignes</emph> de <h:eq>W</h:eq>. On obtient
      donc le problème <h:ref href="#mtfl"/> :
    </p>
    <h:mini id="mtfl">
      <h:variables>W \in \mathbb{R}^{d, m}</h:variables>
      <h:objective>
	\left\|XW - Y\right\|_F^2 + \alpha \sum_{j = 1} ^ d \left\|W_{j.}\right\|_2
      </h:objective>
    </h:mini>
    <p>
      La norme ainsi obtenue est notée <h:eq>\left\|W\right\|_{2,
      1}</h:eq>.
    </p>
    <p>
      Cette formulation utilise la norme <h:eq>l_{2,1}</h:eq>. Il est
      possible d'utiliser d'autres normes pour obtenir un résultat
      comparable. L'algorithme nommé <emph>Dirty Model</emph>
      <h:cite href="jalali_dirty_nodate"/> utilise deux termes pour la
      régularisation, afin de pouvoir traiter à la fois les cas où
      l'on peut réutiliser les mêmes variables pour tous les labels,
      et ceux où il faut un modèle différent par label. Le modèle
      s'exprime de la façon suivante <h:ref href="#dirty"/> :
    </p>
    <h:mini id="dirty">
      <h:variables>W = P + Q, P \in \mathbb{R} ^ {d, m}, Q \in \mathbb{R} ^ {d, m}</h:variables>
      <h:objective>
	\left\|X (P + Q) - Y\right\|_F^2 + \alpha \left\|P\right\|_{1, 1} + \beta \left\|Q\right\|_{\infty, 1}
      </h:objective>
    </h:mini>
    <p>
      Pour plus de clarté, on utilise la notation
      <h:eq>\left\|Q\right\|_{\infty, 1}</h:eq> et pas la notation
      employée dans l'article original
      <h:cite href="jalali_dirty_nodate"/>.
    </p>
    <p>
      En sélectionnant les hyperparamètres <h:eq>\alpha</h:eq>
      et <h:eq>\beta</h:eq>, il est possible de traiter mieux plus de
      cas que le problème <h:ref href="#mtfl"/>. Le modèle se
      décompose donc en deux termes, comme le montre la figure
      <h:ref href="#fig-dirty"/>.
    </p>
    <figure>
      <img src="images/dirty.svg" />
      <figcaption id="fig-dirty">
	Un régresseur produit par le <emph>dirty model</emph>
      </figcaption>
    </figure>
    <h4>Régularisation Laplacienne multi-labels</h4>
    <p>
      La régularisation Laplacienne évoquée tout au long de ce
      document peut également être utilisée pour une régularisation
      multi-labels <h:cite href="malsar"/>. En effet, si l'on
      considère que chaque label correspond à un nœud d'un graphe, on
      peut définir une arête entre deux labels comme la similarité
      entre ces deux labels. Pour cela, si l'on considère deux labels
      quelconques, on peut comparer pour chaque individu les valeurs
      assignées à ces deux labels. On peut ensuite agréger le résultat
      sur tous les individus. Concrètement, la construction du graphe
      se fait en utilisant non pas <h:eq>X</h:eq> comme pour
      l'utilisation semi-supervisée,
      mais <h:eq>Y_l'</h:eq>. L'hypothèse que l'on souhaite mettre en
      œuvre peut être résumée de la façon suivante :
    </p>
    <blockquote>
      Si deux labels sont similaires, les valeurs du modèle pour ces
      deux labels doivent être similaires.
    </blockquote>
    <p>
      On peut donc utiliser la fonction objectif suivante :
    </p>
    <h:mini id="srmtl">
      <h:variables>W \in \mathbb{R}^{d, m}</h:variables>
      <h:objective>
	\left\|X W - Y\right\|_F^2 + \alpha \mathrm{tr} (W L_m W')
      </h:objective>
    </h:mini>
    <p>
      Cette régularisation est utilisée dans l'algorithme GLOCAL
      <h:cite href="zhu_multilabel_2017"/>, qui part du principe que
      les données peuvent être partitionnées en sous-ensembles dans
      lesquels la corrélation entre labels est différente.
    </p>
    <h4>Régularisation sur le rang</h4>
    <p>
      L'hypothèse selon laquelle les labels partagent de l'information
      peut aussi se traduire par une contrainte sur le rang (des
      colonnes) du modèle <h:eq>W</h:eq>. En effet, si l'on considère
      que le modèle <h:eq>W</h:eq> s'écrit comme un produit <h:eq>P
      \times Q</h:eq>, avec deux matrices <h:eq>P \in \mathbb{R}^{d,
      o}</h:eq> et <h:eq>Q \in \mathbb{R}^{o, m}</h:eq>, alors le
      modèle est de rang au plus <h:eq>o</h:eq>, et on peut constater
      que l'information contenue dans <h:eq>P</h:eq> est réutilisée
      pour tous les labels.
    </p>
    <p>
      Dans la pratique, cette idée se traduit par une régularisation
      sur la norme trace de la matrice <h:eq>W</h:eq>
      <h:cite href="rank"/>.
    </p>
    <h:equation>
      \left\|W\right\|_{*} = \sqrt{tr \left(W' W\right)} = \sum_{i = 1} ^ m \sigma_i (W)
    </h:equation>
    <p><h:eq>\left(\sigma_i (W)\right)_{i = 1} ^ m</h:eq> désigne
      l'ensemble des valeurs propres de la
      matrice <h:eq>W</h:eq>. Dans ce cas, le problème s'écrit :
    </p>
    <h:mini>
      <h:variables>W \in \mathbb{R}^{d, m}</h:variables>
      <h:objective>
	\left\|XW - Y\right\|_F^2 + \alpha \left\|W\right\|_{*}
      </h:objective>
    </h:mini>
    <h4>Classification des labels</h4>
    <p>
      L'approche <emph>CMTL</emph> pour <emph>clustered multi-task
      learning</emph> propose de faire une classification des labels,
      à partir de l'algorithme des <h:eq>k</h:eq>-moyennes. Selon
      <h:cite href="zha_spectral_nodate"/>, si l'on a <h:eq>o</h:eq>
      clusters de labels, en supposant que les clusters sont
      <h:eq>\left(\mathcal{C}_{l}\right)_{l = 1}^o</h:eq>, dont chacun
      est de taille <h:eq>n_l</h:eq>, et l'indicatrice des clusters se
      note <h:eq>C \in \mathbb{R}^{k, m}</h:eq> telle que pour un
      label <h:eq>k</h:eq> et un cluster <h:eq>o</h:eq> :
    </p>
    <h:equation>
      C_{k l} =
      \begin{cases}
      \frac 1 {\sqrt{n_l}}, &amp; k \in \mathcal{C}_l \\
      0,                    &amp; k \notin \mathcal{C}_l
      \end{cases}
    </h:equation>
    <p>
      on peut écrire le coût de la façon suivante :
    </p>
    <h:equation>
      \sum_{l = 1}^o \sum_{k \in \mathcal{C}_{l}} \left\|W_{.k} - \frac 1 {n_l} \sum_{k' \in \mathcal{C}_l} W_{.k}\right\|_2^2 \\
= \mathrm{tr} \left(W' W\right) - \mathrm{tr} \left(C'W'WC\right)
    </h:equation>
    <p>
      En relaxant la définition de <h:eq>C</h:eq> pour avoir
      simplement <h:eq>C' C = I</h:eq>, le problème
      des <h:eq>k</h:eq>-moyennes devient :
    </p>
    <h:mini>
      <h:variables>C \in \mathbb{R}^{m, o}</h:variables>
      <h:objective>
	\mathrm{tr} \left(W'W\right) - \mathrm{tr} \left(C'W'WC\right)
      </h:objective>
      <h:add-constraint>
	<h:left>
	  C'C = I
	</h:left>
      </h:add-constraint>
    </h:mini>
    <p>
      À partir de cette formulation, il est possible de construire une
      fonction objectif multi-labels <h:cite href="cmtl"/> :
    </p>
    <h:mini>
      <h:variables>W \in \mathbb{R}^{d, m}, C \in \mathbb{R}^{m, o}</h:variables>
      <h:objective>
	\left\|XW - Y\right\|_F^2 + \alpha \left(\mathrm{tr} \left(W'W\right) - \mathrm{tr} \left(C'W'WC\right)\right) + \beta \left\|W\right\|_F^2
      </h:objective>
      <h:add-constraint>
	<h:left>
	  C'C = I
	</h:left>
      </h:add-constraint>
    </h:mini>
    <p>
      La formulation n'étant pas convexe, elle n'est pas
      satisfaisante. <h:cite href="cmtl"/> propose donc de
      poser <h:eq>M = CC'</h:eq>, <h:eq>\eta = \frac \beta
      \alpha</h:eq>, pour obtenir la fonction objectif suivante :
    </p>
    <h:mini>
      <h:variables>W \in \mathbb{R}^{d, m}, M \in \mathbb{R}^{m, m}</h:variables>
      <h:objective>
	\left\|XW - Y\right\|_F^2 + \alpha \eta \left(1 + \eta\right) \mathrm{tr} \left(W \left(\eta I + M \right)^{-1}W'\right)
      </h:objective>
      <h:add-constraint><h:left>M \succeq 0</h:left></h:add-constraint>
      <h:add-constraint><h:left>I - M \succeq 0</h:left></h:add-constraint>
      <h:add-constraint><h:left>\mathrm{tr} \left(M\right) = o</h:left></h:add-constraint>
    </h:mini>
    <p>
      La notation <h:eq>M \succeq 0</h:eq> signifie que <h:eq>M</h:eq>
      est une matrice réelle symétrique semi-définie positive.
    </p>
    <h4>Régularisation non-convexe avec une norme plafonnée</h4>
    <p>
      Jusqu'à présent, toutes les fonctions objectifs que nous avons
      décrites sont convexes, ou convexes selon chacune de leurs
      variables. Cependant, on peut également envisager des
      régularisations non convexes.  On n'obtient en général pas de
      garantie de convergence, mais les résultats expérimentaux sont
      souvent suffisamment importants pour qu'il ne soit pas possible
      d’ignorer ces approches.
    </p>
    <p>
      La norme <h:eq>l_1</h:eq> plafonnée
      <h:cite href="cappedl1,msmtfl"/> consiste simplement à
      régulariser certaines <emph>lignes</emph> du
      modèle <h:eq>W</h:eq> avec la norme <h:eq>l_1</h:eq>, mais pas
      toutes. Les lignes ayant des valeurs importantes ne sont pas
      régularisées. Ce n'est pas la même chose que la
      norme <h:eq>l_{2, 1}</h:eq> vue précédemment : ici,
      l'application de la norme pour une variable régularisée signifie
      qu'il n'y aura que quelques labels utilisant cette variable.
    </p>
    <p>
      Le problème s'écrit de la façon suivante :
    </p>
    <h:mini>
      <h:variables>W \in \mathbb{R}^{d, m}</h:variables>
      <h:objective>
	\left\|XW - Y\right\|_F^2 + \alpha \sum_{j = 1} ^ d \mathrm{min} \left(\left\|W_{j.}\right\|_1, \beta\right)
      </h:objective>
    </h:mini>
    <p>
      Ce problème n'est pas convexe ; il peut cependant être relaxé
      pour être résolu itérativement, en utilisant plusieurs étapes. À
      chaque itération, on détermine les lignes pour lesquelles la
      régularisation s'applique, en calculant la norme
      <h:eq>l_1</h:eq> du modèle à l'itération précédente. Puis on
      résout le problème en appliquant la régularisation uniquement
      sur ces lignes.
    </p>
    <p>
      La relaxation converge vers la solution du problème non convexe,
      sous certaines conditions <h:cite href="msmtfl"/>.
    </p>
    <p>
      En ce qui concerne la régularisation sur le rang, il est aussi
      possible de traiter un problème de norme plafonnée
      <h:cite href="msmtflrank"/>. Le problème s'écrit alors :
    </p>
    <h:mini>
      <h:variables>W \in \mathbb{R}^{d, m}</h:variables>
      <h:objective>
	\left\|XW - Y\right\|_F^2 + \alpha \sum_{k = 1}^m \mathrm{min} \left(\sigma_k\left(W\right), \beta\right)
      </h:objective>
    </h:mini>
    <p>
      La notation <h:eq>\sigma_k (W)</h:eq> désigne
      la <h:eq>k</h:eq><sup>ième</sup> valeur propre
      de <h:eq>W</h:eq>. Si l'on suit le même processus de relaxation
      que pour MSMTFL <h:cite href="msmtfl"/>, la régularisation ne
      doit s'appliquer que sur les plus petites valeurs propres. Si
      l'on note <h:eq>s</h:eq> le nombre de valeurs propres
      supérieures à <h:eq>\beta</h:eq>,
      et <h:eq>\left\|W\right\|_{s^{-}}</h:eq> la somme des valeurs
      propres de <h:eq>W</h:eq>, sauf les <h:eq>s</h:eq> premières,
      chaque itération résout le problème suivant :
    </p>
    <h:mini>
      <h:variables>W \in \mathbb{R}^{d, m}</h:variables>
      <h:objective>
	\left\|XW - Y\right\|_F^2 + \alpha \left\|W\right\|_{s^{-}}
      </h:objective>
    </h:mini>
    <p>
      Cette norme peut en fait se réécrire comme la norme trace, moins
      un terme calculé à partir de la décomposition en valeurs propres
      du modèle à l'itération précédente, en tronquant la
      décomposition à <h:eq>s</h:eq> termes. C'est un problème
      convexe, mais avec un terme non lisse (la norme trace), qui peut
      être résolu de la même manière que la régularisation trace
      seule.
    </p>
    <h3>Semi-Supervised Multi-Task Regression, avec contraintes</h3>
    <p>
      L'algorithme <emph>SSMTR</emph>
      <h:cite href="zhang_semi-supervised_2009"/> est une approche non
      linéaire, utilisant un noyau, permettant de traiter le problème
      de régression semi-supervisée en multi-labels. Il s'agit d'une
      extension de la régression multi-labels
      semi-supervisée <emph>SMTR</emph>, présentée également
      dans <h:cite href="zhang_semi-supervised_2009"/>.
    </p>
    <p>
      Dans <emph>SMTR</emph>, chaque label est traité séparément par
      un apprentissage à noyau, mais les paramètres des noyaux pour
      tous les labels sont issus de la même distribution.  C'est une
      façon de réutiliser de l'information entre labels.  L'extension
      au cadre semi-supervisé vise à définir pour chaque label un
      graphe d'individus, en déduire la matrice Laplacienne et
      l'utiliser en complément du noyau multi-labels.
    </p>
    <p>
      Bien qu'une matrice Laplacienne soit calculée pour chaque label,
      l'inférence du modèle évite de calculer un produit de
      Kronecker. En revanche, cette extension correspond bien à la
      régression Laplacienne mono-label classique : une fois le jeu de
      données non labellisé utilisé pour apprendre le modèle, il est
      éliminé et ne sert plus pour la
      prédiction. <h:cite href="zhang_semi-supervised_2009"/> propose
      donc d'ajouter deux types de contraintes :
    </p>
    <ol>
      <li>
	La prédiction pour un individu est supérieure à la prédiction
	pour un autre individu (avec une marge) ;
      </li>
      <li>
	Un écart de prédiction entre deux individus doit être
	supérieur à un écart de prédiction entre deux autres
	individus.
      </li>
    </ol>
    <p>
      L'inférence devient plus délicate, mais donne de meilleurs
      résultats pour les jeux de données évoqués
      précédemment <emph>sarcos</emph> et <emph>schools</emph>.
    </p>
    <h3>Le problème de sélection de variables multi-labels</h3>
    <p>
      Dans un problème d'apprentissage multi-labels, la sélection de
      variables a un sens légèrement plus précis : on doit trouver un
      sous-ensemble des variables qui permet d'obtenir une bonne
      prédiction pour <emph>tous</emph> les labels
      simultanément. Ainsi, on peut difficilement généraliser les
      approches de sélection de variables mono-label directement au
      multi-labels. Par exemple, l'utilisation du score Laplacien
      supervisé, utilisé dans <emph>SSLS</emph>
      <h:cite href="doquire_graph_2013"/> permet de faire de la
      sélection de variables, en s’appliquant sur un jeu de données à
      plusieurs labels, mais ne correspond pas à notre problème de
      sélection de variables multi-labels. En effet, la construction
      du graphe supervisé met en relation les individus de l'ensemble
      d'apprentissage dont la distance dans l'espace des labels est
      faible. La sélection de variables consiste donc en une
      sélection <emph>moyenne</emph> pour les différents labels, et
      elle n'est pas conçue pour traiter tous les labels en même
      temps.
    </p>
    <p>
      De la même façon, une adaptation naïve du Lasso en multi-labels
      ne permet pas de résoudre le problème de sélection de variables
      multi-labels. En effet, si l'on cherche à résoudre le problème
      suivant :
    </p>
    <h:mini id="mtl">
      <h:variables>W \in \mathbb{R}^{d, m}</h:variables>
      <h:objective>
	\left\|X W - Y\right\|_F^2 + \alpha \sum_{j = 1} ^ d \sum_{k = 1} ^ m \left|W_{jk}\right|
      </h:objective>
    </h:mini>
    <p>
      On obtiendra une matrice <h:eq>W</h:eq> sparse, mais ce n'est
      pas suffisant : il se peut que chaque label demande un
      sous-ensemble différent de variables. Il faut que tous les
      labels partagent un même sous-ensemble de variables.
    </p>
    <h4>Utilisation du Lasso par groupe</h4>
    <p>
      Pour pallier ce problème, il faut utiliser une version un peu
      moins naïve du Lasso. En construisant un modèle
      linéaire <h:eq>W</h:eq>, les lignes correspondent aux
      coefficients pour une variable et les colonnes correspondent aux
      coefficients pour un label. Ainsi, si l'on veut pouvoir exprimer
      tous les labels avec un petit nombre de variables, il faut que
      la matrice <h:eq>W</h:eq> ait un petit nombre de lignes non
      nulles. Il faut donc appliquer une régularisation de type Lasso
      sur les lignes de <h:eq>W</h:eq>, c'est-à-dire un lasso par
      groupe. On retrouve donc directement
      l'algorithme <emph>JFS</emph>
      <h:cite href="argyriou_multitask_nodate"/>.
    </p>
    <h4>
      Régularisation <h:eq>l_{2,1 - 2}</h:eq> non convexe pour la
      sélection de variables
    </h4>
    <p>
      Si l'on examine la norme <h:eq>l_{2,1}</h:eq> pour un modèle à 2
      variables et 1 label, on obtient la figure
      <h:ref href="#fig-l21"/> haut. On constate que la valeur de la
      fonction de coût est plus faible si l'une des coordonnées du
      modèle est nulle, et elle est globalement minimale si les deux
      coordonnées sont nulles. C'est utile pour la sélection de
      variables, puisque l'optimisation du problème pourra éliminer
      l'une des deux variables. Cependant, <h:cite href="l21m2"/>
      propose une amélioration pour la sélection de variables
      multi-labels, en utilisant la différence entre la
      norme <h:eq>l_{2, 1}</h:eq> et la norme <h:eq>l_2</h:eq>. Les
      effets de cette régularisation sont très parlants pour un modèle
      à 2 variables (figure <h:ref href="#fig-l21"/> bas) : le coût
      est exactement nul dès que l'une des variables est éliminée.
    </p>
    <figure>
      <img src="images/l21m2.svg" />
      <figcaption id="fig-l21">
	Norme <h:eq>l_{2, 1}</h:eq> et <h:eq>l_{2, 1 - 2}</h:eq> d’un
	modèle à 2 variables et 1 label.
      </figcaption>
    </figure>
    <p>
      Ce problème n'est pas convexe, cependant il est possible de
      l'optimiser en relaxant la partie non convexe par le plan
      tangent à chaque itération.
    </p>
    <h4>Multi-Labels Informed Feature Selection</h4>
    <p>
      Pour les problèmes de sélection de variables, il n'est pas
      toujours pertinent d'obtenir de bons résultats en
      régression. Ceci débloque une opportunité pour utiliser des
      variables latentes. C'est l'approche développée par l'algorithme
      <emph>MIFS</emph>, pour <emph>Multi-Labels Informed Feature
      Selection</emph> <h:cite href="mifs"/>. Elle se fonde sur
      plusieurs hypothèses, qui sont intégrées dans une même fonction
      objectif.
    </p>
    <p>
      Tout d'abord, <emph>MIFS</emph> propose une abstraction des
      labels. Concrètement, il faut sélectionner un nombre de labels
      latents, <h:eq>1 \leq o \leq m</h:eq>, et introduire une matrice
      de pseudo-labels <h:eq>V \in \mathbb{R}^{n, o}</h:eq> ainsi
      qu'une matrice <h:eq>B \in \mathbb{R}^{o, m}</h:eq> de sorte à
      substituer <h:eq>VB</h:eq> à <h:eq>Y</h:eq>, et à proposer un
      apprentissage de <h:eq>V</h:eq> :
    </p>
    <h:mini>
      <h:variables>
	W \in \mathbb{R}^{d, o}, V \in \mathbb{R}^{n, o}, B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
	\left\|XW - V\right\|_F^2 + \alpha \left\|Y - VB\right\|_F^2
      </h:objective>
    </h:mini>
    <p>
      Ensuite, une régularisation Laplacienne introduit l'hypothèse
      suivante : pour chaque pseudo-label, deux individus proches ont
      des valeurs proches.  Enfin, la régularisation sur les lignes de
      la matrice <h:eq>W</h:eq> permet d'obtenir un modèle sparse par
      ligne, ce qui permet de guider la sélection de variables.
    </p>
    <h:mini>
      <h:variables>
	W \in \mathbb{R}^{d, o}, V \in \mathbb{R}^{n, o}, B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
	\left\|XW - V\right\|_F^2 + \alpha \left\|Y - VB\right\|_F^2 + \beta \mathrm{tr} \left(V'LV\right) + \gamma \left\|W\right\|_{2, 1}
      </h:objective>
    </h:mini>
    <p>
      La fonction objectif est convexe en chacune de ces variables ;
      l'algorithme MIFS choisit une optimisation alternée pour
      l'optimisation.
    </p>
    <h2>Conclusion</h2>
    <p>
      Dans ce chapitre, nous avons présenté des méthodes de l’état de
      l’art pour résoudre des problèmes d’apprentissage
      semi-supervisés, et pour la régression multi-labels. Nous nous
      sommes également intéressés au problème de sélection de
      variables.
    </p>
    <h1 short="LapS3L">Régression Laplacienne semi-supervisée</h1>
    <h:résumé-chapitre>
      <p>
	Dans ce chapitre, nous présentons notre première contribution
	sur la régression semi-supervisée utilisant une version
	régularisée de l'algorithme <emph>SSSL</emph>
	<h:cite href="ji_simple_2012"/>. Nous commençons par décrire
	les travaux liés, puis nous décrivons l'approche proposée,
	après quoi nous montrerons à travers deux études
	expérimentales l'apport de notre proposition.
      </p>
      <p>
	L'algorithme <emph>SSSL</emph> de base consiste en deux étapes
	distinctes : un changement d'espace non supervisé, puis une
	régression simple dans ce nouvel espace. Nous proposons
	d'emprunter la même idée du changement d'espace original, mais
	en adoptant une régularisation Laplacienne dans le nouvel
	espace ainsi obtenu.
      </p>
    </h:résumé-chapitre>
    <h2>Introduction</h2>
    <p>
      À cause de la prolifération des données partiellement
      labellisées, l'apprentissage automatique a connu des
      développements majeurs dans le contexte semi-supervisé
      <h:cite href="chapelle_semi-supervised_2006"/>. Cette tendance
      est due d'une part à la difficulté de la tâche de labellisation,
      et d'autre part au coût associé lorsque la labellisation est
      possible. L'apprentissage semi-supervisé est un cas particulier
      de l'apprentissage faiblement labellisé
      <h:cite href="li_convex_2013"/>, qui consiste en général en
      l'apprentissage d'une fonction objectif à partir de données
      contenant à la fois des individus labellisés et des individus
      non-labellisés. Ces situations peuvent être abordées par deux
      classes d'approches : l'une fondée sur la propagation des
      labels, dans le but d'utiliser des méthodes supervisées
      <h:cite href="zhu_semi-supervised_nodate"/>, et l'autre fondée
      sur la transformation des données labellisées en contraintes à
      intégrer dans un processus non-supervisé de clustering
      <h:cite href="basu_constrained_2009"/>. Nous nous concentrons
      sur la première classe d'approches, avec un défi particulier :
      il s'agit d'apprendre à partir d'un petit sous-ensemble
      supervisé, en comparaison de l'ensemble non supervisé. Dans ce
      contexte semi-supervisé, la littérature a connu une extension
      significative depuis les vingt dernières années, en particulier
      pour la classification, grâce à des approches populaires comme
      le self-training <h:cite href="chapelle_semi-supervised_2006"/>,
      le co-training <h:cite href="blum_combining_1998"/>, le SVM
      transductif ou S<sup>3</sup>VM
      <h:cite href="joachims1999transductive,bennett1999semi"/>, les
      approches fondées sur des graphes
      <h:cite href="blum_learning_2001"/> et des approches génératives
      <h:cite href="nigam2000text"/>. Dans ce paradigme particulier,
      les problèmes de régression ont aussi suscité l'intérêt de
      plusieurs travaux de recherche que nous pouvons citer de façon
      non exhaustive. Les approches sont diverses : fondées sur la
      régression linéaire
      <h:cite href="azriel_semi-supervised_2016,ji_simple_2012"/>,
      logistique <h:cite href="amini_semi-supervised_2002"/>, ou
      Laplacienne
      <h:cite href="cai_semi-supervised_2006,belkin_manifold_2006"/> ;
      d'autres approches sont fondées sur le co-training
      <h:cite href="zhou_semi-supervised_nodate"/> ; ou fonctionnent
      avec des contraintes spécifiques liées à l'ordre de préférence
      des données non labellisées
      <h:cite href="zhu_semi-supervised_nodate"/> ou leur distribution
      géométrique dans des espaces de haute dimension
      <h:cite href="ryan_semi-supervised_2015,moscovich_minimax-optimal_nodate"/>.
    </p>
    <h2>Travaux liés</h2>
    <p>
      L'algorithme SSSL (<emph>Simple algorithm for Semi-Supervised
	Learning</emph>) <h:cite href="ji_simple_2012"/> se décompose
	en deux étapes simples :
    </p>
    <ol>
      <li>
	Extraction de variables non supervisée au moyen d'une ACP à
	noyau (<emph>k-PCA</emph>, <emph>kernel PCA</emph>) ;
      </li>
      <li>
	Apprentissage supervisé dans ce nouvel espace.
      </li>
    </ol>
    <p>
      Sous certaines hypothèses vis-à-vis des données, il est possible
      de garantir que dans la classe de fonctions recherchée,
      l'algorithme fournit une fonction ayant une erreur de régression
      minimale (à une constante près), cette erreur de généralisation
      théorique restant inférieure à ce que l'on obtiendrait sans les
      individus non labellisés. Ces hypothèses portent sur :
    </p>
    <ul>
      <li>
	l'erreur de régression minimale sur la classe de recherche des
	fonctions ;
      </li>
      <li>
	la distribution des valeurs propres de la matrice de noyau ;
      </li>
      <li>
	les vecteurs propres de cette matrice ;
      </li>
      <li>
	le nombre d'individus non labellisés.
      </li>
    </ul>
    <p>
      L'algorithme <emph>SSSL</emph> permet de rechercher une fonction
      de prédiction qui puisse s'écrire de la manière
      suivante. Si <h:eq>N</h:eq> désigne le nombre d'individus y
      compris les non labellisés de l'ensemble d'apprentissage,
      et <h:eq>x_i \in \mathcal{X}</h:eq> désigne le
      <h:eq>i</h:eq><sup>ième</sup> individu de l'ensemble
      d'apprentissage, on définit une fonction de noyau <h:eq>\kappa
      \colon \mathcal{X} \times \mathcal{X} \to \mathbb{R}</h:eq>. On
      peut également définir la fonction <h:eq>\hat L_N</h:eq>
      suivante :
    </p>
    <h:equation>
      \hat L_N \colon
      \begin{array}{ccc}
      \left(\mathcal{X} \to \mathbb{R}\right) &amp;\to&amp; \left(\mathcal{X} \to \mathbb{R}\right) \\
      f &amp;\mapsto&amp; x \mapsto \frac 1 N \sum_{i = 1} ^ N \kappa (x_i, x) f (x_i)
      \end{array}
    </h:equation>
    <p>
      On note les valeurs propres de cet opérateur linéaire
      <h:eq>\left(\hat \lambda\right)_{k = 1} ^ {N}</h:eq> et ses
      fonctions propres <h:eq>\left(\phi\right)_{k = 1} ^ N</h:eq>. La
      fonction de prédiction est recherchée comme une combinaison
      linéaire des <h:eq>s \leq N</h:eq> fonctions propres ayant la
      plus grande valeur propre :
    </p>
    <h:equation>
      f \colon x \mapsto \sum_{k = 1} ^ s \Gamma_{k} \hat \phi_{k} (x)
    </h:equation>
    <p>
      Les coefficients <h:eq>\Gamma</h:eq> peuvent être obtenus tout
      simplement par une régression aux moindres carrés, c'est-à-dire
      en minimisant l'erreur de régression (<h:eq>z</h:eq> désigne le
      vecteur de labels pour les individus labellisés) :
    </p>
    <h:mini>
      <h:variables>\Gamma \in \mathbb{R}^{d}</h:variables>
      <h:objective>\left\|f (x) - z\right\|_2^2</h:objective>
    </h:mini>
    <p>
      Par conséquent, les valeurs propres elles-mêmes de <h:eq>\hat
      L_N</h:eq> ne sont pas utilisées.
    </p>
    <p>
      La régularisation Laplacienne que nous utilisons
      <h:cite href="belkin_manifold_2006"/> ne considère pas les
      labels des données, ce qui permet d'utiliser tous les individus,
      y compris ceux de l'ensemble non-supervisé. À partir de leurs
      similarités dans l'espace des variables, un graphe est
      construit. Les nœuds sont les individus, et les arêtes indiquent
      des individus similaires. La régularisation consiste à indiquer
      que les individus similaires doivent avoir des valeurs de la
      variable cible similaires, en minimisant le terme suivant :
    </p>
    <h:equation>
      \sum_{i, j\mathrm{~similaires}} (f (x_i) - f (x_j)) ^ 2
    </h:equation>
    <h2>Approche proposée : <emph>LapS3L</emph></h2>
    <p>
      Bien que le changement d'espace introduit
      par <emph>SSSL</emph>(présenté ci-dessus) permette de mieux
      traiter certains problèmes de régression semi-supervisée
      <h:cite href="ji_simple_2012"/>, elle n'utilise pas les mêmes
      hypothèses que la régularisation Laplacienne. Dans le cas
      général, il n'est pas possible de conclure à la proximité de
      deux individus dans l'espace extrait à partir de deux individus
      proches dans l'espace réel. Nous proposons donc de réguler
      l'apprentissage en introduisant l'hypothèse suivante :
    </p>
    <blockquote>
      Si deux individus sont proches dans l'espace réel, alors l'écart
      de prédiction doit être faible.
    </blockquote>
    <p>
      Nous proposons une nouvelle approche, fondée sur cette
      hypothèse, que nous appelons <emph>LapS3L</emph>, pour
      <emph>Laplacian-regularized Simple algorithm for Semi-Supervised
      Learning</emph>.  Nous décrivons dans ce qui suit, ses
      différentes étapes.
    </p>
    <h3>Changement d'espace</h3>
    <p>
      En reprenant le cadre de l'algorithme <emph>SSSL</emph>, il est
      possible de tisser un parallèle entre la décomposition en
      valeurs et fonctions propres de <h:eq>\hat L_N</h:eq> et la
      décomposition en valeurs propres et vecteurs propres de la
      matrice noyau. Ce parallèle permet d'obtenir un algorithme
      d'apprentissage en deux temps : obtention des vecteurs propres
      de la matrice noyau, puis obtention de ses coefficients.
    </p>
    <p>
      Tout d'abord, cette matrice notée <h:eq>K \in S_N^{+}
      (\mathbb{R})</h:eq> est définie comme l'application symétrique
      de la fonction <h:eq>\kappa</h:eq> entre chaque individu de
      l'ensemble d'apprentissage :
    </p>
    <h:equation>
      \forall i, j \in \{1, ..., N\}, \quad K_{i, j} = \kappa (x_i, x_j)
    </h:equation>
    <p>
      L'analyse des vecteurs propres de <h:eq>K</h:eq> permet
      d'obtenir une matrice de vecteurs propres <h:eq>U \in
      \mathbb{R}^{N, s}</h:eq>, dont les colonnes sont unitaires. On
      peut donc poser le changement de variables suivant :
    </p>
    <h:equation>
      X \gets K' U
    </h:equation>
    <p>
      Dans ce changement de variables, chaque ligne de la
      matrice <h:eq>X</h:eq> correspond à un individu de l'ensemble
      d'apprentissage. Chaque colonne correspond à une variable
      extraite. Le nombre de variables extraites est compris entre 1
      et <h:eq>N</h:eq>. Par conséquent, dans le cas où la matrice de
      données est plus longue que large, on peut avoir <h:eq>s >
      d</h:eq>. Pour les applications où les données sont en grande
      dimension, comme par exemple pour les données textuelles,
      d'images ou génétiques, ce n'est pas un problème. Dans les
      autres cas, la réduction de dimensionnalité ne peut s'opérer que
      si la valeur de l'hyperparamètre <h:eq>s</h:eq> est relativement
      faible.
    </p>
    <p>
      Puisque les lignes de <h:eq>X</h:eq> sont aussi les lignes de la
      matrice de données dans l’espace
      original, <h:eq>\mathcal{V}</h:eq>, il est possible de ne
      conserver que les lignes correspondant aux individus
      labellisés. On obtient ainsi une sous-matrice <h:eq>X_l \in
      \mathbb{R}^{n, s}</h:eq>.
    </p>
    <h3>Régression régularisée</h3>
    <p>
      Dans la deuxième partie de l'algorithme, l'implémentation
      consiste à effectuer une régression simple à partir de ces
      nouvelles variables. On obtient donc une liste de
      coefficients, <h:eq>w</h:eq>, de dimension <h:eq>s</h:eq>.
    </p>
    <h:mini id="reg-sssl">
      <h:variables>w \in \mathbb{R}^s</h:variables>
      <h:objective>\left\|{X_l}w - z\right\|_2^2</h:objective>
    </h:mini>
    <p>
      Dans le cas où la fonction <h:eq>\kappa</h:eq> est en fait le
      produit scalaire, la formulation de la régression dans le nouvel
      ensemble de variables <h:eq>X</h:eq>, <h:ref href="#reg-sssl"/>,
      montre qu'il n'y a pas de solution dans le cas où <h:eq>s >
      d</h:eq>. L'extraction de variables permet donc dans ce cas une
      réduction de dimensionnalité. Dans le cas général, cette
      remarque ne tient pas. Par exemple, pour n'importe quel
      hyperparamètre <h:eq>\sigma</h:eq> du noyau RBF :
    </p>
    <h:equation>
      \kappa \colon (x_i, x_j) \mapsto e^{-\frac {\left\|x_i - x_j\right\|_2^2} {2 \sigma ^ 2}}
    </h:equation>
    <p>
      La matrice noyau obtenue <h:eq>K</h:eq> est à diagonale
      strictement dominante, donc inversible ; par conséquent la
      matrice de covariance <h:eq>X'X</h:eq> l'est aussi en
      extrayant <h:eq>N</h:eq> valeurs propres. Dans la pratique, les
      approximations numériques ne permettent pas de choisir une
      grande valeur de <h:eq>s</h:eq>.
    </p>
    <p>
      Étant donné que la prédiction s'effectue directement dans
      l'espace extrait, il suffit donc de construire le graphe des
      individus à partir des variables d'origine, et d'ajouter un
      terme de régularisation dans la fonction objectif linéaire de la
      seconde étape. Concrètement, on remplace la régression
      <h:ref href="#reg-sssl"/> par la version utilisant la
      régularisation Laplacienne <h:ref href="#reg-laps3l"/> :
    </p>
    <h:mini id="reg-laps3l">
      <h:variables>w \in \mathbb{R} ^ s</h:variables>
      <h:objective>\left\|X_l w - z_l\right\|_2^2 + \alpha \left\|w\right\|^2 + \beta [Xw]'L[Xw]</h:objective>
    </h:mini>
    <p>
      Cette approche ne nécessite pas de changer la prédiction ; elle
      n'intervient que dans l'apprentissage.
    </p>
    <h3>Prédiction</h3>
    <p>
      Pour la prédiction sur un ensemble de
      test <h:eq>\mathcal{V}_t</h:eq> à <h:eq>n_t</h:eq> individus, on
      commence par appliquer la matrice <h:eq>\kappa</h:eq> entre tous
      les individus de l'ensemble labellisé, à gauche, et tous les
      individus de l'ensemble de test, à droite.  On note le
      résultat <h:eq>K_b \in \mathbb{R}^{N, n_t}</h:eq> :
    </p>
    <h:equation>
      \forall i \in \{1, ..., N\}, \quad \forall j \in \{1, ... n_t\}, \quad {K_b}_{i, j} = \kappa (\mathcal{V}_{i, .}, {\mathcal{V}_t}_{j, .})
    </h:equation>
    <p>
      Le changement de variables est identique à celui effectué pour
      l'apprentissage :
    </p>
    <h:equation>
      X_t \gets K_b' U \in \mathbb{R}^{n_t, s}
    </h:equation>
    <p>
      La prédiction est donc opérée par :
    </p>
    <h:equation>X_t w</h:equation>
    <h3>Algorithme</h3>
    <p>
      L'algorithme <h:ref href="#algorithme-laps3l-train"/> montre les
      étapes de l'apprentissage, et l'algorithme
      <h:ref href="#algorithme-laps3l-predict"/> décrit la fonction de
      prédiction.
    </p>
    <p>
      Le problème de minimisation de la fonction objectif,
      <h:ref href="#reg-laps3l"/>, admet une solution analytique
      <h:cite href="chapelle_semi-supervised_2006"/> :
    </p>
    <p>
      La partie déterminante de la complexité de l’algorithme réside
      dans la décomposition en valeurs propres et vecteurs propres de
      la matrice de noyau, de dimension <h:eq>N \times N</h:eq>. Comme
      nous ne nous intéressons qu’aux valeurs propres les plus grandes
      en valeur absolue de cette matrice symétrique réelle, nous
      pouvons appliquer un algorithme itératif
      <h:cite href="arpack"/>.
    </p>
    <h:equation>
      W \gets \left[X_l' X_l + \alpha I + \beta X' L X\right]^{-1}X_l' Y
    </h:equation>
    <h:algorithm id="algorithme-laps3l-train">
      <alg:algorithmic>
	<alg:donnée><h:eq>\mathcal{V} \in \mathbb{R}^{N, d}</h:eq></alg:donnée>
	<alg:donnée><h:eq>z \in \mathbb{R}^{n_l}</h:eq></alg:donnée>
	<alg:hyperparamètre><h:eq>s \in \{1, ..., N\}</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre><h:eq>\kappa \colon \mathcal{X} \times \mathcal{X} \to \mathbb{R}</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre>matrice Laplacienne du graphe des individus, <h:eq>L \in \mathbb{R}^{N, N}</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre><h:eq>\alpha > 0</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre><h:eq>\beta > 0</h:eq></alg:hyperparamètre>
	<alg:state>
	  Construire la matrice <h:eq>K \in \mathbb{R}^{N,
	    N}</h:eq> : <h:equation-x>\forall i, j, \quad K_{i, j} =
	    \kappa (\mathcal{V}_{i, .}, \mathcal{V}_{j,
	    .})</h:equation-x>
	</alg:state>
	<alg:state>
	  Décomposer la matrice <h:eq>K</h:eq> en valeurs propres et
	  vecteurs propres, sélectionner les <h:eq>s</h:eq> vecteurs
	  propres ayant la plus grande valeur propre
	  associée : <h:eq>U \in \mathbb{R}^{N, s}</h:eq>
	</alg:state>
	<alg:state>
	  Poser <h:eq>X := K U</h:eq>
	</alg:state>
	<alg:state>
	  Sélectionner la sous-matrice <h:eq>Xl \in
	  \mathbb{R}^{n,s}</h:eq> composée des lignes
	  de <h:eq>X</h:eq> correspondant aux individus labellisés
	</alg:state>
	<alg:state>
	  <h:mini>
	    <h:variables>w \in \mathbb{R} ^ s</h:variables>
	    <h:objective>\left\|X_l w - z_l\right\|_2^2 + \alpha \left\|w\right\|^2 + \beta [Xw]'L[Xw]</h:objective>
	  </h:mini>
	</alg:state>
	<alg:résultat><h:eq>U \in \mathbb{R}^{N, s}</h:eq></alg:résultat>
	<alg:résultat><h:eq>w \in \mathbb{R}^{s}</h:eq></alg:résultat>
      </alg:algorithmic>
      <figcaption>
	Algorithme <emph>LapS3L</emph> : apprentissage
      </figcaption>
    </h:algorithm>
    <h:algorithm id="algorithme-laps3l-predict">
      <alg:algorithmic>
	<alg:donnée><h:eq>\mathcal{V} \in \mathbb{R}^{N, d}</h:eq>, <h:eq>\mathcal{V}_t \in \mathbb{R}^{n_t, d}</h:eq></alg:donnée>
	<alg:hyperparamètre><h:eq>\kappa \colon \mathcal{X} \times \mathcal{X} \to \mathbb{R}</h:eq></alg:hyperparamètre>
	<alg:modèle><h:eq>U \in \mathbb{R}^{N, s}</h:eq></alg:modèle>
	<alg:modèle><h:eq>w \in \mathbb{R}^{s}</h:eq></alg:modèle>
	<alg:state>
	  Construire la matrice <h:eq>K_b \in \mathbb{R}^{N,
	  n_t}</h:eq> :

	  <h:equation-x>
	    \forall i, j, \quad {K_b}_{i, j} = \kappa (\mathcal{V}_{i, .}, {\mathcal{V}_t}_{j, .})
	  </h:equation-x>
	</alg:state>
	<alg:state>
	  Poser <h:eq>X_t := K_b' U</h:eq>
	</alg:state>
	<alg:résultat><h:eq>\hat z \gets X_t w</h:eq></alg:résultat>
      </alg:algorithmic>
      <figcaption>
	Algorithme <emph>LapS3L</emph> : prédiction
      </figcaption>
    </h:algorithm>
    <h2>Validation expérimentale</h2>
    <p>
      Dans cette section, nous présentons une première étude
      expérimentale pour valider l'approche proposée sur des données
      publiques issues de la littérature.
    </p>
    <h3>Jeux de données utilisés</h3>
    <p>
      Les auteurs dans <h:cite href="ji_simple_2012"/> ont identifié
      trois jeux de données pour lesquels les hypothèses de
      fonctionnement sont
      établies : <emph>wine</emph>, <emph>insurance</emph> et
      <emph>temperature</emph>.
    </p>
    <ul>
      <li>
	<emph>wine</emph> regroupe une évaluation de la composition
	chimique de 4898 vins, exprimée sur 11 variables continues,
	ainsi qu'un score de qualité attribué à chaque vin
	<h:fn><a href="https://archive.ics.uci.edu/ml/datasets/wine+quality">https://archive.ics.uci.edu/ml/datasets/wine+quality</a></h:fn>. La
	cible, la qualité, est une valeur continue, ce qui en fait un
	jeu de données de régression. La qualité ne suit pas une loi
	uniforme : 45% des vins ont une qualité égale à 6, 30% ont une
	qualité égale à 5, et 18% une qualité égale à 7. Ainsi, les
	valeurs d'erreur de régression doivent être inférieures à la
	base suivante : en prédisant toujours 6, on obtient
	une <emph>RSME</emph> de 0.89 et une <emph>MAE</emph> de 0.63.
      </li>
      <li>
	<emph>insurance</emph>, aussi appelé COIL2000
	<h:fn>
	  <a href="https://archive.ics.uci.edu/ml/datasets/Insurance+Company+Benchmark+(COIL+2000)">
	    https://archive.ics.uci.edu/ml/datasets/Insurance+Company+Benchmark+(COIL+2000)
	  </a>
	</h:fn>, regroupe des profils de personnes ayant souscrit une
	assurance, établis sur 85 variables, et la cible est la
	variable binaire indiquant si la personne assurée a une
	assurance pour une caravane. Là encore, la cible est
	déséquilibrée, puisque seuls 6% des clients ont une assurance
	pour une caravane. La base consistant à prédire la valeur
	moyenne donne une <emph>RMSE</emph> de 0.237, et prédire 0
	donne une <emph>RMSE</emph> de 0.244 et une <emph>MAE</emph>
	de 0.06.
      </li>
      <li>
	<emph>temperature</emph> décrit la température de la haute
	atmosphère, dans un jeu de données qui n'est pas public. Par
	conséquent, nous ne l'utilisons pas dans notre étude.
      </li>
    </ul>
    <p>
      Comme dans l’article original, nous conservons de 2% à 9% des
      labels des jeux de données.
    </p>
    <h3>Protocole expérimental</h3>
    <p>
      L'algorithme <emph>LapS3L</emph> a plusieurs hyperparamètres :
    </p>
    <ul>
      <li>
	la définition du noyau, et éventuellement la valeur de la
	bande passante si c'est un noyau gaussien ;
      </li>
      <li>
	le nombre de composantes principales ;
      </li>
      <li>
	le régulariseur ridge <h:eq>\alpha</h:eq> ;
      </li>
      <li>
	le régulariseur Laplacien <h:eq>\beta</h:eq> ;
      </li>
      <li>
	la définition du graphe des individus.
      </li>
    </ul>
    <p>
      Les valeurs de ces hyperparamètres sont recherchées dans les
      ensembles suivants :
    </p>
    <ul>
      <li>
	noyau : l'ensemble composé du noyau utilisant la similarité
	cosinus, du noyau constitué par la matrice de Gram, et du
	noyau gaussien dont la bande passante <h:eq>\sigma</h:eq>
	prend les valeurs dans <h:eq>\{0.01, 0.05, 0.1, 0.5, 1, 5, 10,
	50, 100\}</h:eq> ;
      </li>
      <li>
	le nombre de composantes principales est sélectionné dans
	l'ensemble entre {1, 2, 5, 10, 20, 50, 100, 200}. Une valeur
	supérieure à 200 nuit à l'apprentissage du <emph>SSSL</emph>,
	puisque la matrice de variables extraites <h:eq>X</h:eq> a un
	rang trop faible, d'une part, et le temps d'apprentissage est
	trop long, d'autre part ;
      </li>
      <li>
	le graphe des individus est défini comme suit : on commence
	par le construire complet, les arêtes étant valuées par la
	similarité cosinus entre individus dans l'ensemble des
	variables original, puis il est élagué de façon à ne conserver
	que les 10 plus proches voisins symétriques ;
      </li>
      <li>
	les deux régulariseurs sont choisis dans
	l'ensemble <h:eq>\{\left(10^{k}\right)_{k = -4} ^ 4\}</h:eq>.
      </li>
    </ul>
    <p>
      La procédure de tuning est la suivante :
    </p>
    <ul>
      <li>
	<p>Répéter 10 fois les opérations suivantes :</p>
	<ul>
	  <li>
	    Sélectionner 90% du jeu de données labellisé pour
	    l'apprentissage, 10% pour le test (les données non
	    labellisées sont utilisées pour l'apprentissage) ;
	  </li>
	  <li>
	    <p>
	      Répéter 10 fois (insurance) ou 20 fois (wine) :
	    </p>
	    <ul>
	      <li>
		Tirer avec remise une valeur pour chaque
		hyperparamètre,
	      </li>
	      <li>
		Évaluer la performance (<emph>RMSE</emph>)
		de <emph>LapS3L</emph> et <emph>SSSL</emph> en
		validation croisée à 10 folds sur l'ensemble
		d'apprentissage labellisé, en y ajoutant les individus
		non labellisés ;
	      </li>
	    </ul>
	  </li>
	  <li>
	    Sélectionner la meilleure valeur des hyperparamètres ;
	  </li>
	  <li>
	    Entraîner <emph>SSSL</emph> et <emph>LapS3L</emph> sur
	    l'ensemble d'apprentissage en utilisant ces
	    hyperparamètres ;
	  </li>
	  <li>
	    Tester sur l'ensemble de
	    test : <emph>RMSE</emph>, <emph>MAE</emph>,
	    <emph>RRSE</emph>, <emph>RAE</emph>.
	  </li>
	</ul>
      </li>
      <li>
	Retourner la moyenne et l'écart-type de chacune de ces
	métriques.
      </li>
    </ul>
    <p>
      Le nombre de points du paramétrage est plus restreint pour le
      jeu de données <emph>insurance</emph>, car il comporte environ
      deux fois plus d'individus que <emph>wine</emph>.
    </p>
    <p>
      Nous utilisons les quatre métriques suivantes pour évaluer la
      régression semi-supervisée, où <h:eq>z</h:eq> désigne le label
      de l'ensemble de test, <h:eq>\hat z</h:eq> la prédiction, et
      <h:eq>\bar z</h:eq> la valeur moyenne sur l'ensemble
      d'apprentissage :
    </p>
    <ul>
      <li>
	<emph>RMSE</emph> ou <emph>Root Mean Squared Error</emph>,
	racine de l'erreur quadratique
	moyenne : <h:equation-x>\mathrm{RMSE} = \sqrt{\frac 1 {n_t}
	\left\|z - \hat z\right\|_2^2}</h:equation-x>
      </li>
      <li>
	<emph>MAE</emph> ou <emph>Mean Absolute Error</emph>, erreur
	absolue moyenne : <h:equation-x>\mathrm{MAE} = \frac 1 {n_t}
	\left|z - \hat z\right|</h:equation-x>
      </li>
      <li>
	<emph>RRSE</emph> ou <emph>Root Relative Squared Error</emph>,
	racine de l'erreur quadratique
	relative, <h:equation-x>\mathrm{RRSE} = \sqrt{\frac {\left\|z
	- \hat z\right\|_2^2} {\left\|z - \bar
	z\right\|_2^2}}</h:equation-x>
      </li>
      <li>
	<emph>RAE</emph> ou <emph>Relative Absolute Error</emph>,
	erreur en valeur absolue relative, <h:equation-x>\mathrm{RAE}
	= \frac {\left|z - \hat z\right|_2^2} {\left|z - \bar
	z\right|_2^2}</h:equation-x>
      </li>
    </ul>
    <h3>Résultats</h3>
    <p>
      Les résultats de la comparaison sont visibles dans les tables
      <h:ref href="#results-laps3l-rmse"/>-<h:ref href="#results-laps3l-rae"/>.
    </p>
    <table latex-align="|l|cc|">
      <caption id="results-laps3l-rmse">
	Comparaison entre <emph>LapS3L</emph> et <emph>SSSL</emph>
	sur <emph>wine</emph> et <emph>insurance</emph>, métrique
	RMSE.
      </caption>
      <thead>
	<tr><th>dataset</th>       <th><strong>LapS3L</strong></th><th> <emph>SSSL</emph></th></tr>
      </thead>
      <tbody>
	<tr><td>insurance (2%)</td><td><strong>0.20 ± 0.03</strong></td><td>0.21 ± 0.03</td></tr>
	<tr><td>insurance (3%)</td><td><strong>0.21 ± 0.02</strong></td><td>0.21 ± 0.02</td></tr>
	<tr><td>insurance (4%)</td><td><strong>0.21 ± 0.02</strong></td><td>0.22 ± 0.02</td></tr>
	<tr><td>insurance (5%)</td><td><strong>0.22 ± 0.02</strong></td><td>0.22 ± 0.02</td></tr>
	<tr><td>insurance (6%)</td><td><strong>0.22 ± 0.02</strong></td><td>0.22 ± 0.02</td></tr>
	<tr><td>insurance (7%)</td><td><strong>0.22 ± 0.02</strong></td><td>0.22 ± 0.02</td></tr>
	<tr><td>insurance (8%)</td><td><strong>0.22 ± 0.02</strong></td><td>0.23 ± 0.02</td></tr>
	<tr><td>insurance (9%)</td><td><strong>0.23 ± 0.01</strong></td><td>0.23 ± 0.02</td></tr>
	<tr><td>wine (2%)</td>     <td><strong>0.77 ± 0.06</strong></td><td>0.82 ± 0.06</td></tr>
	<tr><td>wine (3%)</td>     <td><strong>0.75 ± 0.05</strong></td><td>0.80 ± 0.05</td></tr>
	<tr><td>wine (4%)</td>     <td><strong>0.77 ± 0.06</strong></td><td>0.82 ± 0.05</td></tr>
	<tr><td>wine (5%)</td>     <td><strong>0.78 ± 0.05</strong></td><td>0.84 ± 0.06</td></tr>
	<tr><td>wine (6%)</td>     <td><strong>0.78 ± 0.03</strong></td><td>0.84 ± 0.04</td></tr>
	<tr><td>wine (7%)</td>     <td><strong>0.77 ± 0.04</strong></td><td>0.84 ± 0.03</td></tr>
	<tr><td>wine (8%)</td>     <td><strong>0.77 ± 0.04</strong></td><td>0.84 ± 0.04</td></tr>
	<tr><td>wine (9%)</td>     <td><strong>0.77 ± 0.04</strong></td><td>0.84 ± 0.04</td></tr>
      </tbody>
    </table>
    <table latex-align="|l|cc|">
      <caption id="results-laps3l-mae">
	Comparaison entre <emph>LapS3L</emph> et <emph>SSSL</emph>
	sur <emph>wine</emph> et <emph>insurance</emph>, métrique
	MAE.
      </caption>
      <thead>
	<tr><th>dataset</th>       <th><strong>LapS3L</strong></th><th> <emph>SSSL</emph></th></tr>
      </thead>
      <tbody>
	<tr><td>insurance (2%)</td><td><strong>0.07 ± 0.02</strong></td><td>0.12 ± 0.02</td></tr>
	<tr><td>insurance (3%)</td><td><strong>0.07 ± 0.03</strong></td><td>0.11 ± 0.01</td></tr>
	<tr><td>insurance (4%)</td><td><strong>0.09 ± 0.03</strong></td><td>0.11 ± 0.02</td></tr>
	<tr><td>insurance (5%)</td><td><strong>0.09 ± 0.03</strong></td><td>0.11 ± 0.02</td></tr>
	<tr><td>insurance (6%)</td><td><strong>0.09 ± 0.03</strong></td><td>0.11 ± 0.02</td></tr>
	<tr><td>insurance (7%)</td><td><strong>0.10 ± 0.02</strong></td><td>0.11 ± 0.02</td></tr>
	<tr><td>insurance (8%)</td><td><strong>0.10 ± 0.03</strong></td><td>0.11 ± 0.02</td></tr>
	<tr><td>insurance (9%)</td><td><strong>0.11 ± 0.01</strong></td><td>0.11 ± 0.01</td></tr>
	<tr><td>wine (2%)</td>     <td><strong>0.62 ± 0.05</strong></td><td>0.67 ± 0.05</td></tr>
	<tr><td>wine (3%)</td>     <td><strong>0.60 ± 0.04</strong></td><td>0.65 ± 0.05</td></tr>
	<tr><td>wine (4%)</td>     <td><strong>0.60 ± 0.05</strong></td><td>0.66 ± 0.04</td></tr>
	<tr><td>wine (5%)</td>     <td><strong>0.61 ± 0.04</strong></td><td>0.67 ± 0.04</td></tr>
	<tr><td>wine (6%)</td>     <td><strong>0.61 ± 0.03</strong></td><td>0.68 ± 0.03</td></tr>
	<tr><td>wine (7%)</td>     <td><strong>0.61 ± 0.03</strong></td><td>0.67 ± 0.03</td></tr>
	<tr><td>wine (8%)</td>     <td><strong>0.61 ± 0.03</strong></td><td>0.67 ± 0.04</td></tr>
	<tr><td>wine (9%)</td>     <td><strong>0.61 ± 0.03</strong></td><td>0.67 ± 0.04</td></tr>
      </tbody>
    </table>
    <table latex-align="|l|cc|">
      <caption id="results-laps3l-rrse">
	Comparaison entre <emph>LapS3L</emph> et <emph>SSSL</emph>
	sur <emph>wine</emph> et <emph>insurance</emph>, métrique
	RRSE.
      </caption>
      <thead>
	<tr><th>dataset</th>       <th><strong>LapS3L</strong></th><th> <emph>SSSL</emph></th></tr>
      </thead>
      <tbody>
	<tr><td>insurance (2%)</td><td><strong>0.71 ± 0.13</strong></td><td>1.04 ± 0.04</td></tr>
	<tr><td>insurance (3%)</td><td><strong>0.86 ± 0.10</strong></td><td>1.03 ± 0.03</td></tr>
	<tr><td>insurance (4%)</td><td><strong>0.91 ± 0.11</strong></td><td>1.02 ± 0.03</td></tr>
	<tr><td>insurance (5%)</td><td><strong>0.95 ± 0.07</strong></td><td>1.01 ± 0.01</td></tr>
	<tr><td>insurance (6%)</td><td><strong>0.96 ± 0.05</strong></td><td>1.00 ± 0.01</td></tr>
	<tr><td>insurance (7%)</td><td><strong>0.99 ± 0.03</strong></td><td>1.00 ± 0.01</td></tr>
	<tr><td>insurance (8%)</td><td><strong>0.97 ± 0.03</strong></td><td>1.00 ± 0.01</td></tr>
	<tr><td>insurance (9%)</td><td><strong>0.99 ± 0.01</strong></td><td>1.00 ± 0.00</td></tr>
	<tr><td>wine (2%)</td>     <td><strong>0.92 ± 0.05</strong></td><td>0.97 ± 0.03</td></tr>
	<tr><td>wine (3%)</td>     <td><strong>0.90 ± 0.05</strong></td><td>0.96 ± 0.04</td></tr>
	<tr><td>wine (4%)</td>     <td><strong>0.90 ± 0.03</strong></td><td>0.96 ± 0.02</td></tr>
	<tr><td>wine (5%)</td>     <td><strong>0.90 ± 0.03</strong></td><td>0.96 ± 0.02</td></tr>
	<tr><td>wine (6%)</td>     <td><strong>0.89 ± 0.02</strong></td><td>0.96 ± 0.01</td></tr>
	<tr><td>wine (7%)</td>     <td><strong>0.89 ± 0.02</strong></td><td>0.96 ± 0.02</td></tr>
	<tr><td>wine (8%)</td>     <td><strong>0.88 ± 0.02</strong></td><td>0.96 ± 0.02</td></tr>
	<tr><td>wine (9%)</td>     <td><strong>0.88 ± 0.02</strong></td><td>0.96 ± 0.01</td></tr>
      </tbody>
    </table>
    <table latex-align="|l|cc|">
      <caption id="results-laps3l-rae">
	Comparaison entre <emph>LapS3L</emph> et <emph>SSSL</emph>
	sur <emph>wine</emph> et <emph>insurance</emph>, métrique
	RAE.
      </caption>
      <thead>
	<tr><th>dataset</th>       <th><strong>LapS3L</strong></th><th> <emph>SSSL</emph></th></tr>
      </thead>
      <tbody>
	<tr><td>insurance (2%)</td><td><strong>0.47 ± 0.17</strong></td><td>1.02 ± 0.02</td></tr>
	<tr><td>insurance (3%)</td><td><strong>0.61 ± 0.25</strong></td><td>1.01 ± 0.02</td></tr>
	<tr><td>insurance (4%)</td><td><strong>0.76 ± 0.28</strong></td><td>1.01 ± 0.02</td></tr>
	<tr><td>insurance (5%)</td><td><strong>0.82 ± 0.25</strong></td><td>1.00 ± 0.02</td></tr>
	<tr><td>insurance (6%)</td><td><strong>0.80 ± 0.25</strong></td><td>1.00 ± 0.01</td></tr>
	<tr><td>insurance (7%)</td><td><strong>0.93 ± 0.15</strong></td><td>1.00 ± 0.01</td></tr>
	<tr><td>insurance (8%)</td><td><strong>0.89 ± 0.20</strong></td><td>0.99 ± 0.01</td></tr>
	<tr><td>insurance (9%)</td><td><strong>0.99 ± 0.01</strong></td><td>1.00 ± 0.02</td></tr>
	<tr><td>wine (2%)</td>     <td><strong>0.95 ± 0.07</strong></td><td>1.01 ± 0.03</td></tr>
	<tr><td>wine (3%)</td>     <td><strong>0.92 ± 0.07</strong></td><td>0.99 ± 0.03</td></tr>
	<tr><td>wine (4%)</td>     <td><strong>0.91 ± 0.06</strong></td><td>1.00 ± 0.03</td></tr>
	<tr><td>wine (5%)</td>     <td><strong>0.92 ± 0.05</strong></td><td>1.00 ± 0.03</td></tr>
	<tr><td>wine (6%)</td>     <td><strong>0.92 ± 0.04</strong></td><td>1.01 ± 0.02</td></tr>
	<tr><td>wine (7%)</td>     <td><strong>0.91 ± 0.03</strong></td><td>1.00 ± 0.03</td></tr>
	<tr><td>wine (8%)</td>     <td><strong>0.91 ± 0.04</strong></td><td>1.00 ± 0.03</td></tr>
	<tr><td>wine (9%)</td>     <td><strong>0.91 ± 0.03</strong></td><td>1.00 ± 0.03</td></tr>
      </tbody>
    </table>
    <p>
      Pour la métrique RMSE (table
      <h:ref href="#results-laps3l-rmse"/>), <emph>LapS3L</emph>
      et <emph>SSSL</emph> obtiennent une erreur de régression
      inférieure à 0.244 (pour insurance) et 0.89 (pour wine), qui
      étaient les lignes de base à dépasser. La métrique RMSE a été
      utilisée pour la recherche des hyperparamètres (ci-après
      dénotée <emph>tuning</emph>), ce qui n'est pas le cas pour la
      métrique MAE, dont la ligne de base n'est pas toujours
      respectée.
    </p>
    <p>
      Plus précisément, la table <h:ref href="#results-laps3l-mae"/>
      montre que <emph>LapS3L</emph> reste inférieur à la ligne de
      base pour wine (0.63), mais pas pour insurance
      (0.06). <emph>SSSL</emph> ne respecte aucune de ces lignes de
      base.
    </p>
    <p>
      Sur les deux jeux de données, quel que soit le nombre
      d'individus labellisés (entre 2% et 9% du total) et quelle que
      soit la métrique envisagée, l'approche <emph>LapS3L</emph> donne
      un meilleur résultat que l'approche <emph>SSSL</emph>. Ce n'est
      pas surprenant, puisque <emph>LapS3L</emph> est une
      généralisation de <emph>SSSL</emph>. Cela signifie en revanche
      qu'un tuning à 10 points (respectivement 20) pour insurance
      (respectivement wine) est suffisant pour explorer un espace de
      recherche de la solution plus grand.  Pour les métriques
      relatives, l'écart-type est plus faible pour <emph>SSSL</emph>,
      mais ce n'est pas très pertinent : en effet, pour les métriques
      relatives, les deux approches tendent à donner un résultat
      proche de 1. Par conséquent, <emph>LapS3L</emph> donnant parfois
      une erreur de régression bien plus faible, obtient un écart-type
      plus grand.
    </p>
    <p>
      En regardant de plus près le jeu de
      données <emph>insurance</emph>, on s'aperçoit que les
      performances sont bonnes pour un petit nombre de données
      labellisées (cf figure <h:ref href="#fig-rmse-insurance"/>). En
      effet, les limites imposées pour le tuning ne permettent pas de
      contrer le sur-apprentissage.
    </p>
    <figure>
      <img src="images/insurance_rmse.svg" />
      <figcaption id="fig-rmse-insurance">
	Performance de <emph>LapS3L</emph> et <emph>SSSL</emph>
	sur <emph>insurance</emph> (métrique RMSE)
      </figcaption>
    </figure>
    <p>
      La métrique MAE, toujours sur le jeu de
      données <emph>insurance</emph>
      (figure <h:ref href="#fig-mae-insurance"/>), montre une tendance
      similaire pour <emph>LapS3L</emph>, mais pas
      pour <emph>SSSL</emph>, ce qui justifie la pertinence de notre
      approche.
    </p>
    <figure>
      <img src="images/insurance_mae.svg" />
      <figcaption id="fig-mae-insurance">
	Performance de <emph>LapS3L</emph> et <emph>SSSL</emph>
	sur <emph>insurance</emph> (métrique MAE)
      </figcaption>
    </figure>
    <p>
      Nous pouvons donc conclure que l'approche proposée, en tant que
      généralisation stricte de <emph>SSSL</emph>, ne nécessite pas un
      tuning plus précis pour donner de meilleures performances. Il
      nous reste à vérifier si notre approche fonctionne hors des
      hypothèses de fonctionnement de <emph>SSSL</emph>.
    </p>
    <h2>Étude comparative</h2>
    <p>
      Dans cette section, nous élargissons la comparaison des
      performance à différents algorithmes sur d'autres jeux de
      données publics divers.
    </p>
    <h3>Jeux de données</h3>
    <p>
      Nous utilisons les jeux de données publics suivants :
    </p>
    <ul>
      <li>
	<emph>Concrete Compressive Strength</emph>
	(<emph>concrete</emph>)
	<h:fn>
	  <a href="https://archive.ics.uci.edu/ml/datasets/Concrete+Compressive+Strength">
	    https://archive.ics.uci.edu/ml/datasets/Concrete+Compressive+Strength
	  </a>
	</h:fn>
	observe des échantillons de béton comparant leur composition
	et leur âge, afin d'en déduire la pression de compression. Ce
	jeu de données comprend 1030 échantillons pour 9
	variables. Afin de pouvoir appliquer la fonction de noyau,
	toutes les variables du jeu de données sont normalisées de
	manière à avoir une moyenne nulle et un écart-type égal à 1 ;
      </li>
      <li>
	<emph>Airfoil Self-Noise</emph>
	(<emph>airfoil</emph>)
	<h:fn>
	  <a href="https://archive.ics.uci.edu/ml/datasets/Airfoil+Self-Noise">
	    https://archive.ics.uci.edu/ml/datasets/Airfoil+Self-Noise
	  </a>
	</h:fn>
	observe des hélices, afin d'en déduire le niveau de bruit. Il
	comprend 1503 observations pour 5 variables. Pour ce jeu de
	données, toutes les variables ont été redimensionnées de
	manière à obtenir une moyenne nulle et un écart-type égal à
	1 ;
      </li>
      <li>
	<emph>Behavior of the urban traffic of the city of Sao Paulo in Brazil</emph>
	(<emph>behavior</emph>)
	<h:fn>
	  <a href="https://archive.ics.uci.edu/ml/datasets/Behavior+of+the+urban+traffic+of+the+city+of+Sao+Paulo+in+Brazil">
	    https://archive.ics.uci.edu/ml/datasets/Behavior+of+the+urban+traffic+of+the+city+of+Sao+Paulo+in+Brazil
	  </a>
	</h:fn>
	mesure le retard du réseau comme la réponse à divers
	événements. Il ne comprend que 135 individus pour 18
	variables ;
      </li>
      <li>
	<emph>Communities and Crime Data Set</emph>
	(<emph>crimepredict</emph>)
	<h:fn>
	  <a href="https://archive.ics.uci.edu/ml/datasets/Communities+and+Crime">
	    https://archive.ics.uci.edu/ml/datasets/Communities+and+Crime
	  </a>
	</h:fn>
	mesure le nombre de crimes violents dans un certain nombre de
	communes aux États-Unis. Il comprend 1994 individus pour 123
	variables (en enlevant les variables d'index) décrivant les
	communes, y compris leur démographie. Ce jeu de données a été
	sélectionné parce qu'il contenait un nombre d'individus
	suffisamment faible pour l'apprentissage, avec des variables
	normalisées (ce qui permet d'appliquer directement une
	fonction de noyau).
      </li>
    </ul>
    <h3>Algorithmes</h3>
    <p>
      Dans la version non linéaire de
      l'algorithme <emph>LapRLS</emph><h:cite href="belkin_manifold_2006"/>,
      il s'agit de minimiser la fonction objectif suivante :
    </p>
    <h:mini>
      <h:variables>f \in \mathcal{H}_{\kappa}</h:variables>
      <h:objective>
	\left\|\hat {f_l} - {y_l}\right\|_2^2 + \alpha \left\|f\right\|_{\kappa}^2 + \beta \hat {f}' L \hat f
      </h:objective>
    </h:mini>
    <p>
      Ici, <h:eq>\mathcal{H}_{\kappa}</h:eq> désigne un espace de
      Hilbert à noyau reproduisant. Dans cet espace, une
      fonction <h:eq>f</h:eq> s'écrit de la façon suivante :
    </p>
    <h:equation>
      x \mapsto \sum_{i = 1}^N \alpha_i \kappa (x_i, x)
    </h:equation>
    <p>
      On note également <h:eq>\hat f</h:eq> l'application de la
      fonction <h:eq>f</h:eq> sur le jeu d'apprentissage (<h:eq>\hat
      {f_l}</h:eq> uniquement sur les individus labellisés).  La
      fonction objectif peut être résolue de manière analytique en
      posant :
    </p>
    <h:equation>
      \alpha \gets \left[JK + \alpha I + \beta LK\right]^{-1} J Y
    </h:equation>
    <p>
      avec <h:eq>J</h:eq> la matrice diagonale de
      dimension <h:eq>N,N</h:eq> dont la diagonale en <h:eq>(i,
      i)</h:eq> vaut 1 si l'individu <h:eq>i</h:eq> est
      labellisé, <h:eq>0</h:eq> sinon.
    </p>
    <p>
      En plus de la version non linéaire de <emph>LapRLS</emph>, ainsi
      que de <emph>SSSL</emph>, nous comparons avec une forêt
      aléatoire (<emph>TB</emph> pour <emph>Tree Bagging</emph>
      <h:cite href="ho1995random"/>) comprenant entre 1 et 1000
      arbres, et l'algorithme <emph>ν-SVR</emph>
      <h:cite href="nusvm"/>.
    </p>
    <p>
      La comparaison de ces algorithmes sur les 4 jeux de données
      donnent les résultats dans la table
      <h:ref href="#tbl-laps3l-vs-the-world"/>.
    </p>
    <table latex-align="llllll">
      <caption id="tbl-laps3l-vs-the-world">
	Comparaison de <emph>LapS3L</emph> contre d’autres
	algorithmes de régression, métrique RMSE
      </caption>
      <thead>
	<tr>
	  <th>dataset</th>
	  <th><strong>LapS3L</strong></th>
	  <th><emph>LapRLS</emph></th>
	  <th><emph>SSSL</emph></th>
	  <th><emph>ν-SVR</emph></th>
	  <th><emph>TB</emph></th>
	</tr>
      </thead>
      <tbody>
	<tr>
	  <td>airfoil (2%)</td>
	  <td><strong>0.65 ± 0.09</strong></td>
	  <td>0.73 ± 0.11</td>
	  <td>0.70 ± 0.13</td>
	  <td>0.78 ± 0.09</td>
	  <td>0.74 ± 0.07</td>
	</tr>
	<tr>
	  <td>airfoil (3%)</td>
	  <td><strong>0.67 ± 0.08</strong></td>
	  <td>0.69 ± 0.11</td>
	  <td>0.75 ± 0.10</td>
	  <td>0.80 ± 0.11</td>
	  <td>0.75 ± 0.08</td>
	</tr>
	<tr>
	  <td>airfoil (4%)</td>
	  <td><strong>0.64 ± 0.09</strong></td>
	  <td>0.66 ± 0.10</td>
	  <td>0.71 ± 0.07</td>
	  <td>0.78 ± 0.10</td>
	  <td>0.68 ± 0.07</td>
	</tr>
	<tr>
	  <td>airfoil (5%)</td>
	  <td><strong>0.62 ± 0.08</strong></td>
	  <td>0.63 ± 0.09</td>
	  <td>0.72 ± 0.05</td>
	  <td>0.77 ± 0.06</td>
	  <td>0.68 ± 0.06</td>
	</tr>
	<tr>
	  <td>airfoil (6%)</td>
	  <td>0.63 ± 0.06</td>
	  <td><strong>0.62 ± 0.07</strong></td>
	  <td>0.72 ± 0.04</td>
	  <td>0.77 ± 0.05</td>
	  <td>0.66 ± 0.05</td>
	</tr>
	<tr>
	  <td>airfoil (7%)</td>
	  <td><strong>0.59 ± 0.05</strong></td>
	  <td>0.60 ± 0.06</td>
	  <td>0.71 ± 0.05</td>
	  <td>0.75 ± 0.04</td>
	  <td>0.64 ± 0.04</td>
	</tr>
	<tr>
	  <td>airfoil (8%)</td>
	  <td>0.59 ± 0.04</td>
	  <td><strong>0.57 ± 0.06</strong></td>
	  <td>0.70 ± 0.05</td>
	  <td>0.74 ± 0.03</td>
	  <td>0.61 ± 0.04</td>
	</tr>
	<tr>
	  <td>airfoil (9%)</td>
	  <td>0.57 ± 0.03</td>
	  <td><strong>0.55 ± 0.05</strong></td>
	  <td>0.70 ± 0.05</td>
	  <td>0.73 ± 0.03</td>
	  <td>0.58 ± 0.03</td>
	</tr>
	<tr>
	  <td>behavior (2%)</td>
	  <td><strong>4.15 ± 2.73</strong></td>
	  <td>5.04 ± 2.58</td>
	  <td><emph>erreur</emph></td>
	  <td><emph>erreur</emph></td>
	  <td>5.26 ± 3.59</td>
	</tr>
	<tr>
	  <td>behavior (3%)</td>
	  <td><strong>2.64 ± 1.56</strong></td>
	  <td>3.84 ± 1.76</td>
	  <td>3.64 ± 3.68</td>
	  <td>3.08 ± 1.74</td>
	  <td>3.26 ± 1.81</td>
	</tr>
	<tr>
	  <td>behavior (4%)</td>
	  <td><strong>2.42 ± 0.82</strong></td>
	  <td>3.60 ± 1.48</td>
	  <td>3.98 ± 2.91</td>
	  <td>3.14 ± 0.97</td>
	  <td>3.09 ± 1.21</td>
	</tr>
	<tr>
	  <td>behavior (5%)</td>
	  <td><strong>2.48 ± 0.61</strong></td>
	  <td>3.39 ± 1.03</td>
	  <td>3.83 ± 2.25</td>
	  <td>2.61 ± 0.67</td>
	  <td>3.00 ± 0.92</td>
	</tr>
	<tr>
	  <td>behavior (6%)</td>
	  <td><strong>2.58 ± 0.74</strong></td>
	  <td>3.66 ± 0.60</td>
	  <td>3.64 ± 1.75</td>
	  <td>2.72 ± 0.53</td>
	  <td>3.06 ± 0.76</td>
	</tr>
	<tr>
	  <td>behavior (7%)</td>
	  <td><strong>2.49 ± 0.97</strong></td>
	  <td>3.52 ± 0.76</td>
	  <td>3.05 ± 1.19</td>
	  <td>2.76 ± 0.96</td>
	  <td>2.93 ± 0.88</td>
	</tr>
	<tr>
	  <td>behavior (8%)</td>
	  <td><strong>2.57 ± 0.83</strong></td>
	  <td>3.32 ± 0.68</td>
	  <td>3.13 ± 0.77</td>
	  <td>2.77 ± 0.87</td>
	  <td>2.79 ± 0.69</td>
	</tr>
	<tr>
	  <td>behavior (9%)</td>
	  <td><strong>2.55 ± 0.73</strong></td>
	  <td>3.35 ± 0.60</td>
	  <td>2.69 ± 0.81</td>
	  <td>2.61 ± 0.87</td>
	  <td>2.78 ± 0.52</td>
	</tr>
	<tr>
	  <td>concrete (2%)</td>
	  <td><strong>0.49 ± 0.12</strong></td>
	  <td>0.60 ± 0.14</td>
	  <td>0.60 ± 0.17</td>
	  <td>0.60 ± 0.10</td>
	  <td>0.61 ± 0.13</td>
	</tr>
	<tr>
	  <td>concrete (3%)</td>
	  <td><strong>0.46 ± 0.09</strong></td>
	  <td>0.57 ± 0.11</td>
	  <td>0.58 ± 0.14</td>
	  <td>0.59 ± 0.10</td>
	  <td>0.62 ± 0.10</td>
	</tr>
	<tr>
	  <td>concrete (4%)</td>
	  <td><strong>0.46 ± 0.12</strong></td>
	  <td>0.58 ± 0.12</td>
	  <td>0.53 ± 0.14</td>
	  <td>0.56 ± 0.12</td>
	  <td>0.61 ± 0.11</td>
	</tr>
	<tr>
	  <td>concrete (5%)</td>
	  <td><strong>0.49 ± 0.11</strong></td>
	  <td>0.59 ± 0.12</td>
	  <td>0.55 ± 0.13</td>
	  <td>0.56 ± 0.09</td>
	  <td>0.62 ± 0.10</td>
	</tr>
	<tr>
	  <td>concrete (6%)</td>
	  <td><strong>0.48 ± 0.08</strong></td>
	  <td>0.53 ± 0.09</td>
	  <td>0.53 ± 0.10</td>
	  <td>0.53 ± 0.08</td>
	  <td>0.59 ± 0.11</td>
	</tr>
	<tr>
	  <td>concrete (7%)</td>
	  <td><strong>0.47 ± 0.07</strong></td>
	  <td>0.52 ± 0.10</td>
	  <td>0.50 ± 0.09</td>
	  <td>0.51 ± 0.08</td>
	  <td>0.58 ± 0.09</td>
	</tr>
	<tr>
	  <td>concrete (8%)</td>
	  <td><strong>0.45 ± 0.07</strong></td>
	  <td>0.53 ± 0.09</td>
	  <td>0.47 ± 0.09</td>
	  <td>0.48 ± 0.06</td>
	  <td>0.55 ± 0.08</td>
	</tr>
	<tr>
	  <td>concrete (9%)</td>
	  <td><strong>0.43 ± 0.06</strong></td>
	  <td>0.47 ± 0.07</td>
	  <td>0.47 ± 0.07</td>
	  <td>0.47 ± 0.05</td>
	  <td>0.54 ± 0.07</td>
	</tr>
	<tr>
	  <td>crimepredict (2%)</td>
	  <td><strong>0.15 ± 0.02</strong></td>
	  <td>0.18 ± 0.03</td>
	  <td>0.15 ± 0.03</td>
	  <td>0.16 ± 0.02</td>
	  <td>0.15 ± 0.02</td>
	</tr>
	<tr>
	  <td>crimepredict (3%)</td>
	  <td><strong>0.15 ± 0.03</strong></td>
	  <td>0.17 ± 0.03</td>
	  <td>0.15 ± 0.03</td>
	  <td>0.16 ± 0.04</td>
	  <td>0.15 ± 0.02</td>
	</tr>
	<tr>
	  <td>crimepredict (4%)</td>
	  <td><strong>0.14 ± 0.02</strong></td>
	  <td>0.16 ± 0.02</td>
	  <td>0.14 ± 0.02</td>
	  <td>0.16 ± 0.03</td>
	  <td>0.14 ± 0.01</td>
	</tr>
	<tr>
	  <td>crimepredict (5%)</td>
	  <td><strong>0.14 ± 0.02</strong></td>
	  <td>0.17 ± 0.02</td>
	  <td>0.15 ± 0.02</td>
	  <td>0.17 ± 0.02</td>
	  <td>0.15 ± 0.02</td>
	</tr>
	<tr>
	  <td>crimepredict (6%)</td>
	  <td><strong>0.15 ± 0.01</strong></td>
	  <td>0.17 ± 0.01</td>
	  <td>0.15 ± 0.01</td>
	  <td>0.17 ± 0.02</td>
	  <td>0.15 ± 0.01</td>
	</tr>
	<tr>
	  <td>crimepredict (7%)</td>
	  <td><strong>0.14 ± 0.01</strong></td>
	  <td>0.17 ± 0.01</td>
	  <td>0.15 ± 0.01</td>
	  <td>0.17 ± 0.02</td>
	  <td>0.15 ± 0.01</td>
	</tr>
	<tr>
	  <td>crimepredict (8%)</td>
	  <td><strong>0.14 ± 0.01</strong></td>
	  <td>0.17 ± 0.01</td>
	  <td>0.14 ± 0.01</td>
	  <td>0.16 ± 0.02</td>
	  <td>0.14 ± 0.00</td>
	</tr>
	<tr>
	  <td>crimepredict (9%)</td>
	  <td><strong>0.14 ± 0.01</strong></td>
	  <td>0.16 ± 0.01</td>
	  <td>0.14 ± 0.01</td>
	  <td>0.16 ± 0.02</td>
	  <td>0.14 ± 0.01</td>
	</tr>
      </tbody>
    </table>
    <p>
      L'approche <emph>LapS3L</emph> donne de meilleurs résultats sur
      les jeux de données <emph>behavior</emph>, <emph>concrete</emph>
      et <emph>crimepredict</emph>. Seul le jeu de
      données <emph>airfoil</emph> est partagé
      entre <emph>LapS3L</emph> et <emph>LapRLS</emph>. Notons que le
      jeu de données <emph>behavior</emph>, qui comporte un très
      faible nombre d'individus, ne permet pas d'obtenir suffisamment
      de vecteurs supports pour le ν-SVR en ne conservant que 2% des
      labels, et ne permet pas à l'algorithme <emph>SSSL</emph> de
      trouver une solution, puisque la matrice de covariance est
      toujours trop faible.
    </p>
    <h2>Application aux données de réseau d’assainissement</h2>
    <p>
      Dans cette section, nous utilisons un jeu de données dont le but
      est la reconstitution de l'âge des canalisations des réseaux
      d'assainissement de la ville de Lyon. L'inspection des
      canalisations est une tâche complexe, et étant donné le faible
      nombre de canalisations inspectées chaque année, il est
      nécessaire de privilégier l'inspection des canalisations les
      plus dégradées.
    </p>
    <p>
      Pour savoir quelles canalisations sont dégradées, il est
      nécessaire d'en connaître la date de pose
      <h:cite href="davies2001factors,ahmadi_2014_influence,harvey2014predicting"/>,
      qui indique l'âge et les techniques employées (celles-ci ont
      évolué au cours du dernier siècle).
    </p>
    <p>
      Parmi les 85766 canalisations recensées, 24% seulement ont une
      date de pose connue. Le jeu de données est composé de 4
      variables catégorielles (forme, matériau, type d'effluent, et si
      la canalisation fait partie du réseau structurant), et 3
      variables continues (largeur, hauteur, longueur).
    </p>
    <h3>Pré-traitement des données</h3>
    <p>
      D'après les registres de pose, il y a toujours eu chaque année
      une quantité comparable de canalisations posées, si l'on exclut
      les périodes de guerre. En revanche, les informations
      historiques qui nous sont parvenues ne nous permettent de
      connaître principalement que les dates de pose des canalisations
      récentes (voir figure <h:ref href="#fig-hireaugramme" />). Le
      réseau ne s'est pas construit uniquement à partir de 1975 ; les
      dates de pose des canalisations anciennes (qui sont l'objectif
      principal de l'application) sont majoritairement inconnues.
    </p>
    <figure>
      <img src="images/hireaugramme.png" />
      <figcaption id="fig-hireaugramme">
	Histogramme montrant la répartition des dates de pose des
	canalisations connues.
      </figcaption>
    </figure>
    <p>
      En effectuant un apprentissage sur ces données, les
      canalisations anciennes sont majoritairement ignorées ou
      considérées comme des observations anormales. Or, ce sont
      précisément ces canalisations dont on veut connaître la date de
      pose.
    </p>
    <p>
      Nous avons donc ré-échantillonné le jeu de données, afin de
      sélectionner 2000 conduites dont la date de pose suit une loi
      uniforme (en sachant qu'il existe des périodes entières pendant
      lesquelles aucune canalisation n'est connue ; la canalisation
      est donc tirée au bord de ces périodes), et 2000 canalisations
      parmi tout l'ensemble de données pour le jeu de données non
      labellisé.
    </p>
    <h3>Résultats</h3>
    <p>
      La métrique évaluée est la RMSE. Les trois algorithmes comparés
      sont <emph>LapS3L</emph>, <emph>SSSL</emph>
      et <emph>LapRLS</emph> (non-linéaire). L'erreur de régression en
      année est donnée par la table <h:ref href="#tbl-hireau"/>. Notre
      approche donne une erreur de régression plus faible.
    </p>
    <table latex-align="ccc">
      <caption id="tbl-hireau">
	Métrique RMSE pour le jeu de données d'assainissement en année
	pour
	<emph>LapS3L</emph>,
	<emph>SSSL</emph>,
	<emph>LapRLS</emph>
      </caption>
      <thead>
	<tr>
	  <th><strong>LapS3L</strong></th>
	  <th><emph>SSSL</emph></th>
	  <th><emph>LapRLS</emph></th>
	</tr>
      </thead>
      <tbody>
	<tr>
	  <td>8.69</td>
	  <td>10.03</td>
	  <td>13.70</td>
	</tr>
      </tbody>
    </table>
    <p>
      L'évolution de la performance de l'algorithme en fonction du
      nombre de composantes <h:eq>s</h:eq> (figure
      <h:ref href="#fig-hireau-s"/>) montre qu'il est nécessaire de
      conserver un grand nombre de composantes pour un bon
      fonctionnement de l'algorithme. C'est un avantage
      de <emph>LapS3L</emph>, puisque lorsque le nombre de composantes
      extraites est supérieur au rang de la matrice de covariance,
      <emph>SSSL</emph> ne donne pas de solution, alors que la
      régularisation effectuée par <emph>LapS3L</emph> le permet.
    </p>
    <p>
      L'erreur de régression de <emph>LapRLS</emph> est une constante,
      puisqu'elle ne dépend pas du nombre de composantes. L'erreur de
      régression pour <emph>SSSL</emph> diminue jusqu'à atteindre son
      minimum pour 100 composantes principales, puis elle monte très
      abruptement. L'erreur de régression de <emph>LapS3L</emph> suit
      celle de <emph>SSSL</emph>, remonte moins abruptement entre 100
      et 200 composantes, puis baisse à nouveau jusqu'à 2000
      composantes, en atteignant le minimum pour les trois
      algorithmes, après quoi elle augmente elle aussi très
      abruptement.
    </p>
    <figure>
      <img src="images/hireau-s.png" />
      <figcaption id="fig-hireau-s">
	Évolution de la performance
	de <emph>LapS3L</emph>, <emph>SSSL</emph>,
	et <emph>LapRLS</emph>, en fonction du nombre de composantes
	sélectionnées (en échelle logarithmique)
      </figcaption>
    </figure>
    <h2>Conclusion</h2>
    <p>
      Nous avons proposé un algorithme de régression semi-supervisé,
      <emph>LapS3L</emph>, comme une extension stricte de
      l'algorithme <emph>SSSL</emph>. Par conséquent, au prix
      d'un <emph>tuning</emph> plus précis, <emph>LapS3L</emph> a
      donné de meilleures performances que son concurrent. Nous avons
      montré expérimentalement que pour un tuning de même complexité
      pour <emph>SSSL</emph> et <emph>LapS3L</emph>, <emph>LapS3L</emph>
      donne une plus faible erreur de régression sur les deux jeux de
      données publics utilisés dans l'article d'origine
      de <emph>SSSL</emph>. Nous avons montré également que
      <emph>LapS3L</emph> est compétitif sur d'autres jeux de données
      de régression. Enfin, nous avons montré expérimentalement
      l'importance de la régularisation employée dans un cas
      d'application réelle.
    </p>
    <h1 short="LSMR">Régression semi-supervisée multi-labels : une approche régularisée</h1>
    <h:résumé-chapitre>
      <p>
	Dans ce chapitre, nous reprenons le travail décrit dans le
	chapitre précédent, pour l'étendre dans le cadre de
	l'apprentissage multi-labels.  Nous menons également une étude
	expérimentale détaillée sur des jeux de données publics
	spécifiques.
      </p>
      <p>
	L'idée de cette extension consiste à modifier la
	régularisation employée. En effet, il est possible d'employer
	des régularisations multi-labels, or la régularisation
	employée pour <emph>LapS3L</emph> ne l'est pas.
      </p>
    </h:résumé-chapitre>
    <h2>Introduction</h2>
    <p>
      L'un des défis principaux de l'apprentissage automatique moderne
      consiste à apprendre à partir de données labellisées à la main
      ainsi que de données non labellisées, qui sont généralement plus
      faciles à obtenir. L'apprentissage faiblement labellisé
      <h:cite href="li_convex_2013"/>, et plus particulièrement
      l'apprentissage semi-supervisé
      <h:cite href="chapelle_semi-supervised_2006,zhu_semi-supervised_nodate"/>,
      abordent ce défi en utilisant soit des approches de propagation
      de labels pour suppléer des méthodes supervisées
      <h:cite href="zhu_semi-supervised_nodate,zhao_learning_2015"/>,
      ou utilisent l'information des labels comme contraintes pour des
      méthodes non supervisées
      <h:cite href="basu_constrained_2009,zhang2012trace"/>.
    </p>
    <p>
      De nombreuses méthodes semi-supervisées fondées sur des méthodes
      supervisées ont été proposées. Par exemple, on retrouve des
      adaptations telles que le <emph>self-training</emph>
      <h:cite href="selftraining"/> ou <emph>co-training</emph>
      <h:cite href="blum_combining_1998,zhou_semi-supervised_2005"/>,
      des cas d'apprentissage <emph>transductif</emph>
      <h:cite href="joachims1999transductive,bennett1999semi"/>, ou
      des méthodes génératives <h:cite href="nigam2000text"/>.
    </p>
    <p>
      Dans le cas particulier de la régression, avec une prédiction
      numérique, des applications spécifiques sont proposées
      <h:cite href="azriel_semi-supervised_2016,ryan_semi-supervised_2015"/>,
      et on retrouve principalement des approches fondées sur
      l'apprentissage de représentation de l'espace
      <h:cite href="ji_simple_2012"/> ou utilisant un graphe entre
      individus tenant compte de la similarité
      <h:cite href="moscovich_minimax-optimal_nodate"/>, avec une
      insistance particulière sur la régularisation Laplacienne
      <h:cite href="cai_semi-supervised_2006,belkin_manifold_2006"/>.
    </p>
    <p>
      De plus, l'apprentissage multi-labels vise à exploiter les
      relations entre <emph>labels</emph> pour apporter plus
      d'information à la tâche d'apprentissage. Des travaux théoriques
      ont été proposés <h:cite href="gasse_optimality_2015"/>, et de
      nombreuses méthodes multi-labels ont été proposées
      <h:cite href="borchani_survey_2015,spyromitros_xioufis_multi_target_2016"/>. Certaines
      stratégies transforment un problème multi-labels en plusieurs
      problèmes mono-label
      <h:cite href="read2011classifier,liu_easy--hard_2017"/>, et il
      est parfois possible d'étendre directement le problème au cadre
      multi-labels, comme pour les processus gaussiens
      <h:cite href="yu_learning_2005" />.
    </p>
    <p>
      De nombreux algorithmes d'apprentissage multi-labels minimisent
      une fonction objectif régularisée. Ce peut être avec une
      régularisation non-convexe <h:cite href="msmtfl,l21m2"/>, mais
      les approches convexes sont plus fréquentes, avec l'adaptation
      de l'algorithme LASSO <h:cite href="tibshirani1996regression"/>
      au cadre multi-labels
      <h:cite href="argyriou_multitask_nodate,mifs"/>, ou le
      <emph>Clustered Multik-Task Learning</emph>
      <h:cite href="cmtl"/>, ou d'autres approches d'apprentissage de
      représentation de l'espace des labels
      <h:cite href="chen_feature-aware_2012,luo_adaptive_2017"/>.
    </p>
    <p>
      Pour l'apprentissage de régression, les méthodes spécifiques
      sont plus rares. Il est d'usage de modifier la fonction objectif
      pour utiliser des labels à valeurs réelles
      <h:cite href="malsar"/>.
    </p>
    <h2>Travaux liés</h2>
    <p>
      Pour l'apprentissage de régression mono-label, nous avons
      démontré l'intérêt d'utiliser une version régularisée de
      l'algorithme <emph>SSSL</emph> <h:cite href="ji_simple_2012"/>
      grâce à la régularisation Laplacienne. La caractéristique
      principale de cette famille d'algorithmes réside dans leur
      fonctionnement en deux étapes, qui permettent dans un premier
      temps de faire un changement d'espace <emph>non-supervisé</emph>
      propice à l'apprentissage de régression de certains jeux de
      données, puis d'adopter une <emph>régression linéaire</emph>
      dans ce nouvel espace.
    </p>
    <p>
      Pour rappel, l'utilisation de la régularisation Laplacienne dans
      le nouvel espace permet de lier les deux espaces de description
      des individus, dans le but de satisfaire l'hypothèse suivante :
    </p>
    <blockquote>
      Si deux individus sont proches dans l'espace réel, alors l'écart
      de prédiction doit être faible.
    </blockquote>
    <p>
      Nous avons montré expérimentalement que la complexité
      supplémentaire due à l'introduction de cette régularisation ne
      nécessite pas de procédure de tuning plus complexe.
    </p>
    <p>
      Comme évoqué ci-dessus, il est aussi possible d'utiliser la
      régression Laplacienne pour traiter le problème d'apprentissage
      multi-labels <h:cite href="malsar"/>. Dans cette approche, on
      construit un graphe des labels, et il s'agit de régulariser le
      modèle de façon à introduire l'hypothèse suivante :
    </p>
    <blockquote>
      Si deux labels sont similaires, les valeurs du modèle pour ces
      deux labels doivent être similaires.
    </blockquote>
    <h2>Approche proposée : <emph>LSMR</emph></h2>
    <h3>Notations</h3>
    <p>
      Les individus sont décrits dans l'espace des variables supposé
      être de
      dimension <h:eq>d</h:eq>, <h:eq>\mathbb{R}^{d}</h:eq>. L'ensemble
      des labels est de dimension <h:eq>m</h:eq>. Étant donné que le
      problème est celui de la régression, cet espace est décrit
      dans <h:eq>\mathbb{R}^{m}</h:eq>.
    </p>
    <p>
      Notons <h:eq>\mathcal{V} \in \mathbb{R}^{N, d}</h:eq> la matrice
      de données, dont les lignes correspondent aux individus. On note
      <h:eq>n_l</h:eq> le nombre d'individus labellisés au total.
    </p>
    <p>
      Associée à cette matrice de données, la matrice de labels de
      régression <h:eq>Y \in \mathbb{R}^{N, m}</h:eq> contient une
      ligne par individu ; seules les lignes correspondant aux
      individus labellisés sont renseignées. On suppose que tous les
      labels sont manquants simultanément : si un individu est
      labellisé, les valeurs de tous les labels sont
      renseignés. Sinon, aucune valeur n'est renseignée.
    </p>
    <h3>Première étape : changement d’espace</h3>
    <p>
      Comme pour l'algorithme <emph>SSSL</emph>
      et <emph>LapS3L</emph>, une première étape consiste à choisir
      une fonction noyau symétrique, <h:eq>\kappa \colon \mathbb{R}^d
      \times \mathbb{R}^d \to \mathbb{R}</h:eq>, et à construire la
      matrice noyau entre tous les individus de l'ensemble
      d'apprentissage :
    </p>
    <h:equation>
      \forall i, j \in \{1, ..., N\}, \quad K_{i, j} = \kappa (\mathcal{V}_{i, .}, \mathcal{V}_{j, .})
    </h:equation>
    <p>
      <h:eq>K</h:eq> étant une matrice symétrique réelle, on peut en
      extraire les <h:eq>s</h:eq> valeurs propres réelles les plus
      élevées, pour <h:eq>s \leq N</h:eq>, et les vecteurs propres
      associés. Ces derniers forment une matrice <h:eq>U \in
      \mathbb{R}^{N,s}</h:eq>, dont les colonnes sont de norme
      unitaire, où chaque ligne correspond à un individu de l'ensemble
      d'apprentissage. Étant donné que l'on n'utilise pas la matrice
      de labels, cette première étape est non supervisée.
    </p>
    <p>
      Le changement d'espace s'obtient en posant :
    </p>
    <h:equation>
      X \gets K U
    </h:equation>
    <p>
      La matrice <h:eq>X</h:eq> comprend donc une ligne par individu,
      et nous pouvons en extraire la sous-matrice correspondant aux
      individus labellisés comme <h:eq>X_l \in \mathbb{R}^{n,
      s}</h:eq>.
    </p>
    <h3>Régularisation semi-supervisée multi-labels</h3>
    <p>
      En reprenant l'algorithme <emph>LapS3L</emph>, la régression
      semi-supervisée qui définit la seconde étape de l'algorithme
      utilise deux termes de régularisation :
    </p>
    <ul>
      <li>une régularisation <emph>Laplacienne</emph>,</li>
      <li>une régularisation <emph>Ridge</emph>, qui pénalise la
	complexité du modèle.</li>
    </ul>
    <p>
      Nous proposons de remplacer le terme de
      régularisation <emph>Ridge</emph> en régularisation Laplacienne
      multi-labels. Ainsi, en définissant le graphe des labels par la
      matrice d'adjacence <h:eq>M_m \in \mathbb{R}^{m, m}</h:eq>, et
      le graphe des individus par la matrice d'adjacence <h:eq>M_s \in
      \mathbb{R}^{N, N}</h:eq>, le terme à pénaliser devient :
    </p>
    <h:mini id="lsmr-regu">
      <h:variables>W \in \mathbb{R}^{d, m}</h:variables>
      <h:objective>
	\left\|X_l W - Y_l\right\|_F^2 + \alpha \mathrm{tr} (W'X'L_sXW) + \beta \mathrm{tr} (W L_m W')
      </h:objective>
    </h:mini>
    <p>
      où :
    </p>
    <ul>
      <li>
	<h:eq>\alpha</h:eq> est le régulariseur semi-supervisé ;
      </li>
      <li>
	<h:eq>\beta</h:eq> est le régulariseur multi-labels ;
      </li>
      <li>
	<h:eq>L_s</h:eq> est la matrice Laplacienne du graphe des
	individus,

	<h:equation-x>L_s = D_s - M_s</h:equation-x>

	avec <h:eq>D_s</h:eq> la matrice de degré du graphe des
	individus,

	<h:equation-x>
	  \forall i \in \{1, ..., N\}, \quad {D_s} (i, i) = \sum_{j = 1}^N {M_s} (i, j)
	</h:equation-x>
      </li>
      <li>
	<h:eq>L_m</h:eq> est la matrice Laplacienne du graphe des labels, 

	<h:equation-x>L_m = D_m - M_m</h:equation-x> 

	avec <h:eq>D_m</h:eq> la matrice de degré du graphe des labels,

	<h:equation-x>
	  \forall k \in \{1, ..., m\}, \quad {D_m} (k, k) = \sum_{l = 1}^m {M_m} (k, l)
	</h:equation-x>
      </li>
    </ul>
    <p>
      La pénalisation est rendue explicite sur des exemples figure
      <h:ref href="#fig-bothsemimulti"/>. En haut, le graphe est
      construit à partir de 4 individus ; la proximité dans l'espace
      des variables est indiquée par une arête. En bas, le graphe est
      construit à partir de 3 labels ; une arête relie deux labels
      ayant souvent des valeurs similaires sur beaucoup
      d'individus. Pour l'apprentissage semi-supervisé, en haut, les
      labels sont considérés de manière indépendante. On note à
      l'intérieur du cercle la valeur prédite par le modèle pour un
      label. Pour l'apprentissage multi-labels, en bas, chaque label a
      un modèle linéaire, dont les poids sont représentés sur une
      colonne. La valeur de chaque poids du modèle est représentée par
      une couleur différente. Dans la partie gauche de la figure, la
      pénalisation est faible, puisque le modèle donne des valeurs
      similaires aux individus liés (en haut) et les modèles sont
      similaires pour des labels reliés (en bas). À droite, la
      pénalisation est plus forte.
    </p>
    <figure>
      <img src="images/bothsemimulti.svg" />
      <figcaption id="fig-bothsemimulti">
	Exemples de pénalisation pour l'apprentissage semi-supervisé
	(en haut) et l'apprentissage multi-labels (en bas)
      </figcaption>
    </figure>
    <p>
      Dans la suite, nous appellerons la modification
      proposée <emph>LSMR</emph>, pour <emph>Laplacian-regularized
      Simple algorithm for Semi-supervised multi-labels
      Regression</emph>. La modification proposée de l'algorithme
      <emph>LapS3L</emph> consiste toujours en une extension de
      l'algorithme <emph>SSSL</emph>, mais sa différence
      avec <emph>LapS3L</emph> réside dans un autre choix pour la
      régularisation Ridge.
    </p>
    <h2>Algorithme d’optimisation</h2>
    <p>
      La fonction objectif employée dans
      l'algorithme <emph>LapS3L</emph> admet une solution analytique,
      qui permet d'obtenir la valeur du modèle <h:eq>W</h:eq> grâce à
      une résolution d'un système linéaire de dimension <h:eq>s \times
      s</h:eq>. Malheureusement, on ne peut pas l'appliquer
      directement pour <emph>LSMR</emph>, à moins d'avoir à résoudre
      <h:eq>m^2</h:eq> systèmes linéaires distincts. Cette limitation
      est commune à beaucoup de méthodes de régularisation
      multi-labels, ce qui pousse les méthodes de MALSAR à adopter une
      méthode d'optimisation différente.
    </p>
    <h3>Descente de gradient</h3>
    <p>
      La fonction objectif obtenue dans <h:ref href="#lsmr-regu"/>
      présente les caractéristiques suivantes :
    </p>
    <ul>
      <li>
	la variable d'optimisation, <h:eq>W</h:eq>, est réelle ;
      </li>
      <li>
	la fonction objectif est convexe, si les arêtes des matrices
	d'adjacence des graphes des individus et des labels sont à
	poids positifs ;
      </li>
      <li>la fonction objectif est lisse.</li>
    </ul>
    <p>
      Par conséquent, le problème peut être résolu par descente de
      gradient, dont le calcul est donné par
      <h:eqref href="#lsmr-gradient"/>.
    </p>
    <h:equation id="lsmr-gradient">
      2 \left[X_l' X_l + \alpha X' L_s X\right] W - 2 X_l' Y_l + 2 \beta W L_m
    </h:equation>
    <h3>Pas d’apprentissage</h3>
    <p>
      L'algorithme de descente du gradient produit des itérations de
      descente de l'erreur d'apprentissage jusqu'à convergence de la
      variable d'optimisation. Chaque itération consiste à calculer la
      valeur du gradient au point donné pour la valeur courante de la
      variable d'optimisation, <h:eq>\nabla_W</h:eq> (selon
      <h:eqref href="#lsmr-gradient"/>), puis poser :
    </p>
    <h:equation>
      W \gets W - \eta \nabla_W
    </h:equation>
    <p><h:eq>\eta</h:eq> est le <emph>pas d'apprentissage</emph>.
      Dans notre cas, le gradient <h:ref href="#lsmr-gradient"/> est
      une fonction Lipschitzienne : pour deux valeurs quelconques du
      modèle, <h:eq>P, Q \in \mathbb{R}^{s, m}</h:eq>,
    </p>
    <h:equation>
      \left\|\nabla_W (P) - \nabla_W (Q)\right\|_F^2 \leq C \left\|P - Q\right\|_F^2
    </h:equation>
    <p>
      avec :
    </p>
    <h:equation>
      C = 2 \left(\rho \left(X_l' X_l + \alpha X'L_sX\right) + \beta \rho (L_m)\right)
    </h:equation>
    <p>
      Pour toute matrice <h:eq>M</h:eq> symétrique réelle, <h:eq>\rho
	(M)</h:eq> désigne le rayon spectral de <h:eq>M</h:eq>,
	c'est-à-dire sa plus grande valeur propre. En posant :
    </p>
    <h:equation>
      \eta \gets \frac 1 C
    </h:equation>
    <p>
      La convergence de l'algorithme de descente de gradient est
      assurée <h:cite href="agd" />.
    </p>
    <h3>Initialisation du modèle</h3>
    <p>
      Le modèle <h:eq>W \in \mathbb{R}^{s, m}</h:eq> est initialisé
      comme la solution du problème de régression linéaire, avec un
      terme de régularisation Ridge utilisant une valeur de
      régulariseur faible.
    </p>
    <h:equation>
      W \gets \left[X_l' X_l + \epsilon I_s\right]^{-1} X_l' Y_l
    </h:equation>
    <p>
      avec <h:eq>\epsilon</h:eq> faible (pour l'implémentation, nous
      avons retenu <h:eq>\epsilon = 10^{-6}</h:eq>), et <h:eq>I_s \in
      \mathbb{R}^{s, s}</h:eq> la matrice identité en
      dimension <h:eq>s</h:eq>.
    </p>
    <h3>Descente de gradient accélérée</h3>
    <p>
      L'algorithme de descente de gradient accélérée
      <h:cite href="agd"/> est une amélioration de l'algorithme de
      descente de gradient originale qui propose une convergence plus
      rapide. Pour notre application, l'algorithme d'optimisation est
      résumé dans l'algorithme
      <h:ref href="#algorithme-lsmr-train"/>. La prédiction s'effectue
      ainsi avec l'algorithme
      <h:ref href="#algorithme-lsmr-predict"/>, qui est simplement la
      version multi-labels de l'algorithme de prédiction de
      l’algorithme <emph>LapS3L</emph> développé dans le chapitre
      précédent, en remplaçant le modèle de dimension <h:eq>s</h:eq>
      par un modèle de dimension <h:eq>s \times m</h:eq>.
    </p>
    <h:algorithm id="algorithme-lsmr-train">
      <alg:algorithmic>
	<alg:donnée><h:eq>\mathcal{V} \in \mathbb{R}^{N, d}</h:eq></alg:donnée>
	<alg:donnée><h:eq>Y \in \mathbb{R}^{n_l, m}</h:eq></alg:donnée>
	<alg:hyperparamètre><h:eq>s \in \{1, ..., N\}</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre><h:eq>\kappa \colon \mathcal{X} \times \mathcal{X} \to \mathbb{R}</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre>matrice Laplacienne du graphe des individus, <h:eq>L_s \in \mathbb{R}^{N, N}</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre>matrice Laplacienne du graphe des labels, <h:eq>L_m \in \mathbb{R}^{m, m}</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre><h:eq>\alpha > 0</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre><h:eq>\beta > 0</h:eq></alg:hyperparamètre>
	<alg:state>
	  Construire la matrice <h:eq>K \in \mathbb{R}^{N,
	    N}</h:eq> : <h:equation-x>\forall i, j, \quad K_{i, j} =
	    \kappa (\mathcal{V}_{i, .}, \mathcal{V}_{j,
	    .})</h:equation-x>
	</alg:state>
	<alg:state>
	  Décomposer la matrice <h:eq>K</h:eq> en valeurs propres et
	  vecteurs propres, sélectionner les <h:eq>s</h:eq> vecteurs
	  propres ayant la plus grande valeur propre
	  associée : <h:eq>U \in \mathbb{R}^{N, s}</h:eq>
	</alg:state>
	<alg:state>
	  Poser <h:eq>X := K U</h:eq>
	</alg:state>
	<alg:state>
	  Sélectionner la sous-matrice <h:eq>Xl \in
	  \mathbb{R}^{n,s}</h:eq> composée des lignes
	  de <h:eq>X</h:eq> correspondant aux individus labellisés
	</alg:state>
	<alg:state>
	  Appliquer l’algorithme de descente de gradient accélérée, en
	  utilisant les paramètres suivants :
	  <alg:state>
	    Pas d'apprentissage : <h:eq>\frac 1 C</h:eq>, <h:eq>C = 2
	    \left(\rho \left(X_l' X_l + \alpha X'L_sX\right) + \beta
	    \rho (L_m)\right)</h:eq>
	  </alg:state>
	  <alg:state>
	    Modèle initial : <h:eq>W \in \mathbb{R}^{s, m} =
	    \left[X_l' X_l + \epsilon I_s\right]^{-1} X_l' Y_l</h:eq>
	  </alg:state>
	  <alg:state>
	    Calcul du gradient : <h:eq>\nabla_W \gets 2 \left[X_l' X_l
	    + \alpha X' L_s X\right] W - 2 X_l' Y_l + 2 \beta W
	    L_m</h:eq>
	  </alg:state>
	</alg:state>
	<alg:résultat><h:eq>U \in \mathbb{R}^{N, s}</h:eq></alg:résultat>
	<alg:résultat><h:eq>W \in \mathbb{R}^{s, m}</h:eq></alg:résultat>
      </alg:algorithmic>
      <figcaption>
	Algorithme <emph>LSMR</emph> : apprentissage
      </figcaption>
    </h:algorithm>
    <h:algorithm id="algorithme-lsmr-predict">
      <alg:algorithmic>
	<alg:donnée><h:eq>\mathcal{V} \in \mathbb{R}^{N, d}</h:eq>, <h:eq>\mathcal{V}_t \in \mathbb{R}^{n_t, d}</h:eq></alg:donnée>
	<alg:hyperparamètre><h:eq>\kappa \colon \mathcal{X} \times \mathcal{X} \to \mathbb{R}</h:eq></alg:hyperparamètre>
	<alg:modèle><h:eq>U \in \mathbb{R}^{N, s}</h:eq></alg:modèle>
	<alg:modèle><h:eq>W \in \mathbb{R}^{s, m}</h:eq></alg:modèle>
	<alg:state>
	  Construire la matrice <h:eq>K_b \in \mathbb{R}^{N,
	  n_t}</h:eq> :

	  <h:equation-x>
	    \forall i, j, \quad {K_b}_{i, j} = \kappa (\mathcal{V}_{i, .}, {\mathcal{V}_t}_{j, .})
	  </h:equation-x>
	</alg:state>
	<alg:state>
	  Poser <h:eq>X_t := K_b' U</h:eq>
	</alg:state>
	<alg:résultat><h:eq>\hat Y \gets X_t W</h:eq></alg:résultat>
      </alg:algorithmic>
      <figcaption>
	Algorithme <emph>LSMR</emph> : prédiction
      </figcaption>
    </h:algorithm>
    <h2>Étude comparative</h2>
    <p>
      Afin de s'assurer de la performance de notre approche, nous
      proposons deux études expérimentales. Tout d'abord, puisqu'elle
      généralise une approche existante, nous devons nous assurer que
      cette extension est nécessaire. Puis nous montrerons quelques
      comparaisons avec d'autres régularisations pour de la régression
      multi-labels.
    </p>
    <h3>Jeux de données utilisés</h3>
    <p>
      Nous avons utilisé des jeux de données du projet MULAN
      <h:fn>
	<a href="http://mulan.sourceforge.net/datasets-mtr.html">
	  http://mulan.sourceforge.net/datasets-mtr.html
	</a>
      </h:fn>, décrits dans
      <h:cite href="spyromitros_xioufis_multi_target_2016"/>, à quoi
      nous avons ajouté un échantillon de 1000 individus du jeu de
      données SARCOS <h:cite href="sarcos"/>. Nous n'avons pas
      conservé tous les jeux de données, les plus grands contenant
      trop d'individus pour appliquer directement l'algorithme
      LSMR. Les jeux de données et leurs caractéristiques sont résumés
      dans la table <h:ref href="#tbl-lsmr-datasets"/>.
    </p>
    <table latex-align="|l|cccc|">
      <caption id="tbl-lsmr-datasets">
	Jeux de données utilisés pour l'étude expérimentale de notre
	approche, <strong>LSMR</strong>
      </caption>
      <thead>
	<tr>
	  <th><strong>Jeu de données</strong></th>
	  <th><strong>Nb. indiv. (avec label + sans)</strong></th>
	  <th><strong>Test</strong></th>
	  <th><strong>Variables</strong></th>
	  <th><strong>Labels</strong></th>
	</tr>
      </thead>
      <tbody>
	<tr>
	  <td><emph>atp1d</emph></td>
	  <td>262 (76 + 186)</td>
	  <td>165</td>
	  <td>411</td>
	  <td>6</td>
	</tr>
	<tr>
	  <td><emph>atp7d</emph></td>
	  <td>234 (67 + 167)</td>
	  <td>147</td>
	  <td>411</td>
	  <td>6</td>
	</tr>
	<tr>
	  <td><emph>edm</emph></td>
	  <td>121 (35 + 86)</td>
	  <td>73</td>
	  <td>16</td>
	  <td>2</td>
	</tr>
	<tr>
	  <td><emph>enb</emph></td>
	  <td>601 (173 + 428)</td>
	  <td>366</td>
	  <td>8</td>
	  <td>2</td>
	</tr>
	<tr>
	  <td><emph>jura</emph></td>
	  <td>281 (81 + 200)</td>
	  <td>173</td>
	  <td>15</td>
	  <td>3</td>
	</tr>
	<tr>
	  <td><emph>oes10</emph></td>
	  <td>314 (91 + 223)</td>
	  <td>198</td>
	  <td>298</td>
	  <td>16</td>
	</tr>
	<tr>
	  <td><emph>oes97</emph></td>
	  <td>257 (75 + 182)</td>
	  <td>163</td>
	  <td>263</td>
	  <td>16</td>
	</tr>
	<tr>
	  <td><emph>osales</emph></td>
	  <td>495 (144 + 351)</td>
	  <td>309</td>
	  <td>401</td>
	  <td>12</td>
	</tr>
	<tr>
	  <td><emph>sarcossub</emph></td>
	  <td>779 (225 + 554)</td>
	  <td>467</td>
	  <td>21</td>
	  <td>7</td>
	</tr>
	<tr>
	  <td><emph>scpf</emph></td>
	  <td>889 (256 + 633)</td>
	  <td>521</td>
	  <td>23</td>
	  <td>3</td>
	</tr>
	<tr>
	  <td><emph>sf1</emph></td>
	  <td>250 (73 + 177)</td>
	  <td>158</td>
	  <td>31</td>
	  <td>3</td>
	</tr>
	<tr>
	  <td><emph>sf2</emph></td>
	  <td>832 (240 + 592)</td>
	  <td>501</td>
	  <td>31</td>
	  <td>3</td>
	</tr>
	<tr>
	  <td><emph>wq</emph></td>
	  <td>827 (238 + 589)</td>
	  <td>487</td>
	  <td>16</td>
	  <td>14</td>
	</tr>
      </tbody>
    </table>
    <p>
      Nous avons divisé les jeux de données en une partie pour
      l'apprentissage et une partie pour le test. Ces jeux de données
      étant labellisés, nous avons sélectionné 30% des individus de
      l'ensemble d'apprentissage pour en supprimer les labels, pour
      tous les labels simultanément. Le nombre de labels enlevé est
      bas, surtout comparé au travail effectué
      pour <emph>LapS3L</emph>. Cependant le nombre d'individus total
      étant relativement faible, il n'est pas possible d'en enlever
      davantage.
    </p>
    <p>
      Nous avons centré et réduit toutes les variables, et tous les
      labels, en soustrayant la moyenne et divisant par
      l'écart-type. Ceci garantit que l'on peut appliquer à la fois
      une fonction noyau entre les individus à partir des variables,
      et à la fois une fonction noyau entre les labels à partir des
      données labellisées. D'autre part, si les valeurs de l'un des
      labels sont négligeables devant les valeurs d'un autre, le
      calcul des métriques multi-labels risque de ne pas montrer la
      pertinence des algorithmes en tant qu'algorithmes multi-labels.
    </p>
    <h3>Protocole expérimental</h3>
    <p>
      La procédure de tuning consiste à tirer une valeur pour chaque
      hyperparamètre, selon la recherche aléatoire
      <h:cite href="randomsearch"/>. Cette méthode permet d'éviter
      l'écueil de la <emph>recherche de grille</emph>, qui considère
      tous les hyperparamètres comme équitablement importants. Dans le
      cas où l'algorithme présente de nombreux hyperparamètres, comme
      par exemple <strong>LSMR</strong>, la recherche aléatoire est à
      préférer.
    </p>
    <p>
      Les hyperparamètres donnant la meilleure métrique aRMSE en
      validation croisée à 10 <emph>folds</emph> sont retenus. Pour
      rappel, la métrique aRMSE est définie par :
    </p>
    <h:equation>
      \mathrm{aRMSE} = \frac 1 m \sum_{k = 1}^m \sqrt{\frac {\left\|Y - \hat Y\right\|_F^2} {n_t}}
    </h:equation>
    <p>
      <h:eq>\hat Y</h:eq> désignant la prédiction sur le jeu de
      test, <h:eq>Y</h:eq> les vrais labels du jeu de test,
      et <h:eq>n_t</h:eq> le nombre d'individu du jeu de test.
    </p>
    <p>
      La métrique doit être minimisée. Puisque l'on a normalisé les
      labels individuellement, si les labels du jeu de test suivent
      exactement la même distribution que le jeu d'apprentissage, la
      métrique est égale à 1 en prédisant toujours 0.
    </p>
    <p>
      La validation croisée en 10 <emph>folds</emph> consiste à
      partitionner les données labellisées de l'ensemble
      d'apprentissage en 10 échantillons. L'apprentissage se fait sur
      9 échantillons, plus toutes les données non labellisées. Le test
      se fait sur l'échantillon restant, en calculant la métrique
      aRMSE. En répétant l'opération sur les 10 échantillons pour le
      test, la métrique aRMSE moyenne est calculée.
    </p>
    <p>
      Notre approche utilise 4 hyperparamètres de différentes
      natures :
    </p>
    <ol>
      <li>La fonction noyau, <h:eq>\kappa</h:eq> ;</li>
      <li>Le nombre de composantes principales, <h:eq>s</h:eq> ;</li>
      <li>Le régulariseur semi-supervisé, <h:eq>\alpha</h:eq> ;</li>
      <li>Le régulariseur multi-labels, <h:eq>\beta</h:eq>.</li>
    </ol>
    <p>
      Comme pour l'algorithme <emph>LapS3L</emph>, nous étudions
      différentes fonction de noyau :
    </p>
    <ul>
      <li>le produit scalaire ;</li>
      <li>la similarité cosinus ;</li>
      <li>le noyau RBF.</li>
    </ul>
    <h3>Tuning local</h3>
    <p>
      En tant qu'extension de l'algorithme <emph>SSSL</emph>, nous
      vérifions la pertinence des hyperparamètres introduits. Nous
      commençons par rechercher le noyau et le nombre de composantes
      pour minimiser l'erreur de régression de
      l'algorithme <emph>SSSL</emph>. Les valeurs obtenues sont
      résumées dans la table <h:ref href="#tbl-local-hyper"/>.
    </p>
    <table latex-align="ccc">
      <caption id="tbl-local-hyper">
	Valeur des hyperparamètres minimisant l'erreur de régression
	de l'algorithme <emph>SSSL</emph> sur les jeux de données
	étudiés
      </caption>
      <thead>
	<tr>
	  <th><strong>Jeu de données</strong></th>
	  <th><strong>Noyau</strong></th>
	  <th><strong>Nombre de composantes</strong></th>
	</tr>
      </thead>
      <tbody>
	<tr>
	  <td><emph>atp1d</emph></td>
	  <td>RBF, <h:eq>\gamma = 3.140 \cdot 10^{-05}</h:eq></td>
	  <td>202</td>
	</tr>
	<tr>
	  <td><emph>atp7d</emph></td>
	  <td>produit scalaire</td>
	  <td>5</td>
	</tr>
	<tr>
	  <td><emph>edm</emph></td>
	  <td>RBF, <h:eq>\gamma = 1.703 \cdot 10^{+01}</h:eq></td>
	  <td>107</td>
	</tr>
	<tr>
	  <td><emph>enb</emph></td>
	  <td>similarité cosinus</td>
	  <td>10</td>
	</tr>
	<tr>
	  <td><emph>jura</emph></td>
	  <td>RBF, <h:eq>\gamma = 4.272 \cdot 10^{-03}</h:eq></td>
	  <td>87</td>
	</tr>
	<tr>
	  <td><emph>oes10</emph></td>
	  <td>produit scalaire</td>
	  <td>31</td>
	</tr>
	<tr>
	  <td><emph>oes97</emph></td>
	  <td>RBF, <h:eq>\gamma = 3.785 \cdot 10^{-05}</h:eq></td>
	  <td>55</td>
	</tr>
	<tr>
	  <td><emph>osales</emph></td>
	  <td>RBF, <h:eq>\gamma = 1.254 \cdot 10^{-02}</h:eq></td>
	  <td>475</td>
	</tr>
	<tr>
	  <td><emph>scpf</emph></td>
	  <td>similarité cosinus</td>
	  <td>2</td>
	</tr>
	<tr>
	  <td><emph>sf1</emph></td>
	  <td>produit scalaire</td>
	  <td>5</td>
	</tr>
	<tr>
	  <td><emph>sf2</emph></td>
	  <td>similarité cosinus</td>
	  <td>3</td>
	</tr>
	<tr>
	  <td><emph>wq</emph></td>
	  <td>RBF, <h:eq>\gamma = 1.545 \cdot 10^{+01}</h:eq></td>
	  <td>774</td>
	</tr>
      </tbody>
    </table>
    <p>
      En réutilisant ces valeurs, nous cherchons celles pour les deux
      autres hyperparamètres. Nous comparons avec la performance de
      <emph>SSSL</emph>, en calculant l'aRMSE relative comme le
      rapport entre la performance de <emph>LSMR</emph> et la performance de
      <emph>SSSL</emph>. Nous obtenons plusieurs cas de figure
      différents, en fonction des jeux de données. Les principaux
      types sont reportés dans la suite.
    </p>
    <h4>Tuning local : <emph>scpf</emph></h4>
    <p>
      Le jeu de données <emph>scpf</emph> regroupe des notices émises
      par des habitants de certaines villes aux États-Unis à
      destination de la municipalité. Ces notices sont décrites par
      différentes variables, telles que la nature et la localisation
      du problème signalé. Le but est de comprendre l'importance du
      problème, en prédisant le nombre de vues, de clics et de
      commentaires.
    </p>
    <p>
      Le tuning local donne la figure
      <h:ref href="#fig-local-scpf"/>. Le régulariseur multi-labels
      n'est pas très pertinent dans ce cas ; il faut utiliser une
      valeur très faible pour obtenir une amélioration de l'algorithme
      <emph>SSSL</emph>. La zone où le tuning donne de bonnes
      performances est très restreinte.
    </p>
    <figure>
      <img src="images/lsmr_local_scpf.svg" />
      <figcaption id="fig-local-scpf">
	aRMSE relative pour le tuning local de <emph>LSMR</emph> sur
	le jeu de données <emph>scpf</emph>.
      </figcaption>
    </figure>
    <h4>Tuning local : <emph>osales</emph></h4>
    <p>
      Le jeu de données <emph>osales</emph> contient des produits
      ayant eu droit à une campagne publicitaire. L'objectif est de
      prédire le volume de vente de ces produits sur les 12 prochains
      mois, un label par mois.
    </p>
    <p>
      Le tuning local donne la figure
      <h:ref href="#fig-local-osales"/>. La zone de tuning des
      hyperparamètres <h:eq>\alpha</h:eq> et <h:eq>\beta</h:eq> donne
      une place plus large pour lequel <emph>LSMR</emph> améliore les
      résultats de <emph>SSSL</emph>, mais le meilleur point de tuning
      se situe pour un regulariseur semi-supervisé faible, avec une
      valeur non nulle du régulariseur multi-labels.
    </p>
    <figure>
      <img src="images/lsmr_local_osales.svg" />
      <figcaption id="fig-local-osales">
	aRMSE relative pour le tuning local de <emph>LSMR</emph> sur
	le jeu de données <emph>osales</emph>.
      </figcaption>
    </figure>
    <h4>Tuning local : <emph>sf2</emph></h4>
    <p>
      Le jeu de données <emph>sf2</emph> considère comme individu une
      période de 24h, et compte le nombre d'éruptions solaires de
      différentes catégories dans cette période. La deuxième version
      utilise des mesures prises en 1978.
    </p>
    <p>
      Le tuning local donne la figure
      <h:ref href="#fig-local-sf2"/>. La zone de tuning est là aussi
      plus étendue, mais le résultat est meilleur pour une grande
      valeur de chacun des deux hyperparamètres.
    </p>
    <figure>
      <img src="images/lsmr_local_sf2.svg" />
      <figcaption id="fig-local-sf2">
	aRMSE relative pour le tuning local de <emph>LSMR</emph> sur
	le jeu de données <emph>sf2</emph>.
      </figcaption>
    </figure>
    <h4>Tuning local : <emph>oes97</emph></h4>
    <p>
      Enfin, <emph>oes97</emph> étudie différentes villes des
      États-Unis (en 1997) et étudie la répartition des emplois dans
      ces zones. Le but est de faire la prédiction de certaines
      catégories d'emploi en fonction des autres pour une ville
      donnée.
    </p>
    <p>
      Le tuning local donne la figure
      <h:ref href="#fig-local-oes97"/>. La zone de tuning est trop
      étendue ; une valeur trop élevée du régulariseur multi-labels
      fait chuter la performance de l'algorithme.
    </p>
    <figure>
      <img src="images/lsmr_local_oes97.svg" />
      <figcaption id="fig-local-oes97">
	aRMSE relative pour le tuning local de <emph>LSMR</emph> sur
	le jeu de données <emph>oes97</emph>.
      </figcaption>
    </figure>
    <h4>Résultats du tuning local</h4>
    <p>
      En agrégeant les performances relatives sur tous les points de
      tuning, on obtient la table
      <h:ref href="#tbl-local-results"/>. Celle-ci montre que beaucoup
      de points du tuning local donnent un meilleur résultat que
      <emph>SSSL</emph>. L'agrégation des scores relatifs se fait avec
      la moyenne, le premier et troisième quartile, le minimum et le
      maximum. Sur tous les jeux de données, il existe un point où
      <emph>LSMR</emph> est bien meilleur que <emph>SSSL</emph>
      (valeur inférieure à 1), et un point où <emph>LSMR</emph> est
      pire. En regardant les quartiles, il existe de larges zones dans
      lesquelles <emph>LSMR</emph> tuné est meilleur
      que <emph>SSSL</emph>.
    </p>
    <table latex-align="lccccc">
      <caption id="tbl-local-results">
	Tuning local : aRMSE moyenne relative de <strong>LSMR</strong>
	par rapport à <emph>SSSL</emph>
      </caption>
      <thead>
	<tr>
	  <th><strong>Jeu de données</strong></th>
	  <th><strong>Moyenne</strong></th>
	  <th><strong>Q1</strong></th>
	  <th><strong>Q3</strong></th>
	  <th><strong>Meilleur point</strong></th>
	  <th><strong>Pire point</strong></th>
	</tr>
      </thead>
      <tbody>
	<tr>
	  <td><emph>sf2</emph></td>
	  <td><strong>0.983</strong></td>
	  <td><strong>0.898</strong></td>
	  <td>1.086</td>
	  <td><strong>0.553</strong></td>
	  <td>1.245</td>
	</tr>
	<tr>
	  <td><emph>scpf</emph></td>
	  <td>1.191</td>
	  <td><strong>0.862</strong></td>
	  <td>1.554</td>
	  <td><strong>0.564</strong></td>
	  <td>1.684</td>
	</tr>
	<tr>
	  <td><emph>osales</emph></td>
	  <td><strong>0.989</strong></td>
	  <td><strong>0.938</strong></td>
	  <td>1.046</td>
	  <td><strong>0.635</strong></td>
	  <td>1.191</td>
	</tr>
	<tr>
	  <td><emph>oes97</emph></td>
	  <td>1.078</td>
	  <td><strong>0.872</strong></td>
	  <td>1.170</td>
	  <td><strong>0.662</strong></td>
	  <td>2.344</td>
	</tr>
	<tr>
	  <td><emph>sf1</emph></td>
	  <td><strong>0.994</strong></td>
	  <td><strong>0.922</strong></td>
	  <td>1.062</td>
	  <td><strong>0.682</strong></td>
	  <td>1.206</td>
	</tr>
	<tr>
	  <td><emph>oes10</emph></td>
	  <td>1.015</td>
	  <td><strong>0.908</strong></td>
	  <td>1.110</td>
	  <td><strong>0.715</strong></td>
	  <td>1.448</td>
	</tr>
	<tr>
	  <td><emph>jura</emph></td>
	  <td>1.014</td>
	  <td><strong>0.954</strong></td>
	  <td>1.065</td>
	  <td><strong>0.799</strong></td>
	  <td>1.485</td>
	</tr>
	<tr>
	  <td><emph>atp1d</emph></td>
	  <td>1.048</td>
	  <td><strong>0.958</strong></td>
	  <td>1.070</td>
	  <td><strong>0.812</strong></td>
	  <td>1.922</td>
	</tr>
	<tr>
	  <td><emph>edm</emph></td>
	  <td><strong>0.998</strong></td>
	  <td><strong>0.964</strong></td>
	  <td>1.037</td>
	  <td><strong>0.821</strong></td>
	  <td>1.190</td>
	</tr>
	<tr>
	  <td><emph>atp7d</emph></td>
	  <td>1.006</td>
	  <td><strong>0.961</strong></td>
	  <td>1.053</td>
	  <td><strong>0.833</strong></td>
	  <td>1.242</td>
	</tr>
	<tr>
	  <td><emph>enb</emph></td>
	  <td><strong>0.998</strong></td>
	  <td><strong>0.964</strong></td>
	  <td>1.027</td>
	  <td><strong>0.864</strong></td>
	  <td>1.124</td>
	</tr>
	<tr>
	  <td><emph>wq</emph></td>
	  <td><strong>0.999</strong></td>
	  <td><strong>0.992</strong></td>
	  <td>1.007</td>
	  <td><strong>0.960</strong></td>
	  <td>1.032</td>
	</tr>
      </tbody>
    </table>
    <h3>Tuning global</h3>
    <p>
      Nous mettons maintenant en place une approche de tuning global
      de façon à comparer notre approche proposée à d'autres approches
      de régularisation multi-labels pour la régression. Les méthodes
      évoquées résolvent un problème de régression multi-labels
      linéaire, en optimisant une fonction objectif convexe, au moyen
      de l'algorithme de descente de gradient accélérée.
    </p>
    <h4>Ligne de base : sans régularisation</h4>
    <p>
      Notre ligne de base n'effectue pas de régularisation, elle est
      notée <emph>LSQ</emph> (pour <emph>least squares</emph>).
    </p>
    <h4>Régularisation Lasso</h4>
    <p>
      La régularisation <h:eq>l_1</h:eq> permet d'obtenir des parties
      du modèle ayant une valeur nulle
      <h:cite href="tibshirani1996regression"/>. Nous le
      notons <emph>MTL</emph> (<emph>multi-task learning</emph>). La
      régularisation est donnée par :
    </p>
    <h:equation>
      \left\|W\right\|_1 = \sum_{j = 1} ^ d \sum_{k = 1}^m \left|W_{j, k}\right|
    </h:equation>
    <h4>Régularisation Laplacienne</h4>
    <p>
      C'est la régularisation employée dans
      l'algorithme <emph>LSMR</emph>. On la désigne
      par <emph>SGR</emph>, pour <emph>sparse graph
      regularization</emph> <h:cite href="malsar"/>. Le graphe est
      construit avec des poids utilisant la similarité cosinus entre
      les labels, d'après les valeurs qu'ont les
      individus. Avec <h:eq>M</h:eq> la matrice
      d'adjacence, <h:eq>D</h:eq> la matrice de degré
      et <h:eq>L</h:eq> la matrice Laplacienne du graphe, la
      régularisation est :
    </p>
    <h:equation>
      \mathrm{tr} \left(WLW'\right) = \sum_{k_1, k_2 = 1}^m M_{k_1, k_2} \left\|W_{., k_1} - W_{., k_2}\right\|_2^2
    </h:equation>
    <h4>Régularisation Lasso par groupe</h4>
    <p>
      L'algorithme <emph>JFS</emph> (<emph>joint feature
	selection</emph>) tel que défini par
	<h:cite href="argyriou_multitask_nodate"/> utilise le Lasso
	par groupe. La régularisation employée est :
    </p>
    <h:equation>
      \left\|W\right\|_{2, 1} = \sum_{j = 1} ^ d \left\|W_{j, .}\right\|_2^2
    </h:equation>
    <h4>Régularisation du rang</h4>
    <p>
      La régularisation du rang peut s'effectuer en régularisant la
      norme trace <h:cite href="rank"/>, <emph>TNR</emph> (<emph>trace
      norm regularization</emph>), c’est-à-dire la somme de toutes les
      valeurs propres. La régularisation employée est :
    </p>
    <h:equation>
      \left\|W\right\|_{*} = \sum_{\sigma \mathrm{~valeur~propre~de~} W} \sigma
    </h:equation>
    <h4>Dirty model</h4>
    <p>
      La régularisation du <emph>Dirty Model</emph>
      <h:cite href="jalali_dirty_nodate"/> (<emph>DM</emph>) est en
      deux termes, pour un modèle qui se décompose en <h:eq>W = P +
      Q</h:eq> :
    </p>
    <h:equation>
      \alpha \left\|P\right\|_{1, 1} + \beta \left\|Q\right\|_{\infty, 1}
      = \alpha \sum_{j = 1} ^d \sum_{k = 1}^m \left|P_{j, k}\right|
      + \beta \sum_{j = 1} ^ d \left\|Q_{j, .}\right\|_{\infty}
    </h:equation>
    <h4>Clustered multi-task learning</h4>
    <p>
      <emph>CMTL</emph> est la version convexe de cet algorithme
      <h:cite href="cmtl"/>. L'optimisation se fait sur deux
      variables, le modèle <h:eq>W</h:eq> et une matrice symétrique
      semi-définie positive <h:eq>M</h:eq> telle que <h:eq>I -
      M</h:eq> est aussi semi-définie positive.
    </p>
    <h:equation>
      \alpha \mathrm{tr} \left(W \left(M + \beta I\right)^{-1}W'\right)
    </h:equation>
    <h4>Résultats</h4>
    <p>
      La table <h:ref href="#tuning-global"/> montre les résultats des
      différentes approches. Nous remarquons que :
    </p>
    <ul>
      <li>
	notre approche, pour un tuning global, est meilleure
	que <emph>SSSL</emph>, cependant le tuning local est
	insuffisant ;
      </li>
      <li>
	notre approche est souvent meilleure que la régularisation multi-labels <emph>SGR</emph> ;
      </li>
      <li>
	le tuning global pour notre approche donne très souvent de
	meilleurs résultats que le tuning local ;
      </li>
      <li>
	contrairement à <emph>SSSL</emph>, notre approche donne des
	résultats comparables à l'état de l'art sur les jeux de
	données considérés, pour des approches de régularisation.
      </li>
    </ul>
    <table latex-align="|l|cc|cccccccc|" sideways="sideways">
      <caption id="tuning-global">
	Résultats du tuning global, métrique aRMSE
      </caption>
      <thead>
	<tr>
	  <th><strong>Jeu de données</strong></th>
	  <th><strong>LSMR</strong></th>
	  <th><strong>LSMR local</strong></th>
	  <th><emph>SSSL</emph></th>
	  <th><emph>CMTL</emph></th>
	  <th><emph>DM</emph></th>
	  <th><emph>JFS</emph></th>
	  <th><emph>LSQ</emph></th>
	  <th><emph>MTL</emph></th>
	  <th><emph>SGR</emph></th>
	  <th><emph>TNR</emph></th>
	</tr>
      </thead>
      <tbody>
	<tr>
	  <td><emph>atp1d</emph></td>
	  <td><strong>0.472</strong></td>
	  <td>1.006</td>
	  <td>0.481</td>
	  <td>0.533</td>
	  <td>0.522</td>
	  <td>0.543</td>
	  <td>0.549</td>
	  <td>0.534</td>
	  <td>0.548</td>
	  <td>0.548</td>
	</tr>
	<tr>
	  <td><emph>atp7d</emph></td>
	  <td>0.888</td>
	  <td><strong>0.713</strong></td>
	  <td>0.779</td>
	  <td>0.727</td>
	  <td>0.782</td>
	  <td>0.764</td>
	  <td>0.787</td>
	  <td>0.787</td>
	  <td>0.787</td>
	  <td>0.787</td>
	</tr>
	<tr>
	  <td><emph>edm</emph></td>
	  <td><strong>0.841</strong></td>
	  <td>1.005</td>
	  <td>0.895</td>
	  <td>0.849</td>
	  <td>0.857</td>
	  <td>0.856</td>
	  <td>1.198</td>
	  <td>0.855</td>
	  <td>1.207</td>
	  <td>0.852</td>
	</tr>
	<tr>
	  <td><emph>enb</emph></td>
	  <td><strong>0.320</strong></td>
	  <td>0.541</td>
	  <td>0.339</td>
	  <td>0.332</td>
	  <td>0.333</td>
	  <td>0.332</td>
	  <td>0.332</td>
	  <td>0.332</td>
	  <td>0.332</td>
	  <td>0.332</td>
	</tr>
	<tr>
	  <td><emph>jura</emph></td>
	  <td>0.661</td>
	  <td>0.847</td>
	  <td>0.727</td>
	  <td>0.597</td>
	  <td>0.593</td>
	  <td><strong>0.591</strong></td>
	  <td>0.609</td>
	  <td>0.593</td>
	  <td>0.611</td>
	  <td>0.598</td>
	</tr>
	<tr>
	  <td><emph>oes10</emph></td>
	  <td><strong>0.390</strong></td>
	  <td>0.488</td>
	  <td>0.395</td>
	  <td>0.398</td>
	  <td>0.402</td>
	  <td>0.402</td>
	  <td>0.402</td>
	  <td>0.402</td>
	  <td>0.402</td>
	  <td>0.402</td>
	</tr>
	<tr>
	  <td><emph>oes97</emph></td>
	  <td><strong>0.445</strong></td>
	  <td>0.918</td>
	  <td>0.494</td>
	  <td>0.515</td>
	  <td>0.510</td>
	  <td>0.534</td>
	  <td>0.534</td>
	  <td>0.534</td>
	  <td>0.534</td>
	  <td>0.534</td>
	</tr>
	<tr>
	  <td><emph>osales</emph></td>
	  <td>1.012</td>
	  <td>0.957</td>
	  <td>0.938</td>
	  <td>0.882</td>
	  <td><strong>0.839</strong></td>
	  <td>0.861</td>
	  <td>0.921</td>
	  <td>0.873</td>
	  <td>0.873</td>
	  <td>0.906</td>
	</tr>
	<tr>
	  <td><emph>sarcossub</emph></td>
	  <td>0.363</td>
	  <td>0.816</td>
	  <td>0.428</td>
	  <td>0.357</td>
	  <td>0.357</td>
	  <td><strong>0.354</strong></td>
	  <td>0.357</td>
	  <td>0.354</td>
	  <td>0.357</td>
	  <td>0.357</td>
	</tr>
	<tr>
	  <td><emph>scpf</emph></td>
	  <td>1.111</td>
	  <td>0.926</td>
	  <td>1.253</td>
	  <td><strong>0.621</strong></td>
	  <td>0.636</td>
	  <td>0.635</td>
	  <td>0.635</td>
	  <td>0.635</td>
	  <td>0.635</td>
	  <td>0.635</td>
	</tr>
	<tr>
	  <td><emph>sf1</emph></td>
	  <td>1.070</td>
	  <td><strong>0.998</strong></td>
	  <td>1.092</td>
	  <td>0.999</td>
	  <td>0.999</td>
	  <td>0.999</td>
	  <td>1.292</td>
	  <td>0.999</td>
	  <td>1.285</td>
	  <td>0.999</td>
	</tr>
	<tr>
	  <td><emph>sf2</emph></td>
	  <td><strong>0.973</strong></td>
	  <td>1.041</td>
	  <td>1.114</td>
	  <td>1.022</td>
	  <td>1.161</td>
	  <td>1.024</td>
	  <td>1.262</td>
	  <td>1.024</td>
	  <td>1.249</td>
	  <td>1.024</td>
	</tr>
	<tr>
	  <td><emph>wq</emph></td>
	  <td>0.999</td>
	  <td>0.999</td>
	  <td>1.003</td>
	  <td><strong>0.946</strong></td>
	  <td>1.006</td>
	  <td>0.982</td>
	  <td>1.079</td>
	  <td>0.947</td>
	  <td>1.079</td>
	  <td>1.023</td>
	</tr>
      </tbody>
    </table>
    <h3>Validation statistique</h3>
    <p>
      Afin de savoir comment se positionnent les algorithmes les uns
      par rapport aux autres, nous effectuons un test statistique en
      suivant la méthodologie indiquée dans
      <h:cite href="demsar_statistical_2006"/>.
    </p>
    <h4><emph>t-test</emph> par paires</h4>
    <p>
      En considérant une paire d'algorithmes, il est possible de
      calculer la différence entre les performances de ces deux
      algorithmes sur chaque jeu de données. Lorsque l'on prend la
      moyenne de cette différence, à supposer qu'elle s'applique sur
      un grand nombre de jeux de données, on peut effectuer un test
      pour savoir si cette moyenne est positive, ou pour savoir si
      elle est négative. Cela permettrait de savoir si l'un des
      algorithmes est relativement meilleur que l'autre.
    </p>
    <p>
      Comme nous n'avons que 13 jeux de données, il n'est pas possible
      de considérer les performances de chaque algorithme comme un
      échantillon gausssien, ce qui pose une limite assez claire à
      cette approche.
    </p>
    <p>
      De plus, les jeux de données contenant très peu d'individus ont une
      performance très variable.
    </p>
    <h4>Test de Wilcoxon</h4>
    <p>
      Ce test permet aussi de départager deux algorithmes, mais il ne
      se fonde plus sur les valeurs de la métrique envisagée mais sur
      les rangs des algorithmes. Plus précisément, on calcule les
      différences entre les deux algorithmes sur chaque jeu de données
      en valeur absolue, puis on trie ces différences absolues. Pour
      chaque algorithme, on sélectionne les différences qui sont en
      faveur de cet algorithme, et on somme leurs rangs. En prenant
      une valeur de <h:eq>\alpha = 0.1</h:eq>, on obtient la figure
      <h:ref href="#fig-test-wilcoxon"/>. Sur cette figure, une
      cellule bleue indique que l'algorithme en ligne bat l'algorithme
      en colonne. Une cellule rouge indique que l'algorithme en
      colonne bat l'algorithme en ligne. Notre généralisation est
      meilleure que l'algorithme <emph>SSSL</emph>.
    </p>
    <figure>
      <img src="images/wilcoxon.svg" />
      <figcaption id="fig-test-wilcoxon">
	Résultat du test de comparaison par paires d'algorithmes de
	Wilcoxon
      </figcaption>
    </figure>
    <h4>Tests de Friedman et Nemenyi</h4>
    <p>
      Le test de Friedman permet de rejeter l'hypothèse suivante en se
      fondant sur les rangs des approches : tous les régresseurs sont
      équivalents, c'est-à-dire que le rang moyen de tous les
      régresseurs est égal. Cette hypothèse est rejetée dans notre cas
      pour un risque <h:eq>\alpha = 0.05</h:eq>.
    </p>
    <p>
      Puisque le rang moyen n'est pas égal, le test de Nemenyi permet
      d'établir la distance critique entre rangs moyens. Si des
      algorithmes ont une différence entre leurs rangs moyens
      supérieure à cette distance critique, ils ne sont pas
      équivalents. La figure <h:ref href="#fig-test-nemenyi"/> montre
      les rangs des algorithmes, ainsi que la distance critique. On
      constate que notre approche, même si elle n'obtient pas le
      meilleur rang moyen, est dans le groupe du meilleur algorithme,
      contrairement aux deux approches sur lesquelles elle est fondée.
    </p>
    <figure>
      <img src="images/nemenyi.svg" />
      <figcaption id="fig-test-nemenyi">
	Résultat du test de comparaison par paires d'algorithmes de
	Nemenyi
      </figcaption>
    </figure>
    <h2>Conclusion</h2>
    <p>
      Nous avons proposé une extension de
      l'algorithme <emph>SSSL</emph> adapté à l'apprentissage
      multi-labels, en réutilisant la régularisation Laplacienne que
      nous avions développée dans l'algorithme
      <emph>LapS3L</emph>. Expérimentalement, cette approche donne une
      erreur de régression multi-labels plus faible
      que <emph>SSSL</emph>, même en réutilisant une partie du tuning
      des hyperparamètres. En optimisant les hyperparamètres de façon
      globale, l'approche demeure compétitive avec des méthodes
      représentatives de l'état de l'art.
    </p>
    <h1 short="RSMS">
      Sélection de variables semi-supervisée en multi-régressions
    </h1>
    <h:résumé-chapitre>
      <p>
        Les deux travaux présentés dans les chapitres précédents,
        <strong>LapS3L</strong> et sa version
        multi-labels, <strong>LSMR</strong>, utilisent
        une <emph>extraction de variables</emph> non supervisée pour
        réduire la dimension du problème.
      </p>
      <p>
        Dans certains cas d'application, cependant, la <emph>sélection
        de variables</emph> est une tâche plus abordée puisqu'elle
        rend le modèle <emph>interprétable</emph>. Dans ce chapitre,
        nous proposons de résoudre cette tâche dans un cadre à la fois
        multi-labels et semi-supervisé pour les problèmes de
        régression, et montrons son efficacité sur des jeux de données
        multi-labels publics issus de la littérature.
      </p>
      <p>
        L'idée de cette méthode consiste à guider la sélection de
        variables par la <emph>sélection de labels</emph> : en effet,
        si les performances d'apprentissage sont dégradées pour
        certains labels, il n'est pas nécessaire de les conserver pour
        la sélection de variables.
      </p>
    </h:résumé-chapitre>
    <h2>Introduction</h2>
    <p>
      Dans le cas d'apprentissage multi-labels dont l'espace de
      description des individus est de grande dimension, ce qui arrive
      pour des données textuelles ou d'images par exemple, la présence
      de trop de variables par rapport au nombre d'individus peut
      mener à un sur-apprentissage. Pour empêcher cela, la sélection
      de variables multi-labels a pour objectif de trouver un
      sous-ensemble de variables pertinentes pour tous les labels,
      permettant d'obtenir une meilleure erreur de régression, de
      réduire la dimension du problème et de produire un modèle plus
      simple et interprétable.
    </p>
    <p>
      Dans ce chapitre, nous proposons un algorithme de sélection de
      variables semi-supervisé et multi-labels, adapté aux problèmes
      de régression. Tout d'abord, nous rappelons le contexte ainsi
      que les travaux existants sur lesquels nous nous
      appuyons. Ensuite, nous développons l'algorithme, à partir de
      l'explicitation de notre intuition. Enfin, pour valider notre
      approche, nous proposons une étude expérimentale comparative sur
      des jeux de données de régression multi-labels.
    </p>
    <h2>Travaux liés</h2>
    <p>
      L'approche que nous proposons s'inspire principalement de l'algorithme
      <emph>MIFS</emph> (<emph>Multi-label Informed Feature
      Selection</emph>) dans les travaux de <h:cite href="mifs"/>, de
      façon à fonctionner dans le cadre semi-supervisé, et en
      régression. Nous proposons également des éléments de
      l'apprentissage robuste et de la sélection de labels.
    </p>
    <p>
      Dans le cadre de la sélection de variables,
      l'algorithme <emph>MIFS</emph> propose un <emph>embedding</emph>
      des labels. Ainsi, les variables ne sont pas sélectionnées pour
      améliorer la prédiction des vrais labels, mais des labels
      extraits. L'avantage de cette approche est que des valeurs
      bruitées dans l'ensemble d'apprentissage perturberont peu la
      sélection de variables. En revanche, la méthode ne peut pas
      servir directement en prédiction pour faire simultanément de la
      sélection de variables et de la régresssion multi-labels.
    </p>
    <p>
      Pour rappel, l'algorithme <emph>MIFS</emph> vise à minimiser la
      fonction objectif suivante :
    </p>
    <h:mini>
      <h:variables>
        W \in \mathbb{R}^{d, o}, 
        V \in \mathbb{R}^{n, o}, 
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2 
        + \alpha \left\|Y - VB\right\|_F^2 
        + \beta \mathrm{tr} \left(V'LV\right) 
        + \gamma \left\|W\right\|_{2, 1}
      </h:objective>
    </h:mini>
    <p>
      Cette fonction objectif se décompose en 4 termes :
    </p>
    <ol>
      <li>
        L'erreur de régression pour prédire les labels extraits ;
      </li>
      <li>
        La précision de l'extraction des labels ;
      </li>
      <li>
        La cohérence des labels extraits ;
      </li>
      <li>
        La sélection de variables, sur le modèle prédisant les labels
        extraits.
      </li>
    </ol>
    <p>
      Cependant, la pénalisation de l'extraction de labels prévue par
      <emph>MIFS</emph> n'est pas suffisante dans les cas où certains
      des labels dont on souhaite effectuer la prédiction ne peuvent
      tout simplement pas être traités. Si de tels labels sont
      présents dans le jeu de données, la prédiction pour ces labels
      sera mauvaise quelles que soient les variables sélectionnées :
      il ne faut pas sélectionner de variables pertinentes pour ces
      labels. De ce point de vue, la sélection de labels au service de
      la sélection de variables joue un rôle différent de l'extraction
      de labels telle que mise en œuvre dans
      l'algorithme <emph>MIFS</emph>.
    </p>
    <p>
      La sélection de labels peut donc être utilisée pour
      l'apprentissage multi-labels <h:cite href="robust"/>. Dans ce
      cas, le modèle multi-labels est décomposé en un terme utilisant
      une structure commune pour la plupart des labels, et un terme
      indiquant les labels non traités.
    </p>
    <h:mini>
      <h:variables>A, B</h:variables>
      <h:objective>
        \left\|X (A + B) - Y\right\|_F^2
        + \alpha \mathcal{R} (A)
        + \beta \left\|B\right\|_{1, 2}
      </h:objective>
    </h:mini>
    <p>
      La notation <h:eq>\left\|B\right\|_{1, 2}</h:eq> désigne la
      norme <h:eq>l_{1, 2}</h:eq> de <h:eq>B</h:eq>, c'est-à-dire la
      norme <h:eq>l_{2, 1}</h:eq> de la transposée de <h:eq>B</h:eq> :
    </p>
    <h:equation>
      \left\|B\right\|_{1, 2}
      = \sum_{l = 1} ^ m \left\|B_{., l}\right\|_2
    </h:equation>
    <p>
      <h:eq>\mathcal{R}</h:eq> désigne un terme de régularisation
      multi-labels quelconque. Dans le cas de <h:cite href="robust"/>,
      il s'agit de la norme trace. La régularisation
      <h:eq>\left\|B\right\|_{1, 2}</h:eq> ressemble au terme de
      sparsité du <emph>dirty model</emph>, mais l'hypothèse est plus
      forte, puisque ce terme ne correspond qu'à certains labels.
    </p>
    <h2>Approche proposée : <strong>RSMS</strong></h2>
    <p>
      Dans cette section nous décrivons notre approche que nous
      dénommons par la suite <strong>RSMS</strong> (<emph>Robust
      Semi-supervised Multi-label feature Selection</emph>).
    </p>
    <p>
      On dispose d'un ensemble d'apprentissage supervisé,

      <h:eq>
        \left(
        x_i \in \mathcal{X},
        y_i \in \mathbb{R}^m
        \right)_{i = 1} ^ {n_l}
      </h:eq>,

      auquel est adjoint un ensemble non supervisé,

      <h:eq>
        \left(
        x_i \in \mathcal{X}
        \right)_{i = n_l + 1}^{N}
      </h:eq>.
    </p>
    <p>
      Tout d'abord, l'algorithme cherche à effectuer une extraction de
      labels. Pour cela, on écrit la matrice de labels <h:eq>Y</h:eq>
      comme suit :
    </p>
    <h:equation-x>
      Y = V B
    </h:equation-x>
    <p>
      Ceci introduit la matrice de pseudo-labels
      
      <h:eq>V \in  \mathbb{R}^{N, o}</h:eq>,

      et la matrice

      <h:eq>B \in \mathbb{R}^{o, m}</h:eq>.

      Concrètement, chaque individu labellisé de l'ensemble
      d'apprentissage correspond à une ligne de <h:eq>V</h:eq>, et
      chaque pseudo-label correspond à une colonne
      de <h:eq>V</h:eq>. Dans le cadre semi-supervisé, on définit une
      matrice diagonale 

      <h:eq>J \in \mathbb{R}^{N, N}</h:eq>, 

      dont la diagonale est l'indicatrice des individus
      labellisés. Pour chaque individu
      
      <h:eq>i \in \{1, ..., N\}</h:eq>,

      <h:eq>J_{i i} = 1</h:eq> si et seulement si <h:eq>i</h:eq> est
      labellisé. Cette matrice nous permet donc d'affiner la
      décomposition, qui ne doit porter que sur la partie labellisée :
    </p>
    <h:mini>
      <h:variables>
        V \in \mathbb{R}^{N, o},
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \left\|JVB - JY\right\|_F^2
      </h:objective>
    </h:mini>
    <p>
      L'obtention d'un modèle d'apprentissage semi-supervisé peut
      ainsi s'effectuer uniquement à partir des labels extraits. On
      introduit un modèle 

      <h:eq>W \in \mathbb{R}^{d, o}</h:eq>, 

      et un régulariseur 

      <h:eq>\alpha > 0</h:eq>. 

      Plus <h:eq>\alpha</h:eq> est grand, plus les labels extraits
      représenteront fidèlement les vrais labels <h:eq>Y</h:eq>.
    </p>
    <h:mini>
      <h:variables>
        W \in \mathbb{R}^{d, o},
        V \in \mathbb{R}^{N, o},
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \alpha \left\|J V B - J Y \right\|_F^2
      </h:objective>
    </h:mini>
    <p>
      L'optimisation par rapport à <h:eq>V</h:eq> permet d'assigner
      des pseudo-labels même aux individus non labellisés. Ce n'est
      cependant pas suffisant pour tenir compte des hypothèses de
      l'apprentissage semi-supervisé, puisque ces valeurs ne sont pas
      contraintes. La traduction des hypothèses semi-supervisées, dans
      le cadre de l'algorithme <emph>MIFS</emph>, se traduit de la
      façon suivante :
    </p>
    <blockquote>
      Si deux individus sont proches, alors les valeurs de leurs
      pseudo-labels doivent être proches.
    </blockquote>
    <p>
      En suivant cette hypothèse, on peut être amené à introduire une
      matrice Laplacienne

      <h:eq>L \in \mathbb{R}^{N, N}</h:eq>

      et un nouveau régulariseur

      <h:eq>\beta > 0</h:eq>,

      de sorte à minimiser le problème suivant :
    </p>
    <h:mini>
      <h:variables>
        W \in \mathbb{R}^{d, o},
        V \in \mathbb{R}^{N, o},
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \alpha \left\|J V B - J Y \right\|_F^2
        + \beta \mathrm{tr} \left(V'LV\right)
      </h:objective>
    </h:mini>
    <p>
      Il reste donc deux problèmes à traiter : la sélection de
      variables, et la sélection de labels au service de la sélection
      de variables. Pour la sélection de variables, l'utilisation de
      la norme <h:eq>l_{2, 1}</h:eq> est très répandue
      <h:cite href="rfs"/>. Pour rappel, il s'agit de régulariser le
      terme s'appliquant sur les lignes de <h:eq>W</h:eq> :
    </p>
    <h:equation-x>
      \sum_{j = 1} ^ d \sqrt{\sum_{k = 1} ^ o W_{jk} ^ 2}
      = \left\|W\right\|_{2, 1}
    </h:equation-x>
    <p>
      Ce terme permet de rendre les lignes de <h:eq>W</h:eq> éparses,
      c'est-à-dire que des lignes de <h:eq>W</h:eq> tendent à être
      entièrement nulles. Les lignes comportant des valeurs non nulles
      indiquent des variables qui sont importantes pour
      l'apprentissage de tous les pseudo-labels. Le problème devient
      donc :
    </p>
    <h:mini>
      <h:variables>
        W \in \mathbb{R}^{d, o},
        V \in \mathbb{R}^{N, o},
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \alpha \left\|J V B - J Y \right\|_F^2
      </h:objective>
      <h:break-objective>
        + \beta \mathrm{tr} \left(V'LV\right)
        + \gamma \left\|W\right\|_{2, 1}
      </h:break-objective>
    </h:mini>
    <p>
      Pour effectuer la sélection de labels, notre hypothèse se
      traduit donc par le fait que certaines des colonnes de la
      matrice <h:eq>B</h:eq>, qui correspondent donc aux vrais labels,
      seront entièrement nulles. En introduisant un terme de
      régularisation supplémentaire, on obtient :
    </p>
    <h:mini>
      <h:variables>
        W \in \mathbb{R}^{d, o},
        V \in \mathbb{R}^{N, o},
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \alpha \left\|J V B - J Y \right\|_F^2
      </h:objective>
      <h:break-objective>
        + \beta \mathrm{tr} \left(V'LV\right)
        + \gamma \left\|W\right\|_{2, 1}
        + \delta \left\|B\right\|_{1, 2}
      </h:break-objective>
    </h:mini>
    <p>
      L'hypothèse semi-supervisée change également. La régularisation
      
      <h:eq>\mathrm{tr} (V L V')</h:eq>

      n'est pas pertinente, parce qu'elle s'applique de façon
      indiscriminée sur tous les pseudo-labels. Ainsi, si un
      pseudo-label représente l'un des labels ignorés, il ne faut pas
      tenir compte de ses valeurs pour la régularisation. Ceci nous
      mène à modifier l'hypothèse semi-supervisée pour la sélection de
      variables aidée par la sélection de labels :
    </p>
    <blockquote>
      Si deux individus sont proches, alors pour chaque label
      sélectionné, la reconstruction des valeurs de ce label doivent
      être proches.
    </blockquote>
    <p>
      Nous considérons pour la reconstruction des valeurs des labels
      le produit <h:eq>V B</h:eq>. Le problème final devient donc
      <h:ref href="#rsms-final"/> :
    </p>
    <h:mini id="rsms-final">
      <h:variables>
        W \in \mathbb{R}^{d, o},
        V \in \mathbb{R}^{N, o},
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \alpha \left\|J V B - J Y \right\|_F^2
      </h:objective>
      <h:break-objective>
        + \beta \mathrm{tr} \left(B'V'LVB\right)
        + \gamma \left\|W\right\|_{2, 1}
        + \delta \left\|B\right\|_{1, 2}
      </h:break-objective>
    </h:mini>
    <p>
      Le terme de régularisation semi-supervisé

      <h:eq>\mathrm{tr} \left(B'V'LVB\right)</h:eq>

      peut se réécrire de la façon suivante :
    </p>
    <h:equation>
      \sum_{k = 1} ^ m \sum_{i_1 = 1, i_2 = 1} ^ N M_{i_1, i_2} 
      \left( 
      \sum_{l = 1} ^ o \left(V_{i_1, l} - V_{i_2, l}\right) B_{l, k} 
      \right)^2
    </h:equation>
    <p>
      Par hypothèse, si un label <h:eq>k</h:eq> est ignoré, alors pour
      tout 

      <h:eq>l \in \{1, ..., o\}</h:eq>, 

      <h:eq>B_{l,k} = 0</h:eq>. 

      Par conséquent, la régularisation ne porte que sur les labels
      non ignorés, notés 

      <h:eq>\mathcal {S} \subset \{1, ..., m\}</h:eq> :
    </p>
    <h:equation>
      \sum_{k \in \mathcal{S}} 
      \sum_{i_1 = 1, i_2 = 1} ^ N 
      M_{i_1, i_2} \left( 
        \sum_{l = 1} ^ o \left(V_{i_1, l} - V_{i_2, l}\right) B_{l, k} 
      \right)^2
    </h:equation>
    <p>
      Contrairement à l'apprentissage robuste <h:cite href="robust"/>,
      où le modèle doit rendre compte à la fois des labels
      sélectionnés et des labels non sélectionnés, nous ne nous
      intéressons qu'aux variables pour les labels sélectionnés. Il
      n'est donc pas nécessaire de décomposer le terme <h:eq>B</h:eq>.
    </p>
    <h2>Optimisation</h2>
    <p>
      La question de l'initialisation des variables pose problème,
      puisque le résultat final en dépend. Il est possible d'utiliser
      des variables indépendantes suivant une loi normale, mais cela
      ne permet pas de rendre l'algorithme déterministe.
    </p>
    <p>
      En ce qui concerne <h:eq>W</h:eq>, nous avons choisi d'utiliser
      l'initialisation suivante :
    </p>
    <h:equation>
      W^{(0)} \gets \left[X' J X + \epsilon I\right]^{-1} X' J V
    </h:equation>
    <p>
      Il s'agit de la solution aux moindres carrés, régularisée par
      <h:eq>\epsilon</h:eq>. La valeur a été fixée
      à <h:eq>10^{-6}</h:eq>, qui est suffisamment faible pour ne pas
      trop influencer l'apprentissage pour les jeux de données du type
      de ceux étudiés dans l'étude expérimentale. Le
      terme <h:eq>V_l</h:eq> désigne le sous-ensemble labellisé des
      lignes de <h:eq>V</h:eq>.
    </p>
    <p>
      Pour <h:eq>V</h:eq> et <h:eq>B</h:eq>, la question est plus
      complexe. Pour conserver l'aspect déterministe de
      l'initialisation, on ne peut pas recourir à un algorithme de
      clustering de type <emph>k-means</emph>, et il n'est pas non
      plus possible d'effectuer une décomposition <emph>SVD</emph> de
      la matrice <h:eq>Y</h:eq>. L'initialisation retenue
      pour <h:eq>B</h:eq> est une matrice diagonale rectangulaire (la
      diagonale s'arrêtant prématurément, laissant des colonnes
      nulles). L'initialisation pour <h:eq>V_l</h:eq> correspond donc
      aux valeurs des <h:eq>o</h:eq> premiers labels. Le reste des
      valeurs de <h:eq>V</h:eq> est obtenue en utilisant la valeur
      initiale <h:eq>W^{(0)}</h:eq> de <h:eq>W</h:eq> sous la forme
      <h:eq>V^{(0)} \gets X W</h:eq>.
    </p>
    <p>
      L'initialisation de l'algorithme consiste donc à faire un
      apprentissage des <h:eq>o</h:eq> premiers labels avec une
      régularisation Ridge de paramètre <h:eq>10^{-6}</h:eq>.
    </p>
    <p>
      Comme pour l'algorithme <emph>MIFS</emph>, notre approche
      utilise 3 variables
      d'optimisation : <h:eq>W</h:eq>, <h:eq>V</h:eq>
      et <h:eq>B</h:eq>. En effectuant une optimisation alternée
      vis-à-vis de chacune des variables, nous pouvons vérifier que la
      valeur de la fonction objectif décroît à chaque étape, ce qui
      montre la convergence de notre approche.
    </p>
    <h3>Optimisation vis-à-vis de <h:eq>W</h:eq>, <h:eq>V</h:eq>
      et <h:eq>B</h:eq> étant fixés</h3>
    <p>
      Le problème <h:ref href="#rsms-final"/>, si l'on ne considère
      que <h:eq>W</h:eq>, peut se réécrire en :
    </p>
    <h:mini>
      <h:variables>
        W \in \mathbb{R}^{d, o}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \gamma \left\|W\right\|_{2, 1}
      </h:objective>
    </h:mini>
    <p>
      La difficulté de ce problème réside dans le fait que le deuxième
      terme n'est pas lisse. Il existe plusieurs façons de traiter ce
      cas, par exemple l'implémentation MALSAR <h:cite href="malsar"/>
      propose une descente de gradient proximal. Dans notre cas, nous
      utilisons une constante <h:eq>\epsilon > 0</h:eq>, et nous
      adoptons la solution de l'algorithme <emph>RFS</emph>
      <h:cite href="rfs"/>, en posant la matrice
      diagonale <h:eq>D_W</h:eq> telle que :
    </p>
    <h:equation>
      \forall j \in \{1, ..., d\}, {D_W}_{j, j} =
      \begin{cases}
      \frac 1 {2 \left\|W_{j,.}\right\|_2}, \quad \left\|W_{j,.}\right\|_2 \neq 0 \\
      \epsilon, \quad \left\|W_{j,.}\right\|_2 = 0
      \end{cases}
    </h:equation>
    <p>
      Cette définition permet d'écrire :
    </p>
    <h:equation>
      2 \mathrm{tr} (W' D_W W)
      = \sum_{j = 1, \left\|W_{j, .}\right\|_2 \neq 0}^d 
      \left\|W_{j, .}\right\|_2
      + \sum_{j = 1, \left\|W_{j, .}\right\|_2 = 0}
      \epsilon \left\|W_{j,.}\right\|_2^2
    </h:equation>
    <p>
      Il s'agit donc de la norme <h:eq>l_{2,1}</h:eq>. En pratique,
      pour vérifier la convergence de l'algorithme, si le terme

      <h:eq>\mathrm{tr} (W' D_W W)</h:eq> 

      décroît, alors le terme <h:eq>\left\|W\right\|_{2, 1}</h:eq>
      décroît aussi.
    </p>
    <p>
      Le gradient vis-à-vis de <h:eq>W</h:eq> s'écrit donc :
    </p>
    <h:equation>
      2 \left (X' (XW - V) + \gamma D_W W \right)
    </h:equation>
    <p>
      Si l'on pose :
    </p>
    <h:equation>
      W^{*} \gets W - \frac 2 {C_W} (X' (XW - V) + \gamma D_W W)
    </h:equation>
    <p>
      on applique une itération de l'algorithme de descente du
      gradient, avec un pas d'apprentissage <h:eq>\frac 1
      {C_W}</h:eq>. On constate que la fonction gradient est
      Lipschitzienne, c'est-à-dire que pour toute paire de modèles
      <h:eq>W^{(1)}, W^{(2)}</h:eq>,
    </p>
    <h:equation>
      \left\|\nabla_W (W^{(1)}) - \nabla_W (W^{(2)})\right\|_F^2
      \leq C_W \left\|W^{(1)} - W^{(2)}\right\|_F^2
    </h:equation>
    <p>
      avec

      <h:eq>C_W = \rho (X'X) + \gamma \max (D_W)</h:eq>,

      où <h:eq>\rho (X'X)</h:eq> est le rayon spectral de la matrice
      <h:eq>X'X</h:eq>.
    </p>
    <p>
      Par conséquent, l'itération de descente de gradient fait
      décroître la fonction objectif.
    </p>
    <h3>Optimisation vis-à-vis de <h:eq>V</h:eq></h3>
    <p>
      En fixant <h:eq>W</h:eq> et <h:eq>B</h:eq>, le problème
      d'optimisation s'écrit :
    </p>
    <h:mini>
      <h:variables>
        V \in \mathbb{R}^{N, o}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \alpha \left\|JVB - JY\right\|_F^2
        + \beta \mathrm{tr}\left(B'V'LVB\right)
      </h:objective>
    </h:mini>
    <p>
      Le gradient par rapport à <h:eq>V</h:eq> s'écrit :
    </p>
    <h:equation>
      2 \left( V - X W + \alpha JVB' - \alpha JYB' + \beta L V B B' \right)
    </h:equation>
    <p>
      La fonction objectif est convexe par rapport à <h:eq>V</h:eq>,
      et la fonction de gradient est Lipschitzienne : pour toute paire
      de modèles <h:eq>V^{(1)}, V^{(2)}</h:eq>,
    </p>
    <h:equation>
      \left\|\nabla_V (V^{(1)}) - \nabla_V (V^{(2)})\right\|_F^2
      \leq C_V \left\|V^{(1)} - V^{(2)}\right\|_F^2
    </h:equation>
    <p>
      avec :
    </p>
    <h:equation>
      C_V = 1 + \left(\alpha + \beta \rho (L)\right) \rho (BB')
    </h:equation>
    <h3>Optimisation vis-à-vis de <h:eq>B</h:eq></h3>
    <p>
      En fixant <h:eq>W</h:eq> et <h:eq>V</h:eq>, le problème
      d'optimisation s'écrit :
    </p>
    <h:mini>
      <h:variables>
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \alpha \left\|JVB - JY\right\|_F^2
        + \beta \mathrm{tr} \left(B'V'LVB\right)
        + \delta \left\|B\right\|_{1, 2}
      </h:objective>
    </h:mini>
    <p>
      Cette fonction n'est pas lisse, à cause de la
      norme <h:eq>l_{1,2}</h:eq> appliquée à <h:eq>B</h:eq>. On
      applique la même astuce que pour l'optimisation par rapport à
      <h:eq>W</h:eq> : on pose la matrice diagonale <h:eq>D_B</h:eq>
      dont la diagonale vaut :
    </p>
    <h:equation>
      \forall l \in \{1, ..., m\}, \quad {D_B}_{l, l} \gets
      \begin{cases}
      \frac 1 {2 \left\|B_{., l}\right\|_2}, &amp;\quad \left\|B_{., l}\right\|_2 \neq 0 \\
      \epsilon, &amp;\quad \left\|B_{., l}\right\|_2 = 0
      \end{cases}
    </h:equation>
    <p>
      Nous devons donc résoudre le problème suivant :
    </p>
    <h:mini>
      <h:variables>
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \alpha \left\|JVB - JY\right\|_F^2
        + \beta \mathrm{tr} \left(B'V'LVB\right)
        + \delta \mathrm{tr} \left(B D_B B'\right)
      </h:objective>
    </h:mini>
    <p>
      Le gradient peut donc s'écrire :
    </p>
    <h:equation>
      2 \left(\alpha V'(JVB - JY) + \beta V'LVB + \delta D_B B\right)
    </h:equation>
    <p>
      La fonction objectif est encore convexe par rapport
      à <h:eq>B</h:eq>, et la fonction de gradient est aussi
      Lipschitzienne, de constante :
    </p>
    <h:equation>
      C_B = \alpha \rho (V'JV) + \beta \rho (L) \rho (V'V) + \delta \max (D_B)
    </h:equation>
    <p>
      Une itération de descente de gradient de pas <h:eq>\frac 1
      {C_B}</h:eq> permet donc de diminuer la fonction de coût.
    </p>
    <h3>Algorithme final</h3>
    <p>
      L'algorithme complet <h:ref href="#algorithme-rsms"/> consiste
      simplement à alterner les étapes d'optimisation jusqu'à
      convergence. On remarque que le calcul du pas d'apprentissage
      nécessite d'obtenir la plus grande valeur propre de certaines
      matrices : <h:eq>BB'</h:eq> de dimension <h:eq>m \times
      m</h:eq>, <h:eq>V'V</h:eq> de dimension <h:eq>o \times o</h:eq>,
      et <h:eq>X'X</h:eq> de dimension <h:eq>d \times d</h:eq> (dans
      le cas de la sélection de variables, <h:eq>d</h:eq> peut être
      grand) et <h:eq>L</h:eq> de dimension <h:eq>N \times N</h:eq>
      (pour un problème d'apprentissage semi-supervisé, <h:eq>N</h:eq>
      peut être grand). Heureusement, le calcul pour ces deux
      dernières matrices peut être fait en amont.
    </p>
    <h:algorithm id="algorithme-rsms">
      <alg:algorithmic>
	<alg:donnée><h:eq>X \in \mathbb{R}^{N, d}</h:eq></alg:donnée>
        <alg:donnée><h:eq>J</h:eq>, diagonale, indicatrice des données labellisées</alg:donnée>
	<alg:donnée><h:eq>Y \in \mathbb{R}^{N, m}</h:eq></alg:donnée>
	<alg:hyperparamètre>
          <h:eq>\alpha > 0</h:eq>, 
          <h:eq>\beta > 0</h:eq>, 
          <h:eq>\gamma > 0</h:eq>, 
          <h:eq>\delta > 0</h:eq>
        </alg:hyperparamètre>
	<alg:hyperparamètre><h:eq>o \in \{1, ..., m\}</h:eq></alg:hyperparamètre>
	<alg:hyperparamètre>
          matrice Laplacienne du graphe des individus, <h:eq>L \in
            \mathbb{R}^{N, N}</h:eq>
        </alg:hyperparamètre>
        <alg:initialisation>
          <alg:state>
            <h:eq>B</h:eq> : matrice diagonale rectangulaire
          </alg:state>
          <alg:state>
            <h:eq>W \gets \left[X' J X + \epsilon I\right]^{-1} X'JYB</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>V \gets X W</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>D_W \gets I_{d}</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>D_B \gets I_{m}</h:eq>
          </alg:state>
        </alg:initialisation>
        <alg:itération>
          <alg:state>
            <h:eq>C_W \gets \rho (X'X) + \gamma \max (D_W)</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>W \gets W - \frac 2 {C_W} (X' (XW - V) + \gamma D_W W)</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>\forall j, \quad {D_W}_{j, j} \gets \frac 1 {2 \left\|W_{j, .}\right\|_2}</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>C_V \gets 1 + \left(\alpha + \beta \rho (L)\right) \rho (BB')</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>V \gets V - \frac 2 {C_V} (V - X W + \alpha JVB' - \alpha JYB' + \beta L V B B')</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>C_B \gets \alpha \rho (V'JV) + \beta \rho (L) \rho (V'V) + \delta \max (D_B)</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>B \gets B - \frac 2 {C_B} (\alpha V'(JVB - JY) + \beta V'LVB + \delta D_B B)</h:eq>
          </alg:state>
          <alg:state>
            <h:eq>\forall l, \quad {D_B}_{l, l} \gets \frac 1 {2 \left\|B_{., l}\right\|_2}</h:eq>
          </alg:state>
        </alg:itération>
        <alg:résultat>
          les variables sélectionnées sont les lignes
          de <h:eq>W</h:eq> de norme minimale
        </alg:résultat>
        <alg:résultat>
          les labels sélectionnés sont les colonnes de <h:eq>B</h:eq>
          de norme minimale
        </alg:résultat>
      </alg:algorithmic>
      <figcaption>
        Algorithme <strong>RSMS</strong> : sélection de variables
      </figcaption>
    </h:algorithm>
    <h2>Étude expérimentale</h2>
    <p>
      Pour évaluer la pertinence de notre approche de sélection de
      variables et de labels, nous proposons une étude expérimentale
      qui met en concurrence <strong>RSMS</strong> avec d’autres
      algorithmes de sélection de variables multi-labels adaptés à la
      régression, <emph>SFUS</emph>
      <h:cite href="sfus"/>, <emph>RFS</emph> <h:cite href="rfs"/>
      et <emph>MIFS</emph> <h:cite href="mifs"/>.
    </p>
    <p>
      L'algorithme <emph>MIFS</emph> est l'algorithme sur lequel nous
      nous sommes fondés. Il reprend la sélection de variables
      multi-labels semi-supervisée pour la régression
      <h:ref href="#rappel-mifs"/>, et son optimisation est également
      effectuée par descente de gradient alternée.
    </p>
    <h:mini id="rappel-mifs">
      <h:variables>
        W \in \mathbb{R}^{d, o}, 
        V \in \mathbb{R}^{n, o}, 
        B \in \mathbb{R}^{o, m}
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \alpha \left\|Y - VB\right\|_F^2
        + \beta \mathrm{tr} \left(V'LV\right)
        + \gamma \left\|W\right\|_{2, 1}
      </h:objective>
    </h:mini>
    <p>
      L'algorithme RFS utilise la norme <h:eq>l_{2, 1}</h:eq>
      exclusivement dans la fonction objectif. Ceci permet d'ignorer
      certains individus pour la construction du
      modèle <h:eq>W</h:eq>. Si le jeu de données contient des
      anomalies, la sélection de variables est rendue plus robuste de
      ce point de vue, d'où son nom, <emph>Robust Feature
      Selection</emph>.
    </p>
    <h:mini id="rappel-rfs">
      <h:variables>
        W \in \mathbb{R}^{d, m}
      </h:variables>
      <h:objective>
        \left\|XW - Y\right\|_{2, 1}^2
        + \alpha \left\|W\right\|_{2, 1}
      </h:objective>
    </h:mini>
    <p>
      Enfin, l'algorithme <emph>SFUS</emph> se fonde sur l'idée de
      <emph>RFS</emph>, à savoir l'utilisation de la
      norme <h:eq>l_{2,1}</h:eq> pour pouvoir ignorer certains
      individus, et une décomposition de rang faible du modèle.
    </p>
    <h:mini id="rappel-sfus">
      <h:variables>
        W \in \mathbb{R}^{d, m},
        P \in \mathbb{R}^{o, m},
        Q \in \mathbb{R}^{d, o}
      </h:variables>
      <h:objective>
        \left\|XW - Y\right\|_{2, 1}^2
        + \alpha \left\|W\right\|_{2, 1}
        + \beta \left\|W - QP\right\|_F^2
      </h:objective>
      <h:add-constraint>
        <h:left>Q'Q = I</h:left>
      </h:add-constraint>
    </h:mini>
    <h3>Jeux de données utilisées</h3>
    <p>
      Les jeux de données utilisés sont les suivants
      <h:cite href="spyromitros_xioufis_multi_target_2016,sarcos"/> :
      <emph>atp1d</emph>,
      <emph>atp7d</emph>,
      <emph>edm</emph>,
      <emph>enb</emph>,
      <emph>oes10</emph>,
      <emph>oes97</emph>,
      <emph>osales</emph>,
      <emph>scpf</emph>,
      <emph>sf1</emph>,
      <emph>sf2</emph>,
      <emph>wq</emph>,

      comme pour le test de l'algorithme <emph>LSMR</emph> défini dans
      le chapitre précédent.
    </p>
    <h3>Algorithmes utilisés</h3>
    <p>
      Pour cette étude expérimentale, nous avons sélectionné quatre
      algorithmes de sélection de variables multi-labels.
    </p>
    <p>
      Premièrement, l'algorithme <emph>MIFS</emph>. Cet algorithme
      n'est pas conçu pour l'apprentissage semi-supervisé ; cependant
      sa fonction objectif ainsi que son algorithme d'optimisation
      peuvent très simplement utiliser l'information de tous les
      individus, y compris ceux non labellisés. C'est cette version
      que nous avons utilisée pour la comparaison. À cet algorithme,
      nous ajoutons deux algorithmes de sélection de variables
      multi-labels, l'algorithme <emph>SFUS</emph>
      <h:cite href="sfus"/> et l'algorithme <emph>RFS</emph>
      <h:cite href="rfs"/> décrit ci-dessus.
    </p>
    <p>
      Puisque notre approche est destinée à effectuer de la sélection
      de variables, nous devons tester les performances d'un
      algorithme de régression multi-labels quelconque qui apprendrait
      avec différents sous-ensembles des variables (et éventuellement
      des labels) sélectionnés. Étant donné qu'il faille effectuer un
      apprentissage différent pour chaque sous-ensemble de variables
      et chaque sous-ensemble de labels, sans possibilité de
      réutilisation des valeurs des hyperparamètres, nous avons choisi
      l'algorithme avec un tuning plus limité. Par conséquent, les
      valeurs obtenues ne sont pas exactement les mêmes que pour le
      chapitre précédent.
    </p>
    <h3>Protocole expérimental</h3>
    <p>
      Pour chaque algorithme et chaque jeu de données, on recherche
      les valeurs optimales des hyperparamètres en suivant une
      procédure de tuning optimisant la valeur moyenne de la métrique
      <emph>aRMSE</emph> selon une validation croisée à 10 folds. Une fois ces
      hyperparamètres déterminés, les variables (et dans le cas de
      <strong>RSMS</strong>, les labels) sont triés par ordre
      d'importance.
    </p>
    <p>
      L'évaluation de la sélection de variables s'effectue de la façon
      suivante. Pour une certaine fraction de variables, pour chaque
      algorithme, on détermine les valeurs des hyperparamètres de
      l'algorithme d'évaluation <emph>LSMR</emph> en suivant une
      recherche aléatoire qui minimise l'erreur aRMSE moyenne sur les
      10 folds de la validation croisée. La partie de test réservée
      pour chaque jeu de données permet d'évaluer
      l'algorithme <emph>LSMR</emph>. Le nombre d'individus labellisés
      est fixé à 30%. L'opération est répétée 10 fois avec différents
      ensembles de test et différents individus labellisés.
    </p>
    <h3>Évaluation de la sélection de variables</h3>
    <p>
      Nous avons tout d'abord étudié la performance de la sélection de
      variables pour les différents algorithmes sur les différents
      jeux de données. En fixant le nombre de labels conservés à 100%,
      et le nombre d'individus labellisés à 30%, on obtient une courbe
      pour chaque jeu de données, pour la métrique aRMSE
      <h:ref href="#fig-rsms_1"/>.
    </p>
    <p>
      Les résultats sont agrégés dans la table
      <h:ref href="#tbl-rsms-evaluation-agrege"/>. Nous avons pour
      chaque jeu de données, chaque algorithme, et chaque pourcentage
      de variables conservées, calculé le rang de chaque algorithme
      (entre 1 et 4). Nous montrons le rang moyen de chaque approche
      sur l'ensemble des pourcentages de variables sélectionnées.
    </p>
    <table latex-align="l|cccc">
      <caption id="tbl-rsms-evaluation-agrege">
        Rang moyen de <emph>LSMR</emph> après sélection de variables
        multi-labels
      </caption>
      <thead>
	<tr>
	  <th>Jeu de données</th>
	  <th><strong>RSMS</strong></th>
	  <th><emph>MIFS</emph></th>
	  <th><emph>SFUS</emph></th>
	  <th><emph>RFS</emph></th>
	</tr>
      </thead>
      <tbody>
        <tr>
          <td>atp1d</td>
          <td><strong>1.9 [1]</strong></td>
          <td>2.1 [2]</td>
          <td>3.2 [4]</td>
          <td>2.8 [3]</td>
        </tr>
        <tr>
          <td>atp7d</td>
          <td>2.5 [2]</td>
          <td>3.2 [4]</td>
          <td><strong>1.3 [1]</strong></td>
          <td>3.0 [3]</td>
        </tr>
        <tr>
          <td>edm</td>
          <td><strong>1.8 [1]</strong></td>
          <td>3.2 [4]</td>
          <td>2.3 [2]</td>
          <td>2.7 [3]</td>
        </tr>
        <tr>
          <td>enb</td>
          <td>2.3 [2]</td>
          <td>3.4 [4]</td>
          <td><strong>1.8 [1]</strong></td>
          <td>2.5 [3]</td>
        </tr>
        <tr>
          <td>oes10</td>
          <td>2.8 [3]</td>
          <td>2.2 [2]</td>
          <td>3.0 [4]</td>
          <td><strong>2.0 [1]</strong></td>
        </tr>
        <tr>
          <td>oes97</td>
          <td>2.5 [3]</td>
          <td>3.6 [4]</td>
          <td><strong>1.8 [1]</strong></td>
          <td>2.1 [2]</td>
        </tr>
        <tr>
          <td>osales</td>
          <td>2.8 [4]</td>
          <td>2.0 [2]</td>
          <td><strong>1.25 [1]</strong></td>
          <td>2.4 [3]</td>
        </tr>
        <tr>
          <td>scpf</td>
          <td><strong>2.1 [1]</strong></td>
          <td>2.4 [2]</td>
          <td>3.1 [4]</td>
          <td>2.4 [3]</td>
        </tr>
        <tr>
          <td>sf1</td>
          <td><strong>1.9 [1]</strong></td>
          <td>2.7 [3]</td>
          <td>3.4 [4]</td>
          <td>2.0 [3]</td>
        </tr>
        <tr>
          <td>sf2</td>
          <td>2.3 [2.5]</td>
          <td><strong>1.7 [1]</strong></td>
          <td>3.7 [4]</td>
          <td>2.3 [2.5]</td>
        </tr>
        <tr>
          <td>wq</td>
          <td><strong>1.7 [1]</strong></td>
          <td>2.6 [3]</td>
          <td>2.4 [2]</td>
          <td>3.3 [4]</td>
        </tr>
      </tbody>
    </table>
    <p>
      Si l'on calcule le rang moyen de chaque algorithme sur toutes
      les fractions de variables sélectionnées et tous les jeux de
      données, on obtient le résultat suivant :
    </p>
    <ol>
      <li><strong>RSMS</strong> : <strong>2.21</strong></li>
      <li><emph>RFS</emph> : 2.50</li>
      <li><emph>SFUS</emph> : 2.55</li>
      <li><emph>MIFS</emph> : 2.70</li>
    </ol>
    <figure>
      <img src="images/rsms_1.svg" />
      <figcaption id="fig-rsms_1">
        Évaluation de la sélection de variables par <emph>LSMR</emph>
      </figcaption>
    </figure>
    <p>
      La figure <h:ref href="#fig-rsms_1"/> montre les résultats
      obtenus pour chaque jeu de données. On observe les faits
      suivants :
    </p>
    <ul>
      <li>
        Pour <emph>atp1d</emph>, 
        <emph>atp7d</emph>, 
        <emph>edm</emph>,
        <emph>enb</emph>,
        <emph>scpf</emph> et <emph>sf1</emph>, la courbe d'erreur a un
        minimum global en ne sélectionnant qu'un certain nombre de
        variables. Pour <emph>edm</emph>, le choix de la première
        variable sélectionnée est très important.
      </li>
      <li>
        Pour <emph>oes10</emph>,
        <emph>oes97</emph>,
        <emph>sf2</emph> et <emph>wq</emph>, la sélection de variables
        n'est pas pertinente puisque l'erreur minimale s'obtient en
        sélectionnant toutes les variables, quelle que soit l'approche
        étudiée.
      </li>
      <li>
        Pour <emph>osales</emph>, la sélection de variables est très
        mauvaise pour RSMS. Pour les autres jeux de données pour
        lesquels la sélection de variables est
        pertinente, <emph>atp1d</emph>, <emph>atp7d</emph>,
        <emph>edm</emph>, et <emph>enb</emph> obtiennent le minimum
        global avec <strong>RSMS</strong>. <emph>sf1</emph> observe le
        minimum global avec <emph>RFS</emph>, et <emph>scpf</emph>
        avec <emph>MIFS</emph> (0.9575 pour <emph>MIFS</emph> contre
        0.9581 pour <strong>RSMS</strong>).
      </li>
    </ul>
    <h3>Sélection de labels</h3>
    <p>
      Pour la sélection de labels, nous cherchons à observer quels
      sont les labels qui sont les plus faciles à apprendre. Pour ce
      faire, on garde 30% des variables pour l'apprentissage, et on
      évalue la performance de l'algorithme <emph>LSMR</emph> en ne
      conservant que 20%, 40%, 60%, 80% et 100% des labels.
    </p>
    <figure>
      <img src="images/rsms_2.svg" />
      <figcaption id="fig-rsms_2">
        Évaluation de la sélection de labels de <strong>RSMS</strong>
        par <emph>LSMR</emph>
      </figcaption>
    </figure>
    <p>
      La figure <h:ref href="#fig-rsms_2"/> montre la courbe de
      sélection de labels pour chaque jeu de données. On retrouve
      différent cas de figure :
    </p>
    <ul>
      <li>
        Pour <emph>atp1d</emph>, <emph>atp7d</emph>, <emph>enb</emph>,
        <emph>osales</emph> et <emph>wq</emph>, la sélection de label
        permet de trouver un nombre de labels pour lequel l'erreur est
        minimale, de sorte qu'en sélectionnant moins de labels
        l'erreur augmente et en en sélectionnant plus l'erreur
        augmente également.
      </li>
      <li>
        Pour <emph>oes10</emph>, <emph>scpf</emph>
        et <emph>sf1</emph>, l'erreur est minimale si l'on ne garde
        que le nombre minimum de labels.
      </li>
      <li>
        Pour <emph>edm</emph>, <emph>oes97</emph> et <emph>sf2</emph>,
        sélectionner tous les labels donne une erreur de régression
        plus faible.
      </li>
    </ul>
    <h3>Sélection de labels au service de la sélection de variables</h3>
    <p>
      Concrètement, si certains labels ne peuvent pas être bien
      expliqués globalement par les variables en jeu, ils sont
      simplement ignorés dans la sélection de variables. Dans ce cas,
      nous comparons le résultat de l'apprentissage en conservant 80%
      des labels, contre le résultat pour 100% des labels. Dans le cas
      où le jeu de données a moins de 5 labels, on en conserve moins,
      pour observer une différence :
    </p>
    <ul>
      <li>pour <emph>edm</emph> et <emph>enb</emph>, on ne conserve
      qu’un label ;</li>
      <li>pour <emph>scpf</emph>, <emph>sf1</emph>
      et <emph>sf2</emph>, on en conserve 2 ;</li>
    </ul>
    <figure>
      <img src="images/rsms_3.svg" />
      <figcaption id="fig-rsms_3">
        Comparaison de la sélection de variables pour tous les labels,
        et pour un nombre restreint de labels
      </figcaption>
    </figure>
    <p>
      La figure <h:ref href="#fig-rsms_3"/> montre la différence entre
      la sélection de variables seule et la sélection de variables
      avec sélection de labels. Les courbes obtenues indiquent
      qu'éliminer 20% des labels donne une meilleure erreur de
      régression. Les exceptions sont <emph>enb</emph>, d'une part,
      et <emph>oes10</emph>, <emph>oes97</emph> et <emph>sf2</emph>
      d'autre part, pour lesquels la sélection de variables n'est tout
      simplement pas pertinente. Le fait que les courbes semblent
      simplement translatées en sélectionnant les labels, sans changer
      la position du minimum, indique que les variables sélectionnées
      ne sont pas pertinentes pour les labels ignorés, ce qui était le
      but de notre approche.
    </p>
    <h3>Convergence de l'algorithme</h3>
    <p>
      Dans cette section, nous vérifions expérimentalement que notre
      approche converge en 100 itérations, ce qui est utilisé pour
      l'obtention de l'ordre des variables et des labels, comme
      utilisé dans les deux sections précédentes.
    </p>
    <figure>
      <img src="images/rsms_4.svg" />
      <figcaption id="fig-rsms_4">
        Courbes de convergence de l'algorithme de sélection de
        variables *RSMS* avec écart-type
      </figcaption>
    </figure>
    <p>
      La figure <h:ref href="#fig-rsms_4"/> montre les résultats
      obtenus pour chaque jeu de données. On observe les faits
      suivants :
    </p>
    <ul>
      <li>La méthode converge en moins de 100 itérations.</li>
      <li>La convergence s'observe entre 10 itérations
        (pour <emph>osales</emph>) et 50 itérations
        (pour <emph>wq</emph>)</li> 
      <li>Pour les jeux de données <emph>sf1</emph>
        et <emph>sf2</emph>, la convergence s'opère très rapidement,
        mais la fonction de coût reste importante.</li>
    </ul>
    <h2>Conclusion</h2>
    <p>
      Dans ce chapitre, nous avons proposé un algorithme de sélection
      de variables pour la régression multi-labels en mode
      semi-supervisée. Nous avons utilisé l'hypothèse selon laquelle
      la sélection de labels peut être au service de la sélection de
      variables.
    </p>
    <p>
      Nous avons montré expérimentalement que notre approche est
      compétitive avec l'état de l'art de sélection de variables en
      régression multi-labels. Nous avons également montré la
      pertinence de la sélection de labels, pour déduire les labels
      dont l'apprentissage est plus facile, ce qui guide la sélection
      de variables à de meilleures performances.
    </p>
    <h1 short="Application">
      Application à l’annotation automatique de pneumatiques
    </h1>
    <h:résumé-chapitre>
      <p>
        Dans ce chapitre, nous présentons le cadre d'annotation
        automatique que nous avons développé pour notre partenaire
        industriel Lizeo IT. Dans le cadre de cette thèse, nous sommes
        confrontés à un problème réel nécessitant un apprentissage
        semi-supervisé multi-labels.  Nous évaluons la batterie
        d'algorithmes développés pour les deux tâches principales, à
        savoir la régression et la sélection de variables. Nous
        proposons également une adaptation de ces algorithmes afin de
        traiter le problème dans le cas où le nombre d'individus est
        important.
      </p>
    </h:résumé-chapitre>
    <h2>Introduction</h2>
    <p>
      Étant dans le cadre d'une convention CIFRE, cette thèse doit
      proposer un bon compromis entre l'aspect fondamental développé
      dans les chapitres précédents et l'aspect applicatif en validant
      nos modèles sur les jeux de données de l'entreprise. Ces données
      sont de nature textuelle et définissent différentes
      caractéristiques sur les pneumatiques.
    </p>
    <h2>Présentation de l’entreprise</h2>
    <p>
      Le cœur de métier du groupe international Lizeo (et de ses
      filiales aux États-Unis, à Shanghai et à Lyon) consiste à
      étudier les données relatives à l'industrie automobile, et en
      particulier les pneumatiques. L'activité de Lizeo se décompose
      en deux axes :
    </p>
    <ul>
      <li>
        l'activité <emph>B2B</emph> (<emph>Business to
        Business</emph>), qui consiste à traiter des données telles
        que les caractéristiques techniques, les prix, les
        évaluations, voire les photos et descriptions, à destination
        des entreprises s'intéressant au marché du pneumatique,
      </li>
      <li>
        l'activité <emph>B2C</emph> (<emph>Business to
        Consumer</emph>), en particulier représentée par son site
        vitrine <a href="http://pneu.rezulteo.fr">http://pneu.rezulteo.fr</a>,
        un comparateur de pneumatiques à destination du public.
      </li>
    </ul>
    <p>
      Parmi l'ensemble des données dont dispose Lizeo IT, nous
      retrouvons (cf figure <h:ref href="#fig-lizeo-donnees"/>) :
    </p>
    <ul>
      <li>
        des produits, c'est-à-dire des pneumatiques, avec leurs
        caractéristiques techniques, les résultats des tests, ou les
        évaluations d'experts ;
      </li>
      <li>
        des prix, collectés auprès des revendeurs ou par aspiration de
        sites vendeurs ;
      </li>
      <li>
        des données de véhicules associées aux pneumatiques ;
      </li>
      <li>
        des données des distributeurs, qui permettent notamment de les
        identifier et les localiser ;
      </li>
      <li>
        et enfin, ce qui nous intéresse tout particulièrement, des
        avis des consommateurs, présents sur des forums, et les média
        sociaux.
      </li>
    </ul>
    <figure>
      <img src="images/lizeo-donnees.png" />
      <figcaption id="fig-lizeo-donnees">
        Résumé des données collectées par Lizeo dans le cadre de son
        activité (communication interne)
      </figcaption>
    </figure>
    <p>
      Les travaux actuels de l'équipe R&amp;D du groupe portent sur
      différents thèmes :
    </p>
    <ul>
      <li>
        l'analyse textuelle des avis du public et des experts des
        produits, dont cette thèse fait partie, mais qui vise aussi à
        la découverte automatique de thématiques ;
      </li>
      <li>
        l'analyse du cycle de vie des produits à partir des volumes de
        prix aspirés sur les sites de vente en ligne, afin de savoir
        si un pneumatique est récent, ou plus utilisé ;
      </li>
      <li>
        l'analyse des prix des produits, avec en particulier la
        détection d'anomalies dans les séries temporelles, afin de
        détecter les problèmes dans l'aspiration des prix des
        pneumatiques sur le web (ce qui est préjudiciable pour un
        comparateur de pneumatiques) ;
      </li>
      <li>
        la prédiction de volumes marchés et de prix.
      </li>
    </ul>
    <h2>Description du jeu de données</h2>
    <p>
      L'entreprise Lizeo IT, dans le cadre de son activité B2B,
      propose d'effectuer une veille des pneumatiques dans des
      ressources sur le web, telles que des forums, des articles
      spécialisés et des tweets. Concrètement, chaque document est un
      texte, la plupart étant plutôt courts (note de forum ou tweet),
      traitant d'un ou de plusieurs produits.
    </p>
    <p>
      L'analyse de ces documents est cruciale pour Lizeo. La
      perception qu'ont les consommateurs des produits est une donnée
      d'importance, tant pour les manufacturiers que pour les
      distributeurs.
    </p>
    <p>
      On peut décrire chaque produit à partir de différentes
      caractéristiques, appelées <emph>qualifier</emph> dans le jeu de
      données. Les experts ont identifié de
      nombreux <emph>qualifier</emph>. On peut par exemple citer le
      prix du produit, le bruit, la tenue sur route, ainsi que
      des <emph>qualifier</emph> plus précis : la tenue sur route
      humide, ou enneigée. Les <emph>qualifier</emph> sont ainsi
      conçus comme une hiérarchie. Il y a de
      nombreux <emph>qualifier</emph> dans le jeu de données, mais
      nous avons retenu les 97 qui sont employés plus de 10 fois.
    </p>
    <p>
      Pour un document donné à propos d'un certain produit, un premier
      objectif du traitement consiste à indiquer, pour chaque
      <emph>qualifier</emph>, si celui-ci est pertinent. Concrètement,
      si le document comporte un commentaire sur le bruit d'un
      produit, il faut indiquer le <emph>qualifier</emph> "bruit".
    </p>
    <p>
      Ce problème se traduit en un problème d'apprentissage de
      classification multi-labels : l'unité statistique est le
      document, les variables descriptives sont des variables
      textuelles, et les labels (binaires) sont
      les <emph>qualifier</emph>. Ce problème de classification,
      résumé par la figure <h:ref href="#fig-lizeo-classification"/>,
      n'est cependant pas notre objectif principal.
    </p>
    <figure>
      <img src="images/lizeoclassif.svg" />
      <figcaption id="fig-lizeo-classification">
        Première étape du traitement du jeu de données Lizeo IT :
        apprentissage de classification binaire multi-labels
      </figcaption>
    </figure>
    <p>
      Si un <emph>qualifier</emph> est pertinent pour un certain
      produit de l'un des documents, la question qui nous intéresse
      est la suivante : les termes employés évoquent-ils ce qualifier
      d'une façon positive ou péjorative ? Nous définissons pour cela
      la <emph>tonalité</emph> d'une qualification d'un document comme
      un nombre réel. Une valeur positive de la tonalité indique un
      sentiment positif. Une valeur nulle indique un sentiment neutre,
      et une valeur négative un sentiment négatif. Nous traitons ce
      problème par un apprentissage de régression multi-labels, figure
      <m:ref href="#fig-lizeoreg"/>.
    </p>
    <figure>
      <img src="images/lizeoreg.svg" />
      <figcaption id="fig-lizeoreg">
        Apprentissage de régression multi-labels de la tonalité
      </figcaption>
    </figure>
    <h2>Traitement des données textuelles</h2>
    <p>
      Dans le jeu de données utilisé, il se peut qu'il y ait une
      comparaison entre deux produits sur les mêmes critères. Dans ce
      cas, on ne verra que la moyenne pour l'apprentissage. Ceci donne
      parfois des valeurs non entières pour les labels.
    </p>
    <p>
      Afin d'évaluer les performances de la sélection de variables et
      de la sélection de labels, nous étudions un sous-ensemble des
      données regroupant les caractéristiques suivantes :
    </p>
    <ol>
      <li>Il s'agit de documents (appelés parfois posts) en français ;</li>
      <li>Les documents sont tous labellisés ;</li>
      <li>Il y a 84 907 documents ;</li>
      <li>
        La distribution du nombre de /qualifiers/ est documentée par
        la table <h:ref href="#tbl-distrib-qualifiers-restreint"/>. On
        constate qu'il y a 30 145 documents associés à aucun
        qualifier, il ne s'agit pourtant pas d'individus non
        labellisés, car nous savons qu'aucun des critères retenus ne
        s'applique sur ces documents. Dans notre cadre de régression,
        ceci signifie que toutes les tonalités doivent être neutres ;
      </li>
      <li>
        Les 10 qualifiers les plus fréquents sont résumés dans la
        table <h:ref href="#tbl-summary-frequent-qualifiers"/>, ce qui
        correspond à 69% de toutes les qualifications.
      </li>
    </ol>
    <table latex-align="rr">
      <caption id="tbl-distrib-qualifiers-restreint">
        Distribution du nombre de qualifiers par document
      </caption>
      <thead>
	<tr>
	  <th>Nombre de <emph>qualifiers</emph></th>
          <th>Nombre de documents</th>
	</tr>
      </thead>
      <tbody>
        <tr><td>0</td><td>30145</td></tr>
        <tr><td>1</td><td>31723</td></tr>
        <tr><td>2</td><td>12372</td></tr>
        <tr><td>3</td><td>5350</td></tr>
        <tr><td>4</td><td>2710</td></tr>
        <tr><td>5</td><td>1321</td></tr>
        <tr><td>6</td><td>653</td></tr>
        <tr><td>7</td><td>310</td></tr>
        <tr><td>8</td><td>160</td></tr>
        <tr><td>9</td><td>89</td></tr>
        <tr><td>10</td><td>48</td></tr>
        <tr><td>Entre 11 et 37</td><td>53</td></tr>
      </tbody>
    </table>
    <p>
      Les labels ont une arborescence. On retrouve :
    </p>
    <ul>
      <li>la réputation d'un produit ;</li>
      <li>l’usure ;</li>
      <li>la satisfaction du consommateur ;</li>
      <li>
        la sécurité, en évaluant la traction sur route sèche, humide
        ou enneigée ;
      </li>
      <li>le prix ;</li>
      <li>le confort ;</li>
      <li>et même l'esthétique du produit.</li>
    </ul>
    <table latex-align="rrlrr">
      <caption id="tbl-summary-frequent-qualifiers">
        Résumé des qualifieurs les plus fréquents parmi les 97
        (<emph>Cons. feedback</emph> est l'abréviation
        de <emph>Consumer feedback</emph>, retour client,
        et <emph>sat.</emph> de <emph>satisfaction</emph>).
      </caption>
      <thead>
	<tr>
	  <th>N<sup>o</sup></th>
          <th>Nombre</th>
          <th>Nom</th>
          <th>Médiane</th>
          <th>Moyenne</th>
	</tr>
      </thead>
      <tbody>
        <tr>
          <td>59</td>
          <td>31.82%</td>
          <td>Characteristics / Image / Reputation</td>
          <td>-1.000</td>
          <td>-0.598</td>
        </tr>
        <tr>
          <td>483</td>
          <td>25.07%</td>
          <td>Performances / Wear life / Wear life</td>
          <td>0.000</td>
          <td>-0.198</td>
        </tr>
        <tr>
          <td>52</td>
          <td>19.41%</td>
          <td>Performances / Cons. feedback / Overall sat.</td>
          <td>-1.000</td>
          <td>-0.936</td>
        </tr>
        <tr>
          <td>549</td>
          <td>11.07%</td>
          <td>Performances / Safety / Traction</td>
          <td>-0.750</td>
          <td>-0.538</td>
        </tr>
        <tr>
          <td>506</td>
          <td>7.99%</td>
          <td>Performances / Ride performance / Noise</td>
          <td>0.000</td>
          <td>-0.163</td>
        </tr>
        <tr>
          <td>494</td>
          <td>7.68%</td>
          <td>Performances / Safety / Handling</td>
          <td>-1.000</td>
          <td>-0.579</td>
        </tr>
        <tr>
          <td>780</td>
          <td>6.95%</td>
          <td>Performances / Safety / Wet traction</td>
          <td>-0.500</td>
          <td>-0.419</td>
        </tr>
        <tr>
          <td>782</td>
          <td>5.72%</td>
          <td>Performances / Safety / Snow/Winter traction</td>
          <td>-0.667</td>
          <td>-0.582</td>
        </tr>
        <tr>
          <td>495</td>
          <td>5.30%</td>
          <td>Performances / Safety / Steering</td>
          <td>0.000</td>
          <td>-0.090</td>
        </tr>
        <tr>
          <td>61</td>
          <td>4.78%</td>
          <td>Characteristics / Image / Intent to purchase</td>
          <td>-1.000</td>
          <td>-0.583</td>
        </tr>
        <tr>
          <td>21</td>
          <td>4.11%</td>
          <td>Performances / Safety / Safety</td>
          <td>-0.333</td>
          <td>-0.386</td>
        </tr>
        <tr>
          <td>60</td>
          <td>3.87%</td>
          <td>Characteristics / Image / Test results</td>
          <td>-0.333</td>
          <td>-0.572</td>
        </tr>
        <tr>
          <td>491</td>
          <td>3.61%</td>
          <td>Performances / Environment / Environment</td>
          <td>0.000</td>
          <td>-0.473</td>
        </tr>
        <tr>
          <td>58</td>
          <td>3.49%</td>
          <td>Performances / Cons. feedback / Recommendation</td>
          <td>-1.000</td>
          <td>-0.720</td>
        </tr>
        <tr>
          <td>781</td>
          <td>3.12%</td>
          <td>Performances / Safety / Dry traction</td>
          <td>-1.000</td>
          <td>-0.831</td>
        </tr>
        <tr>
          <td>132</td>
          <td>3.03%</td>
          <td>Attitude / Towards tyre type</td>
          <td>-0.500</td>
          <td>-0.389</td>
        </tr>
        <tr>
          <td>488</td>
          <td>2.55%</td>
          <td>Performances / Wear life / Abnormal Wear</td>
          <td>1.000</td>
          <td>0.525</td>
        </tr>
        <tr>
          <td>487</td>
          <td>2.37%</td>
          <td>Performances / Toughness/Robustness / <emph>&lt;idem></emph></td>
          <td>0.000</td>
          <td>-0.055</td>
        </tr>
        <tr>
          <td>10</td>
          <td>2.23%</td>
          <td>Characteristics / Price / Value for money</td>
          <td>-1.000</td>
          <td>-1.014</td>
        </tr>
        <tr>
          <td>484</td>
          <td>2.16%</td>
          <td>Performances / Wear life / Ageing</td>
          <td>0.000</td>
          <td>0.404</td>
        </tr>
        <tr>
          <td>497</td>
          <td>2.12%</td>
          <td>Performances / Safety / Stopping distance</td>
          <td>0.000</td>
          <td>-0.390</td>
        </tr>
        <tr>
          <td>489</td>
          <td>2.01%</td>
          <td>Characteristics / Price / Deal / Discount</td>
          <td>-1.000</td>
          <td>-0.573</td>
        </tr>
        <tr>
          <td>558</td>
          <td>2.00%</td>
          <td>Performances / Track/Sport perf. / Track perf.</td>
          <td>0.000</td>
          <td>-0.474</td>
        </tr>
        <tr>
          <td>504</td>
          <td>1.92%</td>
          <td>Performances / Ride perf. / Ride experience</td>
          <td>-1.000</td>
          <td>-0.616</td>
        </tr>
        <tr>
          <td>505</td>
          <td>1.65%</td>
          <td>Performances / Ride perf. / Ride comfort</td>
          <td>-0.500</td>
          <td>-0.440</td>
        </tr>
        <tr>
          <td>133</td>
          <td>1.33%</td>
          <td>Attitude / Towards tests</td>
          <td>0.000</td>
          <td>-0.288</td>
        </tr>
        <tr>
          <td>784</td>
          <td>1.31%</td>
          <td>Performances / Safety / Off road traction</td>
          <td>-0.667</td>
          <td>-0.546</td>
        </tr>
        <tr>
          <td>508</td>
          <td>1.29%</td>
          <td>Characteristics / Image / Look/aesthetic</td>
          <td>0.000</td>
          <td>-0.352</td>
        </tr>
      </tbody>
    </table>
    <p>
      La table <h:ref href="#tbl-summary-frequent-qualifiers"/> permet
      de faire la remarque suivante : pour les qualifieurs les plus
      fréquents, la moyenne est souvent négative, et la médiane n'est
      jamais positive. Le fait que la médiane ne soit pas toujours
      entière tient aux posts faisant une comparaison de plusieurs
      produits, comme expliqué plus haut.
    </p>
    <h2>Application de l'algorithme LSMR</h2>
    <p>
      Dans le cadre de cette application, nous sommes confrontés à un
      jeu de données réel, ce qui pose de nouvelles contraintes. Pour
      appliquer l'algorithme <emph>LSMR</emph>, nous avons dû
      effectuer des adaptations de celui-ci afin de pouvoir
      fonctionner dans un cas où le nombre
      d'individus, <h:eq>N</h:eq>, est très grand. En effet,
      l'application de l'algorithme <emph>LSMR</emph> demande une
      décomposition en valeurs propres et vecteurs propres (partielle)
      de la matrice noyau, <h:eq>K</h:eq>, de dimension <h:eq>N \times
      N</h:eq>. Dans ce cas, on peut appliquer l'algorithme de Lanczos
      <h:cite href="lanczos"/>, qui permet d'obtenir le résultat avec
      une complexité de <h:eq>\mathcal{O} (s N ^ 2)</h:eq>. La
      complexité spatiale, de manière bien plus prosaïque, est
      déterminée par la construction et le stockage de la matrice
      Laplacienne du graphe, <h:eq>L</h:eq>, et de la matrice noyau,
      <h:eq>K</h:eq>, toutes deux de dimension <h:eq>N \times
      N</h:eq>.
    </p>
    <p>
      Afin de pouvoir effectuer une approximation de l'apprentissage
      en un temps raisonnable, nous proposons une modification
      ensembliste de l'algorithme <emph>LSMR</emph> adaptée à ce jeu
      de données.
    </p>
    <h3>Méthode ensembliste : Bootstrap Aggregating</h3>
    <p>
      Afin de conserver une valeur de <h:eq>N</h:eq> acceptable, nous
      tirons 20 différents sous-ensembles de 4000 points du jeu de
      données avec remise, afin d'obtenir 20 jeux de données
      différents de taille plus faible.  Cette méthode est nommée
      <emph>Bootstrap Aggregating</emph>, ou <emph>Bagging</emph>
      <h:cite href="Breiman1996"/>.
    </p>
    <p>
      Comme notre algorithme nécessite un certain nombre
      d'hyperparamètres, nous considérons un sous-ensemble de
      validation en plus des 4000 points pour le jeu
      d'apprentissage. La métrique de validation <emph>aRMSE</emph>
      est calculée pour chaque modèle, ce qui nous permet de
      sélectionner les 10 candidats donnant la meilleure erreur de
      régression.
    </p>
    <p>
      La méthode de <emph>bagging</emph> prévoit de traiter
      l'apprentissage d'un modèle par ensemble. La prédiction pour un
      nouvel individu s'effectue en prenant la moyenne de la
      prédiction de tous les modèles, dans le cas de la régression.
    </p>
    <p>
      Cette méthode a l'avantage de s'appliquer de manière naturelle dans le
      cas de la régression multi-labels.
    </p>
    <h3>Stacking</h3>
    <p>
      Nous utilisons aussi une deuxième approche d'agrégation, nommée
      <emph>stacking</emph> <h:cite href="stacking"/>. Dans cette
      approche, on considère un nouveau jeu de données. Dans celui-ci,
      l'individu statistique est toujours le même, mais il est décrit
      cette fois par les prédictions de chacun des modèles retenus, et
      les labels sont les mêmes que pour le jeu d'apprentissage
      original.
    </p>
    <p>
      Étant donné le cadre multi-labels de l'apprentissage original,
      nous considérons pour l'apprentissage par <emph>stacking</emph>
      que les labels à ce stade sont indépendants. Pour chaque label,
      on cherche donc à prédire la valeur du label en fonction des
      prédictions de tous les modèles pour ce label.
    </p>
    <p>
      Cette étape est également l'occasion de ne considérer dans le
      jeu de données que les valeurs pertinentes. En effet, si l'on
      revient à la construction du jeu de données, et si un
      <emph>qualifier</emph> (label) n'est pas présent, la valeur
      cible sera la valeur neutre, 0. Cependant, cette valeur n'est
      pas vraiment pertinente pour l'apprentissage, ce qui pousse le
      modèle à apprendre des valeurs faibles. Les prédictions sont
      donc naturellement de norme inférieure à la vérité terrain. Pour
      compenser ce biais, l'agrégation par label ne retient comme
      individus que les posts présentant le <emph>qualifier</emph> en
      question.
    </p>
    <p>
      Enfin, pour éviter le sur-apprentissage, on ne considère pour
      chaque modèle que les individus n'ayant pas servi à
      l'apprentissage du modèle de <emph>bootstrap</emph>. Pour les
      tâches de <emph>stacking</emph>, les valeurs de prédiction de
      chaque modèle sur son jeu d'apprentissage sont remplacées par 0.
    </p>
    <p>
      Le régresseur retenu est une régularisation <emph>ridge</emph>,
      dont le régulariseur est recherché comme une puissance de 10
      entre <h:eq>10^{-4}</h:eq> et <h:eq>10^{4}</h:eq>.
    </p>
    <h3>Résultats</h3>
    <p>
      En appliquant l'algorithme, sans effectuer de sélection de
      variables, on obtient le résultat présenté en table
      <h:ref href="#lizeo-lsmr-full"/>. Nous retenons que l'agrégation
      par <emph>stacking</emph> avec régularisation Ridge donne un
      meilleur résultat que l'agrégation moyenne.
    </p>
    <table latex-align="rr">
      <caption id="lizeo-lsmr-full">
        Application de l'algorithme <emph>LSMR</emph>,
        avec <emph>bootstrap</emph>, toutes les variables, et les deux
        agrégations possibles
      </caption>
      <thead>
	<tr>
	  <th>Agrégation moyenne</th>
          <th>Agrégation Ridge</th>
	</tr>
      </thead>
      <tbody>
        <tr><td>0.819</td><td>0.809</td></tr>
      </tbody>
    </table>
    <h2>Comparaison d'algorithmes de sélection de variables</h2>
    <p>
      Afin d'évaluer la sélection de variables, nous avons sélectionné
      20 sous-ensembles de 4000 individus. La valeur des
      hyperparamètres est obtenue en minimisant la métrique aRMSE du
      modèle final. Nous évaluons deux autres algorithmes de sélection
      de variables multi-labels : <emph>RFS</emph>
      <h:cite href="rfs"/> et <emph>MIFS</emph>
      <h:cite href="mifs"/>. Nous n'avons pas pu appliquer
      l'algorithme <emph>SFUS</emph> en un temps raisonnable, à cause
      de la décomposition en valeurs propres et vecteurs propres d'une
      matrice <h:eq>d \times d</h:eq>.
    </p>
    <h3>RFS</h3>
    <p>
      L'algorithme <emph>RFS</emph> <h:cite href="rfs"/> effectue la
      sélection de variables en minimisant le problème suivant :
    </p>
    <h:mini>
      <h:variables>
        W \in \mathbb{R}^{d, m}
      </h:variables>
      <h:objective>
        \left\|XW - Y\right\|_{2, 1}^2
        + \gamma \left\|W\right\|_{2, 1}
      </h:objective>
    </h:mini>
    <p>
      Ce problème utilise une régularisation <h:eq>l_{2, 1}</h:eq>,
      mais utilise aussi cette même norme pour la fonction de
      coût. Concrètement, cela permet d'ignorer certains individus
      pour la sélection de variables.
    </p>
    <h3>MIFS</h3>
    <p>
      Nous utilisons aussi l'algorithme <emph>MIFS</emph>
      <h:cite href="mifs"/>, qui est la base de notre approche
      proposée. Pour rappel, le problème résolu par <emph>MIFS</emph>
      est la minimisation suivante :
    </p>
    <h:mini>
      <h:variables>
        \substack{
        W \in \mathbb{R}^{d, o} \\
        V \in \mathbb{R}^{n, o} \\
        B \in \mathbb{R}^{o, m}
        }
      </h:variables>
      <h:objective>
        \left\|XW - V\right\|_F^2
        + \alpha \left\|Y - VB\right\|_F^2
        + \beta \mathrm{tr} \left(V'LV\right)
        + \gamma \left\|W\right\|_{2, 1}
      </h:objective>
    </h:mini>
    <h3>Sélection de variables : étude préliminaire</h3>
    <p>
      Pour chaque sous-ensemble d'individus, on obtient une liste
      ordonnée de variables. Pour calculer la sélection de variables
      finale, nous calculons les rangs moyens de chaque variable pour
      chaque algorithme. Les premières variables sont listées dans la
      table <h:ref href="#tbl-lizeo-feature-selection"/>.
    </p>
    <table latex-align="lll">
      <caption id="tbl-lizeo-feature-selection">
        Sélection des 30 premières variables pour chaque algorithme.
      </caption>
      <thead>
	<tr>
	  <th><strong>RSMS</strong></th>
          <th><emph>MIFS</emph></th>
          <th><emph>RFS</emph></th>
	</tr>
      </thead>
      <tbody>
        <tr>
          <td><pre>disponible</pre></td>
          <td><pre>classement\_adac</pre></td>
          <td><pre>silence</pre></td>
        </tr>
        <tr>
          <td><pre>d'origine</pre></td>
          <td><pre>litres</pre></td>
          <td><pre>accrochent</pre></td>
        </tr>
        <tr>
          <td><pre>actuels</pre></td>
          <td><pre>vii</pre></td>
          <td><pre>flottement</pre></td>
        </tr>
        <tr>
          <td><pre>sport</pre></td>
          <td><pre>def\_90</pre></td>
          <td><pre>bluffé</pre></td>
        </tr>
        <tr>
          <td><pre>hiver</pre></td>
          <td><pre>l'emergency</pre></td>
          <td><pre>sécurisant</pre></td>
        </tr>
        <tr>
          <td><pre>55</pre></td>
          <td><pre>assez\_bon</pre></td>
          <td><pre>décroche</pre></td>
        </tr>
        <tr>
          <td><pre>véhicule</pre></td>
          <td><pre>remonte</pre></td>
          <td><pre>aquaplaning</pre></td>
        </tr>
        <tr>
          <td><pre>malheureusement</pre></td>
          <td><pre>90\_cv</pre></td>
          <td><pre>regrette</pre></td>
        </tr>
        <tr>
          <td><pre>3</pre></td>
          <td><pre>defacyde</pre></td>
          <td><pre>azenis</pre></td>
        </tr>
        <tr>
          <td><pre>prix</pre></td>
          <td><pre>rapprochement</pre></td>
          <td><pre>l'abs</pre></td>
        </tr>
        <tr>
          <td><pre>205</pre></td>
          <td><pre>solidité</pre></td>
          <td><pre>négatif</pre></td>
        </tr>
        <tr>
          <td><pre>recherche</pre></td>
          <td><pre>optimisées</pre></td>
          <td><pre>routiers</pre></td>
        </tr>
        <tr>
          <td><pre>r16</pre></td>
          <td><pre>dois\_prendre</pre></td>
          <td><pre>excellents</pre></td>
        </tr>
        <tr>
          <td><pre>non</pre></td>
          <td><pre>extended</pre></td>
          <td><pre>pépère</pre></td>
        </tr>
        <tr>
          <td><pre>4</pre></td>
          <td><pre>attendant</pre></td>
          <td><pre>demi</pre></td>
        </tr>
        <tr>
          <td><pre>r17</pre></td>
          <td><pre>l'exige</pre></td>
          <td><pre>l'esp</pre></td>
        </tr>
        <tr>
          <td><pre>été</pre></td>
          <td><pre>justifie\_pas</pre></td>
          <td><pre>soleil</pre></td>
        </tr>
        <tr>
          <td><pre>l'indice</pre></td>
          <td><pre>virages\_sans</pre></td>
          <td><pre>mou</pre></td>
        </tr>
        <tr>
          <td><pre>235</pre></td>
          <td><pre>prévenir</pre></td>
          <td><pre>confortables</pre></td>
        </tr>
        <tr>
          <td><pre>215</pre></td>
          <td><pre>promener</pre></td>
          <td><pre>châssis</pre></td>
        </tr>
        <tr>
          <td><pre>225</pre></td>
          <td><pre>financière</pre></td>
          <td><pre>catastrophique</pre></td>
        </tr>
        <tr>
          <td><pre>marquage</pre></td>
          <td><pre>pas\_1</pre></td>
          <td><pre>pourri</pre></td>
        </tr>
        <tr>
          <td><pre>cherche</pre></td>
          <td><pre>carcasses</pre></td>
          <td><pre>chauffe</pre></td>
        </tr>
        <tr>
          <td><pre>195</pre></td>
          <td><pre>écrit\_1</pre></td>
          <td><pre>reproche</pre></td>
        </tr>
        <tr>
          <td><pre>45</pre></td>
          <td><pre>n'avait\_pas</pre></td>
          <td><pre>gain</pre></td>
        </tr>
        <tr>
          <td><pre>65</pre></td>
          <td><pre>s\_max</pre></td>
          <td><pre>feeling</pre></td>
        </tr>
        <tr>
          <td><pre>vitesse</pre></td>
          <td><pre>marketing</pre></td>
          <td><pre>fou</pre></td>
        </tr>
        <tr>
          <td><pre>charge</pre></td>
          <td><pre>225\_75</pre></td>
          <td><pre>d'urgence</pre></td>
        </tr>
        <tr>
          <td><pre>xl</pre></td>
          <td><pre>contrainte</pre></td>
          <td><pre>savonnette</pre></td>
        </tr>
        <tr>
          <td><pre>svp</pre></td>
          <td><pre>moyens</pre></td>
          <td><pre>clairement</pre></td>
        </tr>
      </tbody>
    </table>
    <p>
      Qualitativement, les 30 premières variables indiquent un
      avantage pour <emph>RFS</emph>. Les premières variables
      sélectionnées par <strong>RSMS</strong> sont principalement des
      éléments de dimension, c'est-à-dire des caractéristiques de
      forme des pneumatiques, ce qui n'est pas l'objet de notre étude.
    </p>
    <h3>Évaluation de la sélection de variables</h3>
    <p>
      Nous pouvons aussi évaluer quantitativement la sélection de
      variables. Nous choisissons un sous-ensemble de 4000 points, en
      appliquant l'algorithme <emph>LSMR</emph> non modifié, pour
      accélérer les calculs.
    </p>
    <figure>
      <img src="images/featureselectionlizeo.svg" />
      <figcaption id="fig-featureselectionlizeo">
        Sélection de variables comparée pour avec LSMR non modifié
        comme évaluateur
      </figcaption>
    </figure>
    <p>
      En évaluant le résultat de la sélection de variables
      (figure <h:ref href="#fig-featureselectionlizeo"/>), on remarque
      cependant que c'est bien notre approche qui procure le meilleur
      résultat de sélection. En effet, l'erreur de régression est
      minimale pour 5% des variables sélectionnées (soit environ 1000
      variables), contrairement à <emph>MIFS</emph>
      et <emph>RFS</emph> dont la sélection n'atteint la meilleure
      efficacité qu'en sélectionnant toutes les variables. On remarque
      aussi que la courbe de <strong>RSMS</strong> est plus abrupte
      que les autres, ce qui signifie que la sélection est plus
      efficace dès les premières centaines de variables sélectionnées.
    </p>
    <p>
      Nous retenons la valeur des hyperparamètres issus du tuning
      pour <strong>RSMS</strong> :
    </p>
    <ul>
      <li>rang : <h:eq>o = 30</h:eq> ;</li>
      <li><h:eq>\alpha = 10^{3}</h:eq> ;</li>
      <li><h:eq>\beta = 2.5 \times 10^{-2}</h:eq> ;</li>
      <li><h:eq>\gamma = 4 \times 10^{6}</h:eq> ;</li>
      <li><h:eq>\delta = 4 \times 10^{2}</h:eq>.</li>
    </ul>
    <h2>Application de <strong>RSMS</strong> sur l'ensemble du jeu de
    données</h2>
    <p>
      Étant donné que le jeu de données contient trop d'individus pour
      construire et utiliser la matrice Laplacienne du graphe des
      individus, nous considérons une version légèrement modifiée de
      l'algorithme.
    </p>
    <h3>Optimisation par époques</h3>
    <p>
      Chaque étape de l'algorithme <strong>RSMS</strong> est une
      itération de la descente de gradient. Il est possible d'utiliser
      la version stochastique avec <emph>minibatch</emph>,
      c'est-à-dire qu'au lieu de sélectionner un individu à chaque
      itération, un sous-ensemble est sélectionné à la place. Cette
      stratégie est souvent employée car elle permet expérimentalement
      d'obtenir le résultat en moins d'itération qu'avec la version
      stochastique. En contrepartie, le calcul du gradient doit se
      faire pour tous les individus sélectionnés simultanément, ce qui
      n'est pas un problème pour les architectures de calcul parallèle
      modernes <h:cite href="alexnet"/>.
    </p>
    <p>
      Afin de pouvoir réutiliser les matrices Laplacienne de graphe,
      le partitionnement est le même à chaque époque. Nous obtenons le
      résultat pour 10 époques.
    </p>
    <h3>Résultats</h3>
    <p>
      Les premières variables ainsi obtenues sont exposées dans la
      table <h:ref href="#tbl-rsms-full-feature-selection"/>.
    </p>
    <table latex-align="l">
      <caption id="tbl-rsms-full-feature-selection">
        Sélection des 30 premières variables de la sélection de RSMS
        par époques
      </caption>
      <thead>
	<tr>
	  <th><strong>RSMS par époques</strong></th>
	</tr>
      </thead>
      <tbody>
        <tr><td><pre>très</pre></td></tr>
        <tr><td><pre>pas</pre></td></tr>
        <tr><td><pre>content</pre></td></tr>
        <tr><td><pre>bon</pre></td></tr>
        <tr><td><pre>4</pre></td></tr>
        <tr><td><pre>sport</pre></td></tr>
        <tr><td><pre>bien</pre></td></tr>
        <tr><td><pre>meilleurs</pre></td></tr>
        <tr><td><pre>plus</pre></td></tr>
        <tr><td><pre>neige</pre></td></tr>
        <tr><td><pre>top</pre></td></tr>
        <tr><td><pre>nokian</pre></td></tr>
        <tr><td><pre>satisfait</pre></td></tr>
        <tr><td><pre>prix</pre></td></tr>
        <tr><td><pre>trop</pre></td></tr>
        <tr><td><pre>emoji</pre></td></tr>
        <tr><td><pre>3</pre></td></tr>
        <tr><td><pre>2</pre></td></tr>
        <tr><td><pre>vredestein</pre></td></tr>
        <tr><td><pre>route</pre></td></tr>
        <tr><td><pre>rapport</pre></td></tr>
        <tr><td><pre>mal</pre></td></tr>
        <tr><td><pre>excellent</pre></td></tr>
        <tr><td><pre>dunlop</pre></td></tr>
        <tr><td><pre>hiver</pre></td></tr>
        <tr><td><pre>meilleur</pre></td></tr>
        <tr><td><pre>bonne</pre></td></tr>
        <tr><td><pre>sécurité</pre></td></tr>
        <tr><td><pre>5</pre></td></tr>
        <tr><td><pre>qualité</pre></td></tr>
      </tbody>
    </table>
    <p>
      Contrairement aux sélections de variables effectuées sur des
      sous-ensembles des données
      (table <h:ref href="#tbl-lizeo-feature-selection"/>), il est
      plus clair que les premiers termes sélectionnés sont applicables
      à tous les labels. En effet, dans les 30 premières variables, on
      peut repérer les termes suivants :
    </p>
    <ul>
      <li>
        la combinaison de "<pre>très</pre>" et "<pre>pas</pre>" permet
        d'indiquer une tonalité légèrement positive par défaut, et la
        modifier en plus positif ou négatif, indépendamment du
        label. La variable "<pre>très</pre>" n'est pas présente du
        tout dans les 30 premières variables des sélections par
        sous-ensemble, et seul <emph>MIFS</emph> sélectionne
        "<pre>pas</pre>" (comme membre d'un
        bi-gramme). <strong>RSMS</strong> par sous-ensembles
        sélectionne cependant "<pre>non</pre>".  Notons qu'il est très
        important de conserver ces mots. Les tâches communes de
        classification textuelle, comme la classification multi-labels
        de documents, ne sont souvent pas affectées par la présence de
        ces mots, qui sont alors considérés
        comme <emph>stopword</emph> (mots-outil) et retirés du
        texte. Dans notre cas, ils sont essentiels.
      </li>
      <li>
        Nous avons relevé les termes d'appréciation généraux dans la
        table <h:ref href="#tbl-lizeo-feature-selection-quali"/>.
      </li>
    </ul>
    <table latex-align="llll">
      <caption id="tbl-lizeo-feature-selection-quali">
        Variables probablement utiles pour la tonalité de tous les
        qualifieurs simultanément
      </caption>
      <thead>
	<tr>
	  <th><strong>RSMS par époques</strong></th>
          <th><emph>RSMS</emph></th>
          <th><emph>MIFS</emph></th>
          <th><emph>RFS</emph></th>
	</tr>
      </thead>
      <tbody>
        <tr>
          <td><pre>très</pre></td>
          <td><pre>malheureusement</pre></td>
          <td><pre>assez\_bon</pre></td>
          <td><pre>bluffé</pre></td>
        </tr>
        <tr>
          <td><pre>pas</pre></td>
          <td><pre>non</pre></td>
          <td><pre>optimisées</pre></td>
          <td><pre>regrette</pre></td>
        </tr>
        <tr>
          <td><pre>content</pre></td>
          <td></td>
          <td><pre>justifie\_pas</pre></td>
          <td><pre>négatif</pre></td>
        </tr>
        <tr>
          <td><pre>bon</pre></td>
          <td></td>
          <td></td>
          <td><pre>excellents</pre></td>
        </tr>
        <tr>
          <td><pre>bien</pre></td>
          <td></td>
          <td></td>
          <td><pre>catastrophique</pre></td>
        </tr>
        <tr>
          <td><pre>meilleurs</pre></td>
          <td></td>
          <td></td>
          <td><pre>pourri</pre></td>
        </tr>
        <tr>
          <td><pre>plus</pre></td>
          <td></td>
          <td></td>
          <td><pre>reproche</pre></td>
        </tr>
        <tr>
          <td><pre>top</pre></td>
          <td></td>
          <td></td>
          <td><pre>gain</pre></td>
        </tr>
        <tr>
          <td><pre>satisfait</pre></td>
          <td></td>
          <td></td>
          <td></td>
        </tr>
        <tr>
          <td><pre>trop</pre></td>
          <td></td>
          <td></td>
          <td></td>
        </tr>
        <tr>
          <td><pre>mal</pre></td>
          <td></td>
          <td></td>
          <td></td>
        </tr>
        <tr>
          <td><pre>excellent</pre></td>
          <td></td>
          <td></td>
          <td></td>
        </tr>
        <tr>
          <td><pre>meilleur</pre></td>
          <td></td>
          <td></td>
          <td></td>
        </tr>
        <tr>
          <td><pre>bonne</pre></td>
          <td></td>
          <td></td>
          <td></td>
        </tr>
        <tr>
          <td><pre>qualité</pre></td>
          <td></td>
          <td></td>
          <td></td>
        </tr>
      </tbody>
    </table>
    <figure>
      <img src="images/featureselectionlizeofull.svg" />
      <figcaption id="fig-featureselectionlizeofull">
        Sélection de variables pour <strong>RSMS</strong> en comparant
        l'optimisation par époques, et l'agrégation de l'optimisation
        par sous-ensembles
      </figcaption>
    </figure>
    <p>
      La figure <h:ref href="#fig-featureselectionlizeofull"/> montre
      que l'optimisation par époques obtient son meilleur résultat en
      sélectionnant seulement 1% des variables (soit 5 fois moins que
      l'agrégation de la sélection par sous-ensemble). Nous retenons
      ces 200 meilleures variables.
    </p>
    <h3>Sélection de labels</h3>
    <p>
      En comparant les normes des colonnes de la
      matrice <h:eq>B</h:eq>, on peut trouver les labels ayant une
      plus forte norme, et donc ceux les mieux expliqués par les
      variables sélectionnées. Grâce à cette information, on peut
      identifier les labels difficiles. Nous constatons que les labels
      fréquents ont plus tendance à être sélectionnés que les labels
      moins fréquents. Pour les autres cas, nous présentons dans la
      table <h:ref href="#tbl-unfrequent-selected-labels"/> la liste
      des labels présents dans moins de 1% des documents, et dans la
      table <h:ref href="#tbl-frequent-ignored-labels"/> la liste des
      labels présents dans plus de 1% des documents.  La
      table <h:reft href="#bl-unfrequent-selected-labels"/> montre la
      liste des qualifieurs relativement rares qui sont bien
      représentés par le champ lexical sélectionné, tandis que la
      table <h:ref href="#tbl-frequent-ignored-labels"/> montre que
      certains labels fréquents sont ignorés pour la sélection de
      variables. On note que l'image des produits est bien
      retranscrite, ainsi que les caractéristiques techniques les plus
      précises.
    </p>
    <table latex-align="rrl">
      <caption id="tbl-unfrequent-selected-labels">
        Rang de sélection des labels présents dans moins de 1% des
        documents, parmi les 30 meilleurs labels
      </caption>
      <thead>
	<tr>
	  <th>N<sup>o</sup></th>
	  <th>Rang</th>
	  <th>Description</th>
	</tr>
      </thead>
      <tbody>
        <tr>
          <td>65</td>
          <td>9</td>
          <td>Characteristics / Labelling / Braking on wet surfaces</td>
        </tr>
        <tr>
          <td>135</td>
          <td>10</td>
          <td>Attitude / Towards brands / Towards asian and budget brands</td>
        </tr>
        <tr>
          <td>54</td>
          <td>11</td>
          <td>Characteristics / Image / Origin</td>
        </tr>
        <tr>
          <td>136</td>
          <td>13</td>
          <td>Attitude / Towards brands / Towards premium brands</td>
        </tr>
        <tr>
          <td>67</td>
          <td>14</td>
          <td>Characteristics / Labelling / Rolling resistance</td>
        </tr>
        <tr>
          <td>202</td>
          <td>15</td>
          <td>Image/Reputation / Reputation/Quality</td>
        </tr>
        <tr>
          <td>50</td>
          <td>16</td>
          <td>Performances / Sportiness</td>
        </tr>
        <tr>
          <td>30</td>
          <td>17</td>
          <td>Performances / Safety / Grip</td>
        </tr>
        <tr>
          <td>57</td>
          <td>18</td>
          <td>Characteristics / Image / Awareness</td>
        </tr>
        <tr>
          <td>204</td>
          <td>19</td>
          <td>Global Satisfaction</td>
        </tr>
        <tr>
          <td>16</td>
          <td>20</td>
          <td>Performances / Services / Michelin OnWay / Warranty</td>
        </tr>
        <tr>
          <td>212</td>
          <td>21</td>
          <td>Performances / Safety / Road Holding / On wet road / Under extreme conditions</td>
        </tr>
        <tr>
          <td>211</td>
          <td>22</td>
          <td>Performances / Safety / Road Holding / On dry road or not specified</td>
        </tr>
        <tr>
          <td>214</td>
          <td>23</td>
          <td>Performances / Safety / Safety Generic) / On wet road / Under extreme conditions</td>
        </tr>
        <tr>
          <td>220</td>
          <td>24</td>
          <td>Performances / Safety / Grip / On dry road or not specified</td>
        </tr>
        <tr>
          <td>221</td>
          <td>25</td>
          <td>Performances / Safety / Grip / On wet road</td>
        </tr>
        <tr>
          <td>213</td>
          <td>26</td>
          <td>Performances / Safety / Safety Generic) / On dry road or not specified</td>
        </tr>
        <tr>
          <td>207</td>
          <td>27</td>
          <td>Performances / Performances Generic)</td>
        </tr>
        <tr>
          <td>19</td>
          <td>28</td>
          <td>Performances / Services / Other / Warranty</td>
        </tr>
        <tr>
          <td>203</td>
          <td>29</td>
          <td>Image/Reputation / Recommendation</td>
        </tr>
        <tr>
          <td>222</td>
          <td>30</td>
          <td>Performances / Safety / Motivity / On dry road or not specified</td>
        </tr>
      </tbody>
    </table>
    <table latex-align="rrl">
      <caption id="tbl-frequent-ignored-labels">
        Rang de sélection des labels présents dans plus de 1% des
        documents
      </caption>
      <thead>
	<tr>
	  <th>N<sup>o</sup></th>
	  <th>Rang</th>
	  <th>Description</th>
	</tr>
      </thead>
      <tbody>
        <tr>
          <td>52</td>
          <td>1</td>
          <td>Performances / Consumer feedback / Overall satisfaction</td>
        </tr>
        <tr>
          <td>59</td>
          <td>2</td>
          <td>Characteristics / Image / Reputation</td>
        </tr>
        <tr>
          <td>60</td>
          <td>3</td>
          <td>Characteristics / Image / Test results</td>
        </tr>
        <tr>
          <td>21</td>
          <td>4</td>
          <td>Performances / Safety / Safety</td>
        </tr>
        <tr>
          <td>61</td>
          <td>5</td>
          <td>Characteristics / Image / Intent to purchase</td>
        </tr>
        <tr>
          <td>58</td>
          <td>6</td>
          <td>Performances / Consumer feedback / Recommendation</td>
        </tr>
        <tr>
          <td>10</td>
          <td>7</td>
          <td>Characteristics / Price / Value for money</td>
        </tr>
        <tr>
          <td>132</td>
          <td>8</td>
          <td>Attitude / Towards tyre type</td>
        </tr>
        <tr>
          <td>133</td>
          <td>12</td>
          <td>Attitude / Towards tests</td>
        </tr>
        <tr>
          <td>549</td>
          <td>31</td>
          <td>Performances / Safety / Traction</td>
        </tr>
        <tr>
          <td>483</td>
          <td>32</td>
          <td>Performances / Wear life / Wear life</td>
        </tr>
        <tr>
          <td>780</td>
          <td>33</td>
          <td>Performances / Safety / Wet traction</td>
        </tr>
        <tr>
          <td>506</td>
          <td>34</td>
          <td>Performances / Ride performance / Noise</td>
        </tr>
        <tr>
          <td>494</td>
          <td>35</td>
          <td>Performances / Safety / Handling</td>
        </tr>
        <tr>
          <td>504</td>
          <td>36</td>
          <td>Performances / Ride performance / Ride experience</td>
        </tr>
        <tr>
          <td>781</td>
          <td>37</td>
          <td>Performances / Safety / Dry traction</td>
        </tr>
        <tr>
          <td>782</td>
          <td>38</td>
          <td>Performances / Safety / Snow/Winter traction</td>
        </tr>
        <tr>
          <td>497</td>
          <td>39</td>
          <td>Performances / Safety / Stopping distance</td>
        </tr>
        <tr>
          <td>505</td>
          <td>40</td>
          <td>Performances / Ride performance / Ride comfort</td>
        </tr>
        <tr>
          <td>495</td>
          <td>41</td>
          <td>Performances / Safety / Steering</td>
        </tr>
        <tr>
          <td>487</td>
          <td>44</td>
          <td>Performances / Toughness/Robustness / Toughness/Robustness</td>
        </tr>
        <tr>
          <td>484</td>
          <td>47</td>
          <td>Performances / Wear life / Ageing</td>
        </tr>
        <tr>
          <td>491</td>
          <td>48</td>
          <td>Performances / Environment / Environment</td>
        </tr>
        <tr>
          <td>508</td>
          <td>49</td>
          <td>Characteristics / Image / Look/aesthetic</td>
        </tr>
        <tr>
          <td>488</td>
          <td>50</td>
          <td>Performances / Wear life / Abnormal Wear</td>
        </tr>
        <tr>
          <td>489</td>
          <td>52</td>
          <td>Characteristics / Price / Deal / Discount</td>
        </tr>
        <tr>
          <td>558</td>
          <td>53</td>
          <td>Performances / Track/Sport performance / Track performance</td>
        </tr>
        <tr>
          <td>784</td>
          <td>58</td>
          <td>Performances / Safety / Off road traction</td>
        </tr>
      </tbody>
    </table>
    <h2>Application : algorithme LSMR après sélection de variables et
      de labels</h2>
    <p>
      Pour terminer, nous appliquons
      l'algorithme <strong>LSMR</strong> avec <emph>bagging</emph> sur
      les deux sous-ensembles de variables obtenus auparavant : les
      993 variables de la sélection de l'agrégation de l'algorithme
      <strong>RSMS</strong>, et les 199 variables de la sélection
      de <strong>RSMS</strong> par époques. Nous ajoutons également
      les 993 et 199 meilleures variables selon <emph>RFS</emph>
      et <emph>MIFS</emph>.  Le résultat est présenté dans la table
      <h:ref href="#tbl-lizeo-final"/>. Pour rappel, effectuer
      l'apprentissage pour toutes les variables
      avec <strong>LSMR</strong> donne une métrique aRMSE de 0.809.
    </p>
    <p>
      Le processus général pour l'apprentissage est résumé dans la
      figure <h:ref href="#fig-rsms-lsmr-apprentissage"/>. Une
      première étape consiste à appliquer la sélection de variables
      avec <strong>RSMS</strong>, en effectuant un découpage par
      mini-batch. Une fois la liste des variables obtenues,
      l'application de <strong>LSMR</strong> sur des sous-ensembles
      tirés avec remise permet d'obtenir plusieurs modèles, chacun
      étant évalué sur un ensemble de validation afin d'obtenir une
      métrique. Nous obtenons également un ensemble hors du sac
      (<emph>out of bag</emph>), non utilisé pour l'apprentissage ou
      la validation, avec la sortie du modèle. La métrique obtenue par
      validation permet de sélectionner les modèles les plus
      pertinents. L'agrégation s'effectue ensuite en cherchant à
      prédire pour chaque label indépendamment, sa valeur à partir des
      valeurs prédites par les modèles de bootstrap. Afin de ne pas
      réutiliser les individus ayant servi à l'apprentissage ou à la
      validation, la valeur de ceux-ci est remplacée par la valeur de
      prédiction moyenne. On obtient donc les variables à identifier,
      des modèles de bootstrap, et un modèle de stacking.
    </p>
    <p>
      Pour l'application du modèle sur un nouveau post, les étapes
      sont décrites dans la figure
      <h:ref href="#fig-rsms-lsmr-inference"/>. Les mots du texte
      correspondants aux variables sélectionnés sont reconnus, puis
      chaque modèle de bootstrap effectue une prédiction, et enfin le
      modèle de stacking permet d'obtenir une valeur pour tous les
      labels.
    </p>
    <table latex-align="rrrrr">
      <caption id="tbl-lizeo-final">
        Évaluation avec <strong>LSMR</strong> + bagging (aRMSE) des
        deux ensembles de variables retenus : agrégation
        de <strong>RSMS</strong> sur des sous-ensembles, et
        optimisation de <strong>RSMS</strong> sur le jeu de données
        complet par époques
      </caption>
      <thead>
        <tr>
          <td><strong>Pourcentage de variables</strong></td>
          <td><strong>RSMS</strong> par époques</td>
          <td><strong>RSMS</strong> agrégé</td>
          <td><emph>RFS</emph></td>
          <td><emph>MIFS</emph></td>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>5% (993 variables)</td>
          <td>0.810</td>
          <td><strong>0.807</strong></td>
          <td>0.815</td>
          <td>0.819</td>
        </tr>
        <tr>
          <td>1% (199 variables)</td>
          <td><strong>0.810</strong></td>
          <td>0.812</td>
          <td>0.817</td>
          <td>0.820</td>
        </tr>
      </tbody>
    </table>
    <figure>
      <img src="images/lsmrrsmsapprentissage.svg" />
      <figcaption id="fig-rsms-lsmr-apprentissage">
        Schéma de synthèse de l'application de <strong>RSMS</strong>
        et <strong>LSMR</strong> sur le jeu de données total
      </figcaption>
    </figure>
    <figure>
      <img src="images/lsmrrsmsinference.svg" />
      <figcaption id="fig-rsms-lsmr-inference">
        Schéma de synthèse de l'application de <strong>RSMS</strong>
        et <strong>LSMR</strong> sur le jeu de données total :
        application sur un nouveau post non labellisé
      </figcaption>
    </figure>
    <h2>Conclusion</h2>
    <p>
      Nous avons évalué notre algorithme de sélection de variables
      multi-labels, <strong>RSMS</strong>, sur un jeu de données
      textuel réel, en appliquant notre approche de régression
      multi-labels <strong>LSMR</strong> pour le valider. Selon notre
      mode d'application de <strong>RSMS</strong>, par époques ou en
      agrégeant les rangs des variables sélectionnées sur des
      sous-ensembles, nous obtenons respectivement une meilleure
      sélection de variables qualitativement, et une sélection plus
      adaptée au problème, en comparaison avec les
      algorithmes <emph>RFS</emph> et <emph>MIFS</emph>. Dans le
      premier cas, cette évaluation a montré l'utilité de la sélection
      de variables pour la réduction de dimension. Dans le second cas,
      elle a montré que la sélection de variables permet d'obtenir une
      plus faible erreur de régression.
    </p>
    <h1>Conclusion et perspectives</h1>
    <h2>Bilan des travaux effectués</h2>
    <p>
      Dans cette thèse, nous avons présenté un état de l'art de
      l'apprentissage semi-supervisé et multi-labels pour la
      régression, en insistant également sur la sélection de
      variables. Ceci nous a amené à proposer un algorithme de
      régression semi-supervisé, <emph>LapS3L</emph>.
    </p>
    <p>
      Cet algorithme utilise les données non labellisées de deux
      façons :
    </p>
    <ul>
      <li>
        une première étape d'extraction de variables non supervisée
        permet d'obtenir de nouvelles variables permettant d'exprimer
        une relation linéaire entre les variables et la variable
        cible. Cette étape est tirée de
        l'algorithme <emph>SSSL</emph>.
      </li>
      <li>
        une seconde étape qui utilise une régularisation Laplacienne,
        semi-supervisée, permettant de relier les variables réelles et
        les variables extraites.
      </li>
    </ul>
    <p>
      <emph>LapS3L</emph> obtient de bons résultats de généralisation
      pour la régression, sur des jeux de données publics, et sur un
      jeu de données spécifique.
    </p>
    <p>
      Afin d'adapter <emph>LapS3L</emph> aux problèmes de régression
      multi-labels, nous avons modifié la régularisation de la seconde
      partie en ajoutant un terme multi-labels : concrètement, si deux
      labels obtiennent des valeurs similaires sur les mêmes
      individus, alors on peut les considérer comme similaires. À
      partir de ces similarités entre labels, il est possible
      d'utiliser pour la régularisation l'hypothèse suivante : si deux
      labels sont similaires, alors les modèles servant à effectuer
      leur prédiction doivent être similaires.
    </p>
    <p>
      Nous avons montré que l'algorithme résultant, <emph>LSMR</emph>,
      est compétitif avec l'état de l'art de la régression
      multi-labels, tout en donnant de meilleures performances que la
      régularisation multi-labels seule.
    </p>
    <p>
      Pour faciliter l'apprentissage, nous nous sommes aussi penchés
      sur la sélection de variables semi-supervisée et
      multi-labels. Étant donné le nombre important de labels que nous
      serions amenés à traiter, nous avons proposé un compromis entre
      la sélection de variables mono-label et multi-labels en guidant
      la sélection de variables par la sélection de
      labels. Concrètement, nous avons conçu notre algorithme pour
      résoudre simultanément le problème de sélection de variables, et
      la sélection de labels, afin que les variables retenues ne
      puissent pas être influencées par les labels dont la
      modélisation est trop difficile ou impossible.
    </p>
    <p>
      Enfin, nous avons appliqué <strong>LSMR</strong>
      et <strong>RSMS</strong> sur un jeu de données réel, de
      l'entreprise Lizeo, ayant de nombreuses particularités qui nous
      ont amené à adapter légèrement nos travaux. La version retenue
      de <strong>LSMR</strong> utilise la technique de <emph>Bootstrap
      Aggregating</emph>, ou <emph>Bagging</emph>, qui vise à
      ré-échantillonner (avec remise) le jeu de données pour apprendre
      un modèle par échantillon, puis une aggrégation des prédictions
      par un modèle de <emph>stacking</emph>. Ce modèle final nous
      permet d'ignorer les valeurs non pertinentes, une spécificité du
      jeu de données. Contrairement à <emph>MIFS</emph>
      et <emph>RFS</emph>, les variables sélectionnées
      par <emph>RSMS</emph> permettent soit d'obtenir une erreur de
      régression plus faible de <emph>LSMR</emph>, soit d'obtenir un
      modèle très simple.
    </p>
    <h2>Perspectives d'amélioration</h2>
    <p>
      Les pistes d'amélioration sont nombreuses pour nos travaux.
    </p>
    <p>
      En ce qui concerne <strong>LSMR</strong>, nous pourrions tenter
      d'utiliser d'autres régularisations multi-labels. En effet,
      indépendamment de la performance de <strong>LSMR</strong>, les
      résultats obtenus par la régularisation Laplacienne multi-labels
      semblent montrer les limites de cette approche, en comparant
      avec la régularisation <emph>CMTL</emph>. Cette dernière est
      similaire, à ceci près que l'a-priori sur la structure des
      labels est inféré à partir des données. Nous pourrions également
      envisager d'intégrer la sélection de labels dans la méthode
      d'apprentissage <strong>LSMR</strong>, de façon à ne pas
      contraindre le modèle sur les labels qu'il ne pourra de toutes
      façons pas représenter fidèlement.
    </p>
    <p>
      Nous pourrions aussi tenter de modifier les a-priori dont nous
      disposons sur les labels grâce aux connaissances métier. En
      effet, les labels forment une hiérarchie : certains sont plus
      génériques et recouvrent des sous-labels plus spécifiques. Par
      exemple, si le terme "savonnette" est tantôt employé pour la
      tenue sur route humide ou sur route enneigée, cela traduit une
      proximité naturelle entre ces deux labels. Cette proximité
      pourrait être retrouvée en inspectant simplement la hiérarchie
      des <emph>qualifiers</emph>.
    </p>
    <p>
      Pour <emph>RSMS</emph>, nous pourrions envisager d'utiliser une
      régularisation non convexe, telle que la régularisation
      <h:eq>\ell_{2, 1 - 2}</h:eq>.
    </p>
    <p>
      En ce qui concerne l'application, il reste à harmoniser la
      classification et la régression. En effet, le score prédit pour
      chaque label n'est pas toujours intéressant ; il ne l'est que si
      le <emph>qualifier</emph> est bien mentionné dans le texte. Bien
      que l'agrégation par <emph>stacking</emph> permette d'ignorer le
      score prédit pour les qualifier non présents, les modèles
      bootstrap cherchent à obtenir la valeur 0 si le qualifier n'est
      pas présent. Cette idée devrait donc être au cœur de
      l'optimisation d'un algorithme unifiant la classification et la
      régression.
    </p>
    <h:appendix/>
    <h1>Publications personnelles</h1>
    <h2>Revues internationales</h2>
    <ul>
      <li>
        Seif-Eddine Benkabou,
        Khalid Benabdeslem,
        <strong>Vivien Kraus</strong>,
        Kilian Bourhis,
        Bruno Canitia,
        <emph>Local Anomaly Detection for Multivariate Time Series by
          Temporal Dependency Based on Poisson Model</emph>, in
          revision,
        <emph>IEEE Transactions on Neural Networks and Learning
          Systems</emph>
      </li>
    </ul>
    <h2>Conférences internationales</h2>
    <ul>
      <li>
        <strong>Vivien Kraus</strong>,
        Khalid Benabdeslem,
        Bruno Canitia,
        <emph>Laplacian-based Semi-supervised Multi-Label
          Regression.</emph>, in
        <emph>International Joint Conference on Neural Networks
          (IJCNN).</emph>
        IEEE, 2020.
      </li>
      <li>
        <strong>Vivien Kraus</strong>,
        Seif-Eddine Benkabou,
        Khalid Benabdeslem,
        Frédéric Cherqui,
        <emph>An improved Laplacian semi-supervised regression</emph>, in
        <emph>IEEE 30th International Conference on Tools with
          Artificial Intelligence (ICTAI).</emph>

        IEEE, 2018. p 564-570.
      </li>
    </ul>
    <h2>Conférences nationales</h2>
    <ul>
      <li>
        Seif-Eddine Benkabou,
        Khalid Benabdeslem,
        <strong>Vivien Kraus</strong>,
        Kilian Bourhis
        and Bruno Canitia.

        <emph>Détection contextuelle d'anomalies à partir de séries
          temporelles multi-variées à base de modèle de
          Poisson</emph>,

        in

        <emph>Conférence sur l'Apprentissage automatique (CAp
        2019)</emph>.
      </li>
      <li>
        <strong>Vivien Kraus</strong>,
        Khalid Benabdeslem,
        Frédéric Cherqui,

        <emph>Régression Laplacienne semi-supervisée pour la
          reconstitution des dates de pose des réseaux
          d'assainissement</emph>,

        <emph>Extraction et Gestion des Connaissances (EGC18)</emph>

        EGC 2018.
      </li>
    </ul>
    <h2>Travaux en cours</h2>
    <ul>
      <li>
        <strong>Vivien Kraus</strong>,
        Khalid Benabdeslem,
        Bruno Canitia.

        <emph>RSMS: Robust Semi-supervised Multi-label feature
          Selection for regression.</emph>

        Preprint, 2021.
      </li>
    </ul>

    <!-- ____________________________________________
	−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 
	Fin du manuscrit, début de la bibliographie.
	−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− -->

    <h:bibliography style="unsrt">
      <b:inproceedings id="ji_simple_2012">
	<b:title>
	  A simple algorithm for semi-supervised learning with
	  improved generalization error bound
	</b:title>
	<b:author>
	  Ji, Ming and Yang, Tianbao and Lin, Binbin and Jin, Rong and
	  Han, Jiawei
	</b:author>
	<b:booktitle>
	  Proceedings of the 29th International Coference on
	  International Conference on Machine Learning
	</b:booktitle>
	<b:pages>835--842</b:pages>
	<b:year>2012</b:year>
      </b:inproceedings>
      <b:article id="belkin_manifold_2006">
	<b:title>
	  Manifold regularization: A geometric framework for learning
	  from labeled and unlabeled examples
	</b:title>
	<b:author>
	  Belkin, Mikhail and Niyogi, Partha and Sindhwani, Vikas
	</b:author>
	<b:journal>Journal of machine learning research</b:journal>
	<b:volume>7</b:volume>
	<b:number>Nov</b:number>
	<b:pages>2399-2434</b:pages>
	<b:year>2006</b:year>
      </b:article>
      <b:book id="chapelle_semi-supervised_2006">
	<b:title>Semi-Supervised Learning</b:title>
	<b:isbn>978-0-262-03358-9</b:isbn>
	<b:url>http://mitpress.universitypressscholarship.com/view/10.7551/mitpress/9780262033589.001.0001/upso-9780262033589</b:url>
	<b:urldate>2017-10-05</b:urldate>
	<b:publisher>The MIT Press</b:publisher>
	<b:editor>Chapelle, Olivier and Scholkopf, Bernhard and Zien, Alexander</b:editor>
	<b:month>sep</b:month>
	<b:year>2006</b:year>
	<b:doi>10.7551/mitpress/9780262033589.001.0001</b:doi>
      </b:book>
      <b:inproceedings id="zhu_semi-supervised_nodate">
	<b:title>
	  Semi-Supervised Learning Using Gaussian Fields and Harmonic
	  Functions
	</b:title>
	<b:author>
	  Zhu, Xiaojin and Ghahramani, Zoubin and Lafferty, John D
	</b:author>
	<b:booktitle>
	  Proceedings of the 20th International conference on Machine
	  learning (ICML-03)
	</b:booktitle>
	<b:pages>912-919</b:pages>
	<b:year>2003</b:year>
      </b:inproceedings>
      <b:article id="doquire_graph_2013">
	<b:title>
	  A graph Laplacian based approach to semi-supervised feature
	  selection for regression problems
	</b:title>
	<b:volume>121</b:volume>
	<b:issn>09252312</b:issn>
	<b:url>http://linkinghub.elsevier.com/retrieve/pii/S0925231213001537</b:url>
	<b:doi>10.1016/j.neucom.2012.10.028</b:doi>
	<b:language>en</b:language>
	<b:urldate>2017-10-06</b:urldate>
	<b:journal>Neurocomputing</b:journal>
	<b:author>Doquire, Gauthier and Verleysen, Michel</b:author>
	<b:month>dec</b:month>
	<b:year>2013</b:year>
	<b:pages>5--13</b:pages>
      </b:article>
      <b:article id="alalga_soft-constrained_2016">
	<b:title>
	  Soft-constrained Laplacian score for semi-supervised
	  multi-label feature selection
	</b:title>
	<b:volume>47</b:volume>
	<b:issn>0219-1377, 0219-3116</b:issn>
	<b:url>http://link.springer.com/10.1007/s10115-015-0841-8</b:url>
	<b:doi>10.1007/s10115-015-0841-8</b:doi>
	<b:language>en</b:language>
	<b:number>1</b:number>
	<b:urldate>2017-10-03</b:urldate>
	<b:journal>Knowledge and Information Systems</b:journal>
	<b:author>
	  Alalga, Abdelouahid and Benabdeslem, Khalid and Taleb, Nora
	</b:author>
	<b:month>apr</b:month>
	<b:year>2016</b:year>
	<b:pages>75-98</b:pages>
      </b:article>
      <b:inproceedings id="sousa_kernelized_nodate">
	<b:title>
	  Kernelized Constrained Gaussian Fields and Harmonic
	  Functions for Semi-supervised Learning
	</b:title>
	<b:abstract>
	  Graph-based semi-supervised learning (SSL) methods are
	  effective on many application domains. Despite such an
	  effectiveness, many of these methods are transductive in
	  nature, being uncapable to provide generalization for the
	  entire sample space. In this paper, we generalize three
	  existing graph-based transductive methods through kernel
	  expansions on reproducing kernel Hilbert spaces. In
	  addition, our methods can easily generate an inductive model
	  in a parameter-free way, given a graph Laplacian constructed
	  from both labeled and unlabeled examples and a label
	  matrix. Through experiments on benchmark data sets, we show
	  that the proposed methods are effective on inductive SSL
	  tasks in comparison to manifold regularization methods.
	</b:abstract>
	<b:language>en</b:language>
	<b:author>Sousa, Celso A R</b:author>
	<b:booktitle>
	  2020 International Joint Conference on Neural Networks
	  (IJCNN)
	</b:booktitle>
	<b:pages>1--8</b:pages>
	<b:year>2020</b:year>
	<b:organization>IEEE</b:organization>
      </b:inproceedings>
      <b:inproceedings id="liu_semi-supervised_2006">
	<b:title>
	  Semi-supervised multi-label learning by constrained
	  non-negative matrix factorization
	</b:title>
	<b:volume>6</b:volume>
	<b:url>https://vvvvw.aaai.org/Papers/AAAI/2006/AAAI06-067.pdf</b:url>
	<b:urldate>2017-10-09</b:urldate>
	<b:booktitle>
	  Proceedings of the 21st national conference on Artificial
	  intelligence-Volume 1
	</b:booktitle>
	<b:author>Liu, Yi and Jin, Rong and Yang, Liu</b:author>
	<b:year>2006</b:year>
	<b:pages>421-426</b:pages>
      </b:inproceedings>
      <b:incollection id="gunopulos_constrained_2011">
	<b:address>Berlin, Heidelberg</b:address>
	<b:title>
	  Constrained Laplacian Score for Semi-supervised Feature
	  Selection
	</b:title>
	<b:volume>6911</b:volume>
	<b:isbn>978-3-642-23779-9 978-3-642-23780-5</b:isbn>
	<b:url>http://link.springer.com/10.1007/978-3-642-23780-5_23</b:url>
	<b:urldate>2017-10-05</b:urldate>
	<b:booktitle>
	  Machine Learning and Knowledge Discovery in Databases
	</b:booktitle>
	<b:publisher>Springer Berlin Heidelberg</b:publisher>
	<b:author>Benabdeslem, Khalid and Hindawi, Mohammed</b:author>
	<b:editor>
	  Gunopulos, Dimitrios and Hofmann, Thomas and Malerba, Donato
	  and Vazirgiannis, Michalis
	</b:editor>
	<b:year>2011</b:year>
	<b:doi>10.1007/978-3-642-23780-5_23</b:doi>
	<b:pages>204--218</b:pages>
      </b:incollection>
      <b:article id="zhang_semi-supervised_2009">
	<b:title>Semi-Supervised Multi-Task Regression</b:title>
	<b:author>Zhang, Yu and Yeung, Dit-Yan</b:author>
	<b:journal>
	  Machine Learning and Knowledge Discovery in Databases
	</b:journal>
	<b:pages>617--631</b:pages>
	<b:year>2009</b:year>
	<b:publisher>Springer</b:publisher>
	<b:abstract>
	  Labeled data are needed for many machine learning
	  applications but the amount available in some applications
	  is scarce. Semi-supervised learning and multi-task learning
	  are two of the approaches that have been proposed to
	  alleviate this problem. In this paper, we seek to integrate
	  these two approaches for regression applications. We first
	  propose a new supervised multi-task regression method called
	  SMTR, which is based on Gaussian processes (GP) with the
	  assumption that the kernel parameters for all tasks share a
	  common prior. We then incorporate unlabeled data into SMTR
	  by changing the kernel function of the GP prior to a
	  data-dependent kernel function, resulting in a
	  semi-supervised extension of SMTR, called SSMTR. Moreover,
	  we incorporate pairwise information into SSMTR to further
	  boost the learning performance for applications in which
	  such information is available. Experiments conducted on two
	  commonly used data sets for multi-task regression
	  demonstrate the effectiveness of our methods.
	</b:abstract>
      </b:article>
      <b:inproceedings id="mifs">
	<b:title>Multi-Label Informed Feature Selection.</b:title>
	<b:booktitle>
	  Proceedings of the Twenty-Fifth International Joint
	  Conference on Artificial Intelligence
	</b:booktitle>
	<b:author>
	  Jian, Ling and Li, Jundong and Shu, Kai and Liu, Huan
	</b:author>
	<b:year>2016</b:year>
	<b:pages>1627--1633</b:pages>
      </b:inproceedings>
      <b:inproceedings id="drucker1997support">
	<b:title>Support vector regression machines</b:title>
	<b:author>
	  Drucker, Harris and Burges, Christopher JC and Kaufman,
	  Linda and Smola, Alex J and Vapnik, Vladimir
	</b:author>
	<b:booktitle>
	  Advances in neural information processing systems
	</b:booktitle>
	<b:pages>155--161</b:pages>
	<b:year>1997</b:year>
      </b:inproceedings>
      <b:article id="chapelle_optimization_2008">
	<b:title>Optimization Techniques for Semi-Supervised Support Vector Machines</b:title>
	<b:volume>9</b:volume>
	<b:issn>1532-4435</b:issn>
	<b:url>http://dl.acm.org/citation.cfm?id=1390681.1390688</b:url>
	<b:journal>Journal of machine learning research</b:journal>
	<b:author>Chapelle, Olivier and Sindhwani, Vikas and Keerthi, Sathiya S.</b:author>
	<b:month>jun</b:month>
	<b:year>2008</b:year>
	<b:pages>203--233</b:pages>
      </b:article>
      <b:inproceedings id="bennett1999semi">
	<b:title>Semi-supervised support vector machines</b:title>
	<b:author>Bennett, Kristin P and Demiriz, Ayhan</b:author>
	<b:booktitle>Advances in Neural Information processing systems</b:booktitle>
	<b:pages>368--374</b:pages>
	<b:year>1999</b:year>
      </b:inproceedings>
      <b:article id="chen2012laplacian">
	<b:title>
	  Laplacian embedded regression for scalable manifold
	  regularization
	</b:title>
	<b:author>Chen, Lin and Tsang, Ivor W and Xu, Dong</b:author>
	<b:journal>
	  IEEE transactions on neural networks and learning systems
	</b:journal>
	<b:volume>23</b:volume>
	<b:number>6</b:number>
	<b:pages>902--915</b:pages>
	<b:year>2012</b:year>
	<b:publisher>IEEE</b:publisher>
      </b:article>
      <b:article id="selftraining">
	<b:author>H. Scudder</b:author>
	<b:journal>
	  IEEE Transactions on Information Theory,
	</b:journal>
	<b:title>
	  Probability of error of some adaptive pattern-recognition
	  machines,
	</b:title>
	<b:year>1965</b:year>
	<b:volume>11</b:volume>
	<b:number>3</b:number>
	<b:pages>363-371</b:pages>
	<b:doi>10.1109/TIT.1965.1053799</b:doi>
      </b:article>
      <b:article id="cramer2002origins">
	<b:title>The origins of logistic regression</b:title>
	<b:author>Cramer, JS</b:author>
	<b:journal>Tinbergen Institute Working Paper</b:journal>
	<b:volume>2002</b:volume>
	<b:number>119/4</b:number>
	<b:year>2002</b:year>
      </b:article>
      <b:inproceedings id="levatic_semi-supervised_2014">
	<b:title>Semi-supervised learning for multi-target regression</b:title>
	<b:url>http://link.springer.com/chapter/10.1007/978-3-319-17876-9_1</b:url>
	<b:urldate>2017-10-11</b:urldate>
	<b:booktitle>International Workshop on New Frontiers in Mining Complex Patterns</b:booktitle>
	<b:publisher>Springer</b:publisher>
	<b:author>Levatić, Jurica and Ceci, Michelangelo and Kocev, Dragi and Džeroski, Sašo</b:author>
	<b:year>2014</b:year>
	<b:pages>3--18</b:pages>
      </b:inproceedings>
      <b:inproceedings id="arazo_pseudo-labeling_nodate">
	<b:title>
	  Pseudo-labeling and confirmation bias in deep
	  semi-supervised learning
	</b:title>
	<b:author>
	  Arazo, Eric and Ortego, Diego and Albert, Paul and O’Connor,
	  Noel E and McGuinness, Kevin
	</b:author>
	<b:booktitle>
	  2020 International Joint Conference on Neural Networks
	  (IJCNN)
	</b:booktitle>
	<b:pages>1--8</b:pages>
	<b:year>2020</b:year>
	<b:organization>IEEE</b:organization>
	<b:abstract>
	  Semi-supervised learning, i.e. jointly learning from labeled
	  and unlabeled samples, is an active research topic due to
	  its key role on relaxing human supervision. In the context
	  of image classification, recent advances to learn from
	  unlabeled samples are mainly focused on consistency
	  regularization methods that encourage invariant predictions
	  for different perturbations of unlabeled samples. We,
	  conversely, propose to learn from unlabeled data by
	  generating soft pseudo-labels using the network
	  predictions. We show that a naive pseudo-labeling overfits
	  to incorrect pseudo-labels due to the so-called confirmation
	  bias and demonstrate that mixup augmentation and setting a
	  minimum number of labeled samples per mini-batch are
	  effective regularization techniques for reducing it. The
	  proposed approach achieves state-of-the-art results in
	  CIFAR-10/100, SVHN, and Mini-ImageNet despite being much
	  simpler than other methods. These results demonstrate that
	  pseudo-labeling alone can outperform consistency
	  regularization methods, while the opposite was supposed in
	  previous work. Source code is available at
	  https://git.io/fjQsC.
	</b:abstract>
	<b:language>en</b:language>
      </b:inproceedings>
      <b:inproceedings id="bennett_semi-supervised_1998">
	<b:address>Cambridge, MA, USA</b:address>
	<b:series>NIPS'98</b:series>
	<b:title>Semi-supervised Support Vector Machines</b:title>
	<b:url>http://dl.acm.org/citation.cfm?id>3009055.3009107</b:url>
	<b:booktitle>
	  Proceedings of the 11th International Conference on Neural
	  Information Processing Systems
	</b:booktitle>
	<b:publisher>MIT Press</b:publisher>
	<b:author>Bennett, Kristin P. and Demiriz, Ayhan</b:author>
	<b:year>1998</b:year>
	<b:pages>368--374</b:pages>
      </b:inproceedings>
      <b:article id="levatic_self_training_2017">
	<b:title>
	  Self-training for multi-target regression with tree
	  ensembles
	</b:title>
	<b:volume>123</b:volume>
	<b:issn>09507051</b:issn>
	<b:url>https://linkinghub.elsevier.com/retrieve/pii/S0950705117300813</b:url>
	<b:doi>10.1016/j.knosys.2017.02.014</b:doi>
	<!-- <b:abstract> -->
	<!--   Semi-supervised learning (SSL) aims to use unlabeled data as -->
	<!--   an additional source of information in order to improve upon -->
	<!--   the performance of supervised learning methods. The -->
	<!--   availability of labeled data is often limited due to the -->
	<!--   expensive and/or tedious annotation process, while unlabeled -->
	<!--   data could be easily available in large amounts. This is -->
	<!--   particularly true for predictive modelling problems with a -->
	<!--   structured output space. In this study, we address the task -->
	<!--   of SSL for multi-target regression (MTR), where the output -->
	<!--   space consists of multiple numerical values. We extend the -->
	<!--   self-training approach to perform SSL for MTR by using a -->
	<!--   random forest of predictive clustering trees. In -->
	<!--   self-training, a model iteratively uses its own most -->
	<!--   reliable predictions, hence a good measure for the -->
	<!--   reliability of predictions is essential. Given that -->
	<!--   reliability estimates for MTR predictions have not yet been -->
	<!--   studied, we propose four such estimates, based on mechanisms -->
	<!--   provided within ensemble learning. In addition to these four -->
	<!--   scores, we use two benchmark scores (oracle and random) to -->
	<!--   empirically determine the performance limits of -->
	<!--   selftraining. We also propose an approach to automatically -->
	<!--   select a threshold for the identification of the most -->
	<!--   reliable predictions to be used in the next iteration. An -->
	<!--   empirical evaluation on a large collection of datasets for -->
	<!--   MTR shows that self-training with any of the proposed -->
	<!--   reliability scores is able to consistently improve over -->
	<!--   supervised random forests and multi-output support vector -->
	<!--   regression. This is also true when the reliability threshold -->
	<!--   is selected automatically. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:urldate>2020-09-09</b:urldate>
	<b:journal>Knowledge-Based Systems</b:journal>
	<b:author>
	  Levatić, Jurica and Ceci, Michelangelo and Kocev, Dragi and
	  Džeroski, Sašo
	</b:author>
	<b:month>may</b:month>
	<b:year>2017</b:year>
	<b:pages>41--60</b:pages>
      </b:article>
      <b:inproceedings id="blum_combining_1998">
	<b:address>New York, NY, USA</b:address>
	<b:series>COLT' 98</b:series>
	<b:title>
	  Combining Labeled and Unlabeled Data with Co-training
	</b:title>
	<b:isbn>1-58113-057-0</b:isbn>
	<b:url>http://doi.acm.org/10.1145/279943.279962</b:url>
	<b:doi>10.1145/279943.279962</b:doi>
	<b:booktitle>
	  Proceedings of the Eleventh Annual Conference on
	  Computational Learning Theory
	</b:booktitle>
	<b:publisher>ACM</b:publisher>
	<b:author>Blum, Avrim and Mitchell, Tom</b:author>
	<b:year>1998</b:year>
	<b:pages>92--100</b:pages>
      </b:inproceedings>
      <b:inproceedings id="zhou_semi-supervised_2005">
	<b:title>
	  Semi-Supervised Regression with Co-Training.
	</b:title>
	<b:volume>5</b:volume>
	<b:url>http://cs.nju.edu.cn/_upload/tpl/00/c5/197/template197/publications/ijcai05.pdf</b:url>
	<b:urldate>2017-10-12</b:urldate>
	<b:booktitle>
	  Proceedings of the 19th international joint conference on
	  Artificial intelligence
	</b:booktitle>
	<b:author>Zhou, Zhi-Hua and Li, Ming</b:author>
	<b:year>2005</b:year>
	<b:pages>908--913</b:pages>
      </b:inproceedings>
      <b:inproceedings id="barkia_semi-supervised_2011">
	<b:title>
	  Semi-supervised Feature Importance Evaluation with Ensemble
	  Learning
	</b:title>
	<b:isbn>978-1-4577-2075-8 978-0-7695-4408-3</b:isbn>
	<b:url>http://ieeexplore.ieee.org/document/6137207/</b:url>
	<b:doi>10.1109/ICDM.2011.129</b:doi>
	<b:urldate>2017-10-03</b:urldate>
	<b:publisher>IEEE</b:publisher>
	<b:booktitle>
	  2011 IEEE 11th International Conference on Data Mining
	</b:booktitle>
	<b:pages>31--40</b:pages>
	<b:month>dec</b:month>
	<b:year>2011</b:year>
	<b:organization>IEEE</b:organization>
	<b:author>
	  Barkia, Hasna and Elghazel, Haytham and Aussem, Alex
	</b:author>
      </b:inproceedings>
      <b:inproceedings id="zhao_semi-supervised_2007">
	<b:title>
	  Semi-supervised feature selection via spectral analysis
	</b:title>
	<b:url>http://epubs.siam.org/doi/abs/10.1137/1.9781611972771.75</b:url>
	<b:urldate>2017-10-09</b:urldate>
	<b:booktitle>
	  Proceedings of the 2007 SIAM International Conference on
	  Data Mining
	</b:booktitle>
	<b:publisher>SIAM</b:publisher>
	<b:author>Zhao, Zheng and Liu, Huan</b:author>
	<b:year>2007</b:year>
	<b:pages>641--646</b:pages>
      </b:inproceedings>
      <b:article id="benabdeslem_efficient_2014">
	<b:title>
	  Efficient Semi-Supervised Feature Selection: Constraint,
	  Relevance, and Redundancy
	</b:title>
	<b:volume>26</b:volume>
	<b:issn>1041-4347</b:issn>
	<b:shorttitle>
	  Efficient Semi-Supervised Feature Selection
	</b:shorttitle>
	<b:url>http://ieeexplore.ieee.org/document/6520860/</b:url>
	<b:doi>10.1109/TKDE.2013.86</b:doi>
	<b:number>5</b:number>
	<b:urldate>2017-10-05</b:urldate>
	<b:journal>
	  IEEE Transactions on Knowledge and Data Engineering
	</b:journal>
	<b:author>Benabdeslem, Khalid and Hindawi, Mohammed</b:author>
	<b:month>may</b:month>
	<b:year>2014</b:year>
	<b:pages>1131--1143</b:pages>
      </b:article>
      <b:inproceedings id="hindawi_local--global_2013">
	<b:address>New York, NY, USA</b:address>
	<b:series>CIKM '13</b:series>
	<b:title>
	  Local-to-global semi-supervised feature selection
	</b:title>
	<b:isbn>978-1-4503-2263-8</b:isbn>
	<b:url>http://doi.acm.org/10.1145/2505515.2505542</b:url>
	<b:doi>10.1145/2505515.2505542</b:doi>
	<b:abstract>
	  Variable-weighting approaches are well-known in the context
	  of embedded feature selection. Generally, this task is
	  performed in a global way, when the algorithm selects a
	  single cluster-independent subset of features (global
	  feature selection). However, there exist other approaches
	  that aim to select cluster-specific subsets of features
	  (local feature selection). Global and local feature
	  selection have different objectives, nevertheless, in this
	  paper we propose a novel embedded approach which locally
	  weights the variables towards a global feature
	  selection. The proposed approach is presented in the
	  semi-supervised paradigm. Experiments on some known data
	  sets are presented to validate our model and compare it with
	  some representative methods.
	</b:abstract>
	<b:urldate>2017-10-09</b:urldate>
	<b:booktitle>
	  Proceedings of the 22nd ACM international conference on
	  Conference on information &amp; knowledge management
	</b:booktitle>
	<b:publisher>ACM</b:publisher>
	<b:author>Hindawi, Mohammed and Benabdeslem, Khalid</b:author>
	<b:year>2013</b:year>
	<b:keywords>
	  semi-supervised learning, constraints, feature selection,
	  variable weighting
	</b:keywords>
	<b:pages>2159--2168</b:pages>
      </b:inproceedings>
      <b:inproceedings id="collobert2008unified">
	<b:title>
	  A unified architecture for natural language processing: Deep
	  neural networks with multitask learning
	</b:title>
	<b:author>Collobert, Ronan and Weston, Jason</b:author>
	<b:booktitle>
	  Proceedings of the 25th international conference on Machine
	  learning
	</b:booktitle>
	<b:pages>160--167</b:pages>
	<b:year>2008</b:year>
      </b:inproceedings>
      <b:inproceedings id="argyriou2008spectral">
	<b:title>
	  A spectral regularization framework for multi-task structure
	  learning
	</b:title>
	<b:author>
	  Argyriou, Andreas and Pontil, Massimiliano and Ying, Yiming
	  and Micchelli, Charles A
	</b:author>
	<b:booktitle>
	  Advances in neural information processing systems
	</b:booktitle>
	<b:pages>25--32</b:pages>
	<b:year>2008</b:year>
      </b:inproceedings>
      <b:inproceedings id="sarcos">
	<b:title>
	  Locally weighted projection regression:
	  An <h:eq>\mathcal{O}(n)</h:eq> algorithm for incremental
	  real time learning in high dimensional spaces
	</b:title>
	<b:author>Vijayakumar, S. and Schaal, S.</b:author>
	<b:booktitle>
	  Proceedings of the Seventeenth International Conference on
	  Machine Learning (ICML 2000)
	</b:booktitle>
	<b:volume>1</b:volume>
	<b:pages>288-293</b:pages>
	<b:address>Stanford, CA</b:address>
	<b:year>2000</b:year>
	<b:note>clmc</b:note>
	<b:url>http://www-clmc.usc.edu/publications/V/vijayakumar-ICML2000.pdf</b:url>
      </b:inproceedings>
      <b:article id="spyromitros_xioufis_multi_target_2016">
	<b:title>
	  Multi-Target Regression via Input Space Expansion: Treating
	  Targets as Inputs
	</b:title>
	<b:volume>104</b:volume>
	<b:issn>0885-6125, 1573-0565</b:issn>
	<b:shorttitle>
	  Multi-Target Regression via Input Space Expansion
	</b:shorttitle>
	<b:url>http://arxiv.org/abs/1211.6581</b:url>
	<b:doi>10.1007/s10994-016-5546-z</b:doi>
	<!-- <b:abstract> -->
	<!--   In many practical applications of supervised learning the -->
	<!--   task involves the prediction of multiple target variables -->
	<!--   from a common set of input variables. When the prediction -->
	<!--   targets are binary the task is called multi-label -->
	<!--   classification, while when the targets are continuous the -->
	<!--   task is called multi-target regression. In both tasks, -->
	<!--   target variables often exhibit statistical dependencies and -->
	<!--   exploiting them in order to improve predictive accuracy is a -->
	<!--   core challenge. A family of multi-label classification -->
	<!--   methods address this challenge by building a separate model -->
	<!--   for each target on an expanded input space where other -->
	<!--   targets are treated as additional input variables. Despite -->
	<!--   the success of these methods in the multi-label -->
	<!--   classification domain, their applicability and effectiveness -->
	<!--   in multi-target regression has not been studied until -->
	<!--   now. In this paper, we introduce two new methods for -->
	<!--   multi-target regression, called Stacked Single-Target and -->
	<!--   Ensemble of Regressor Chains, by adapting two popular -->
	<!--   multi-label classification methods of this -->
	<!--   family. Furthermore, we highlight an inherent problem of -->
	<!--   these methods - a discrepancy of the values of the -->
	<!--   additional input variables between training and prediction - -->
	<!--   and develop extensions that use out-of-sample estimates of -->
	<!--   the target variables during training in order to tackle this -->
	<!--   problem. The results of an extensive experimental evaluation -->
	<!--   carried out on a large and diverse collection of datasets -->
	<!--   show that, when the discrepancy is appropriately mitigated, -->
	<!--   the proposed methods attain consistent improvements over the -->
	<!--   independent regressions baseline. Moreover, two versions of -->
	<!--   Ensemble of Regression Chains perform significantly better -->
	<!--   than four state-of-the-art methods including -->
	<!--   regularization-based multi-task learning methods and a -->
	<!--   multi-objective random forest approach. -->
	<!-- </b:abstract> -->
	<b:number>1</b:number>
	<b:urldate>2017-10-16</b:urldate>
	<b:journal>Machine Learning</b:journal>
	<b:author>
	  Spyromitros-Xioufis, Eleftherios and Tsoumakas, Grigorios
	  and Groves, William and Vlahavas, Ioannis
	</b:author>
	<b:month>jul</b:month>
	<b:year>2016</b:year>
	<b:note>arXiv: 1211.6581</b:note>
	<b:keywords>Computer Science - Learning</b:keywords>
	<b:pages>55--98</b:pages>
	<b:annote>
	  Comment: Accepted for publication in Machine Learning
	  journal. This replacement contains major improvements
	  compared to the previous version, including a deeper
	  theoretical and experimental analysis and an extended
	  discussion of related work.
	</b:annote>
      </b:article>
      <b:article id="argyriou_multitask_nodate">
	<b:title>Multi-Task Feature Learning</b:title>
	<!-- <b:abstract> -->
	<!--   We present a method for learning a low-dimensional -->
	<!--   representation which is shared across a set of multiple -->
	<!--   related tasks. The method builds upon the wellknown 1-norm -->
	<!--   regularization problem using a new regularizer which -->
	<!--   controls the number of learned features common for all the -->
	<!--   tasks. We show that this problem is equivalent to a convex -->
	<!--   optimization problem and develop an iterative algorithm for -->
	<!--   solving it. The algorithm has a simple interpretation: it -->
	<!--   alternately performs a supervised and an unsupervised step, -->
	<!--   where in the latter step we learn commonacross-tasks -->
	<!--   representations and in the former step we learn task-specific -->
	<!--   functions using these representations. We report experiments -->
	<!--   on a simulated and a real data set which demonstrate that -->
	<!--   the proposed method dramatically improves the performance -->
	<!--   relative to learning each task independently. Our algorithm -->
	<!--   can also be used, as a special case, to simply select – not -->
	<!--   learn – a few common features across the tasks. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:author>
	  Argyriou, Andreas and Evgeniou, Theodoros and Pontil,
	  Massimiliano
	</b:author>
	<b:year>2007</b:year>
	<b:journal>
	  Advances in neural information processing systems
	</b:journal>
	<b:pages>41--48</b:pages>
      </b:article>
      <b:article id="tibshirani1996regression">
	<b:title>
	  Regression shrinkage and selection via the lasso
	</b:title>
	<b:author>Tibshirani, Robert</b:author>
	<b:journal>
	  Journal of the Royal Statistical Society: Series B
	  (Methodological)
	</b:journal>
	<b:volume>58</b:volume>
	<b:number>1</b:number>
	<b:pages>267--288</b:pages>
	<b:year>1996</b:year>
	<b:publisher>Wiley Online Library</b:publisher>
      </b:article>
      <b:article id="jalali_dirty_nodate">
	<b:title>A Dirty Model for Multi-task Learning</b:title>
	<!-- <b:abstract> -->
	<!--   We consider multi-task learning in the setting of multiple -->
	<!--   linear regression, and where some relevant features could be -->
	<!--   shared across the tasks. Recent research has studied the use -->
	<!--   of ℓ1/ℓq norm block-regularizations with q \textgreater 1 -->
	<!--   for such blocksparse structured problems, establishing -->
	<!--   strong guarantees on recovery even under high-dimensional -->
	<!--   scaling where the number of features scale with the number -->
	<!--   of observations. However, these papers also caution that the -->
	<!--   performance of such block-regularized methods are very -->
	<!--   dependent on the extent to which the features are shared -->
	<!--   across tasks. Indeed they show [8] that if the extent of -->
	<!--   overlap is less than a threshold, or even if parameter -->
	<!--   values in the shared features are highly uneven, then block -->
	<!--   ℓ1/ℓq regularization could actually perform worse than -->
	<!--   simple separate elementwise ℓ1 regularization. Since these -->
	<!--   caveats depend on the unknown true parameters, we might not -->
	<!--   know when and which method to apply. Even otherwise, we are -->
	<!--   far away from a realistic multi-task setting: not only do -->
	<!--   the set of relevant features have to be exactly the same -->
	<!--   across tasks, but their values have to as well. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:author>
	  Jalali, Ali and Sanghavi, Sujay and Ruan, Chao and
	  Ravikumar, Pradeep K
	</b:author>
	<b:journal>
	  Advances in neural information processing systems
	</b:journal>
	<b:volume>23</b:volume>
	<b:pages>964--972</b:pages>
	<b:year>2010</b:year>
      </b:article>
      <b:article id="he_laplacian_nodate">
	<b:title>Laplacian Score for Feature Selection</b:title>
	<!-- <b:abstract> -->
	<!--   In supervised learning scenarios, feature selection has been -->
	<!--   studied widely in the literature. Selecting features in -->
	<!--   unsupervised learning scenarios is a much harder problem, -->
	<!--   due to the absence of class labels that would guide the -->
	<!--   search for relevant information. And, almost all of previous -->
	<!--   unsupervised feature selection methods are “wrapper” -->
	<!--   techniques that require a learning algorithm to evaluate the -->
	<!--   candidate feature subsets. In this paper, we propose a -->
	<!--   “filter” method for feature selection which is independent of -->
	<!--   any learning algorithm. Our method can be performed in -->
	<!--   either supervised or unsupervised fashion. The proposed -->
	<!--   method is based on the observation that, in many real world -->
	<!--   classification problems, data from the same class are often -->
	<!--   close to each other. The importance of a feature is -->
	<!--   evaluated by its power of locality preserving, or, Laplacian -->
	<!--   Score. We compare our method with data variance -->
	<!--   (unsupervised) and Fisher score (supervised) on two data -->
	<!--   sets. Experimental results demonstrate the effectiveness and -->
	<!--   efficiency of our algorithm. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:author>
	  He, Xiaofei and Cai, Deng and Niyogi, Partha
	</b:author>
	<b:journal>
	  Advances in neural information processing systems
	</b:journal>
	<b:volume>18</b:volume>
	<b:pages>507--514</b:pages>
	<b:year>2005</b:year>
      </b:article>
      <b:article id="malsar">
	<b:author>Zhou, Jiayu and Chen, J and Ye, J</b:author>
	<b:year>2012</b:year>
	<b:month>01</b:month>
	<b:title>MALSAR: Multi-tAsk Learning via StructurAl Regularization</b:title>
      </b:article>
      <b:article id="zhu_multilabel_2017">
	<b:title>
	  Multi-Label Learning with Global and Local Label Correlation
	</b:title>
	<b:url>http://arxiv.org/abs/1704.01415</b:url>
	<!-- <b:abstract> -->
	<!--   It is well-known that exploiting label correlations is -->
	<!--   important to multi-label learning. Existing approaches -->
	<!--   either assume that the label correlations are global and -->
	<!--   shared by all instances; or that the label correlations are -->
	<!--   local and shared only by a data subset. In fact, in the -->
	<!--   real-world applications, both cases may occur that some -->
	<!--   label correlations are globally applicable and some are -->
	<!--   shared only in a local group of instances. Moreover, it is -->
	<!--   also a usual case that only partial labels are observed, -->
	<!--   which makes the exploitation of the label correlations much -->
	<!--   more difficult. That is, it is hard to estimate the label -->
	<!--   correlations when many labels are absent. In this paper, we -->
	<!--   propose a new multi-label approach GLOCAL dealing with both -->
	<!--   the full-label and the missinglabel cases, exploiting global -->
	<!--   and local label correlations simultaneously, through -->
	<!--   learning a latent label representation and optimizing label -->
	<!--   manifolds. The extensive experimental studies validate the -->
	<!--   effectiveness of our approach on both full-label and -->
	<!--   missing-label data. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:urldate>2020-09-17</b:urldate>
	<b:journal>
	  IEEE Transactions on Knowledge and Data Engineering
	</b:journal>
	<b:author>
	  Zhu, Yue and Kwok, James T. and Zhou, Zhi-Hua
	</b:author>
	<b:month>apr</b:month>
	<b:year>2017</b:year>
	<b:note>arXiv: 1704.01415</b:note>
	<b:keywords>
	  Computer Science - Machine Learning, Computer Science -
	  Artificial Intelligence
	</b:keywords>
      </b:article>
      <b:article id="rank">
	<b:title>Convex Multi-Task Feature Learning</b:title>
	<!-- <b:abstract> -->
	<!--   We present a method for learning sparse representations -->
	<!--   shared across multiple tasks. This method is a -->
	<!--   generalization of the well-known singletask 1-norm -->
	<!--   regularization. It is based on a novel non-convex -->
	<!--   regularizer which controls the number of learned features -->
	<!--   common across the tasks. We prove that the method is -->
	<!--   equivalent to solving a convex optimization problem for -->
	<!--   which there is an iterative algorithm which converges to an -->
	<!--   optimal solution. The algorithm has a simple interpretation: -->
	<!--   it alternately performs a supervised and an unsupervised -->
	<!--   step, where in the former step it learns task-specific -->
	<!--   functions and in the latter step it learns -->
	<!--   common-across-tasks sparse representations for these -->
	<!--   functions. We also provide an extension of the algorithm -->
	<!--   which learns sparse nonlinear representations using -->
	<!--   kernels. We report experiments on simulated and real data -->
	<!--   sets which demonstrate that the proposed method can both -->
	<!--   improve the performance relative to learning each task -->
	<!--   independently and lead to a few learned features common -->
	<!--   across related tasks. Our algorithm can also be used, as a -->
	<!--   special case, to simply select – not learn – a few common -->
	<!--   variables across the tasks. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:author>
	  Argyriou, Andreas and Evgeniou, Theodoros and Pontil,
	  Massimiliano
	</b:author>
	<b:journal>Machine learning</b:journal>
        <b:volume>73</b:volume>
        <b:number>3</b:number>
        <b:pages>243--272</b:pages>
        <b:year>2008</b:year>
        <b:publisher>Springer</b:publisher>
      </b:article>
      <b:article id="zha_spectral_nodate">
	<b:title>Spectral Relaxation for K-means Clustering</b:title>
	<!-- <b:abstract> -->
	<!--   The popular K-means clustering partitions a data set by -->
	<!--   minimizing a sum-of-squares cost function. A coordinate -->
	<!--   descend method is then used to find local minima. In this -->
	<!--   paper we show that the minimization can be reformulated as a -->
	<!--   trace maximization problem associated with the Gram matrix -->
	<!--   of the data vectors. Furthermore, we show that a relaxed -->
	<!--   version of the trace maximization problem possesses global -->
	<!--   optimal solutions which can be obtained by computing a -->
	<!--   partial eigendecomposition of the Gram matrix, and the -->
	<!--   cluster assignment for each data vectors can be found by -->
	<!--   computing a pivoted QR decomposition of the eigenvector -->
	<!--   matrix. As a by-product we also derive a lower bound for the -->
	<!--   minimum of the sum-of-squares cost function. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:author>
	  Zha, Hongyuan and He, Xiaofeng and Ding, Chris and Gu, Ming
	  and Simon, Horst D
	</b:author>
	<b:journal>
	  Advances in neural information processing systems
	</b:journal>
        <b:volume>14</b:volume>
        <b:pages>1057--1064</b:pages>
        <b:year>2001</b:year>
      </b:article>
      <b:article id="cmtl">
	<b:title>
	  Clustered Multi-Task Learning Via Alternating Structure
	  Optimization
	</b:title>
	<!-- <b:abstract> -->
	<!--   Multi-task learning (MTL) learns multiple related tasks -->
	<!--   simultaneously to improve generalization -->
	<!--   performance. Alternating structure optimization (ASO) is a -->
	<!--   popular MTL method that learns a shared low-dimensional -->
	<!--   predictive structure on hypothesis spaces from multiple -->
	<!--   related tasks. It has been applied successfully in many real -->
	<!--   world applications. As an alternative MTL approach, -->
	<!--   clustered multi-task learning (CMTL) assumes that multiple -->
	<!--   tasks follow a clustered structure, i.e., tasks are -->
	<!--   partitioned into a set of groups where tasks in the same -->
	<!--   group are similar to each other, and that such a clustered -->
	<!--   structure is unknown a priori. The objectives in ASO and -->
	<!--   CMTL differ in how multiple tasks are -->
	<!--   related. Interestingly, we show in this paper the -->
	<!--   equivalence relationship between ASO and CMTL, providing -->
	<!--   significant new insights into ASO and CMTL as well as their -->
	<!--   inherent relationship. The CMTL formulation is non-convex, -->
	<!--   and we adopt a convex relaxation to the CMTL formulation. We -->
	<!--   further establish the equivalence relationship between the -->
	<!--   proposed convex relaxation of CMTL and an existing convex -->
	<!--   relaxation of ASO, and show that the proposed convex CMTL -->
	<!--   formulation is significantly more efficient especially for -->
	<!--   high-dimensional data. In addition, we present three -->
	<!--   algorithms for solving the convex CMTL formulation. We -->
	<!--   report experimental results on benchmark datasets to -->
	<!--   demonstrate the efficiency of the proposed algorithms. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:author>
	  Zhou, Jiayu and Chen, Jianhui and Ye, Jieping
	</b:author>
	<b:journal>
	  Advances in neural information processing systems
	</b:journal>
	<b:volume>24</b:volume>
	<b:pages>702--710</b:pages>
	<b:year>2011</b:year>
      </b:article>
      <b:article id="cappedl1">
	<b:title>Analysis of multi-stage convex relaxation for sparse regularization.</b:title>
	<b:author>Zhang, Tong</b:author>
	<b:journal>Journal of Machine Learning Research</b:journal>
	<b:volume>11</b:volume>
	<b:number>3</b:number>
	<b:year>2010</b:year>
      </b:article>
      <b:inproceedings id="msmtfl">
	<b:title>Multi-stage multi-task feature learning</b:title>
	<b:author>Gong, Pinghua and Ye, Jieping and Zhang, Chang-shui</b:author>
	<b:booktitle>Advances in neural information processing systems</b:booktitle>
	<b:pages>1988--1996</b:pages>
	<b:year>2012</b:year>
      </b:inproceedings>
      <b:inproceedings id="msmtflrank">
	<b:title>Multi-Stage Multi-Task Learning with Reduced Rank.</b:title>
	<b:author>Han, Lei and Zhang, Yu</b:author>
	<b:booktitle>Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence</b:booktitle>
	<b:pages>1638--1644</b:pages>
	<b:year>2016</b:year>
      </b:inproceedings>
      <b:article id="l21m2">
	<b:title>
	  Feature Selection With <h:eq>\ell_{2,1-2}</h:eq> Regularization
	</b:title>
	<b:volume>29</b:volume>
	<b:issn>2162-237X, 2162-2388</b:issn>
	<b:url>https://ieeexplore.ieee.org/document/8259312/</b:url>
	<b:doi>10.1109/TNNLS.2017.2785403</b:doi>
	<b:abstract>
	  Feature selection aims to select a subset of features from
	  high-dimensional data according to a predefined selecting
	  criterion. Sparse learning has been proven to be a powerful
	  technique in feature selection. Sparse regularizer, as a key
	  component of sparse learning, has been studied for several
	  years. Although convex regularizers have been used in many
	  works, there are some cases where nonconvex regularizers
	  outperform convex regularizers. To make the process of
	  selecting relevant features more effective, we propose a
	  novel nonconvex sparse metric on matrices as the sparsity
	  regularization in this paper. The new nonconvex regularizer
	  could be written as the difference of
	  the <h:eq>\ell_{2,1}</h:eq> norm and the
	  Frobenius <h:eq>\ell_{2,2}</h:eq> norm, which is named the
	  <h:eq>\ell_{2,1-2}</h:eq>. To find the solution of the
	  resulting nonconvex formula, we design an iterative
	  algorithm in the framework of ConCave–Convex Procedure
	  (CCCP) and prove its strong global convergence. An adopted
	  alternating direction method of multipliers is embedded to
	  solve the sequence of convex subproblems in CCCP
	  efficiently. Using the scaled cluster indictors of data
	  points as pseudolabels, we also
	  apply <h:eq>\ell_{2,1-2}</h:eq> to the unsupervised case. To
	  the best of our knowledge, it is the first work considering
	  nonconvex regularization for matrices in the unsupervised
	  learning scenario. Numerical experiments are performed on
	  realworld data sets to demonstrate the effectiveness of the
	  proposed method.
	</b:abstract>
	<b:language>en</b:language>
	<b:number>10</b:number>
	<b:urldate>2020-09-20</b:urldate>
	<b:journal>
	  IEEE Trans. Neural Netw. Learning Syst.
	</b:journal>
	<b:author>
	  Shi, Yong and Miao, Jianyu and Wang, Zhengyu and Zhang, Peng
	  and Niu, Lingfeng
	</b:author>
	<b:month>oct</b:month>
	<b:year>2018</b:year>
	<b:pages>4967--4982</b:pages>
      </b:article>
      <b:article id="li_convex_2013">
	<b:title>Convex and scalable weakly labeled svms</b:title>
	<b:volume>14</b:volume>
	<b:url>http://www.jmlr.org/papers/volume14/li13a/li13a.pdf</b:url>
	<b:number>1</b:number>
	<b:urldate>2017-10-09</b:urldate>
	<b:journal>The Journal of Machine Learning Research</b:journal>
	<b:author>
	  Li, Yu-Feng and Tsang, Ivor W. and Kwok, James T. and Zhou,
	  Zhi-Hua
	</b:author>
	<b:year>2013</b:year>
	<b:pages>2151--2188</b:pages>
      </b:article>
      <b:book id="basu_constrained_2009">
	<b:address>Boca Raton</b:address>
	<b:series>
	  Chapman &amp; Hall/CRC data mining and knowledge discovery
	  series
	</b:series>
	<b:title>
	  Constrained clustering: advances in algorithms, theory, and applications
	</b:title>
	<b:isbn>978-1-58488-996-0</b:isbn>
	<b:shorttitle>Constrained clustering</b:shorttitle>
	<b:publisher>CRC Press</b:publisher>
	<b:editor>
	  Basu, Sugato and Davidson, Ian and Wagstaff, Kiri Lou
	</b:editor>
	<b:year>2009</b:year>
	<b:note>OCLC: ocn144226504</b:note>
	<b:keywords>
	  Cluster analysis, Computer algorithms, Data mining, Data
	  processing
	</b:keywords>
	<b:annote>A Chapman &amp; Hall book."</b:annote>
      </b:book>
      <b:inproceedings id="joachims1999transductive">
	<b:title>
	  Transductive inference for text classification using support
	  vector machines
	</b:title>
	<b:author>Joachims, Thorsten</b:author>
	<b:booktitle>ICML</b:booktitle>
	<b:volume>99</b:volume>
	<b:pages>200--209</b:pages>
	<b:year>1999</b:year>
      </b:inproceedings>
      <b:inproceedings id="blum_learning_2001">
	<b:address>San Francisco, CA, USA</b:address>
	<b:series>ICML '01</b:series>
	<b:title>
	  Learning from Labeled and Unlabeled Data Using Graph Mincuts
	</b:title>
	<b:isbn>1-55860-778-1</b:isbn>
	<b:url>http://dl.acm.org/citation.cfm?id=645530.757779</b:url>
	<b:booktitle>
	  Proceedings of the Eighteenth International Conference on
	  Machine Learning
	</b:booktitle>
	<b:publisher>Morgan Kaufmann Publishers Inc.</b:publisher>
	<b:author>Blum, Avrim and Chawla, Shuchi</b:author>
	<b:year>2001</b:year>
	<b:pages>19--26</b:pages>
      </b:inproceedings>
      <b:article id="nigam2000text">
	<b:title>
	  Text classification from labeled and unlabeled documents
	  using EM
	</b:title>
	<b:author>
	  Nigam, Kamal and McCallum, Andrew Kachites and Thrun,
	  Sebastian and Mitchell, Tom
	</b:author>
	<b:journal>Machine learning</b:journal>
	<b:volume>39</b:volume>
	<b:number>2</b:number>
	<b:pages>103--134</b:pages>
	<b:year>2000</b:year>
	<b:publisher>Springer</b:publisher>
      </b:article>
      <b:article id="azriel_semi-supervised_2016">
	<b:title>Semi-Supervised linear regression</b:title>
	<b:journal>arXiv preprint arXiv:1612.02391</b:journal>
	<b:author>
	  Azriel, David and Brown, Lawrence D and Sklar, Michael and
	  Berk, Richard and Buja, Andreas and Zhao, Linda
	</b:author>
	<b:year>2016</b:year>
      </b:article>
      <b:inproceedings id="amini_semi-supervised_2002">
	<b:address>
	  Amsterdam, The Netherlands, The Netherlands
	</b:address>
	<b:series>ECAI'02</b:series>
	<b:title>
	  Semi-supervised Logistic Regression
	</b:title>
	<b:isbn>978-1-58603-257-9</b:isbn>
	<b:url>http://dl.acm.org/citation.cfm?id=3000905.3000988</b:url>
	<b:booktitle>
	  Proceedings of the 15th European Conference on Artificial
	  Intelligence
	</b:booktitle>
	<b:publisher>IOS Press</b:publisher>
	<b:author>Amini, Massih-Reza and Gallinari, Patrick</b:author>
	<b:year>2002</b:year>
	<b:keywords>
	  machine learning, semi-supervised learning
	</b:keywords>
	<b:pages>390--394</b:pages>
      </b:inproceedings>
      <b:techreport id="cai_semi-supervised_2006">
	<b:title>Semi-supervised regression using spectral techniques</b:title>
	<b:author>Cai, Deng and He, Xiaofei and Han, Jiawei</b:author>
	<b:year>2006</b:year>
      </b:techreport>
      <b:article id="zhou_semi-supervised_nodate">
	<b:title>
	  Semi-Supervised Regression with Co-Training
	</b:title>
	<!-- <b:abstract> -->
	<!--   In many practical machine learning and data mining -->
	<!--   applications, unlabeled training examples are readily -->
	<!--   available but labeled ones are fairly expensive to -->
	<!--   obtain. Therefore, semi-supervised learning algorithms such -->
	<!--   as co-training have attracted much attention. Previous -->
	<!--   research mainly focuses on semi-supervised -->
	<!--   classification. In this paper, a co-training style -->
	<!--   semi-supervised regression algorithm, i.e. COREG, is -->
	<!--   proposed. This algorithm uses two k-nearest neighbor -->
	<!--   regressors with different distance metrics, each of which -->
	<!--   labels the unlabeled data for the other regressor where the -->
	<!--   labeling confidence is estimated through consulting the -->
	<!--   influence of the labeling of unlabeled examples on the -->
	<!--   labeled ones. Experiments show that COREG can effectively -->
	<!--   exploit unlabeled data to improve regression estimates. -->
	<!-- </b:abstract> -->
	<b:language>en</b:language>
	<b:author>Zhou, Zhi-Hua and Li, Ming</b:author>
	<b:pages>6</b:pages>
      </b:article>
      <b:article id="ryan_semi-supervised_2015">
	<b:title>
	  On semi-supervised linear regression in covariate shift
	  problems.
	</b:title>
	<b:volume>16</b:volume>
	<b:url>http://www.jmlr.org/papers/volume16/ryan15a/ryan15a.pdf</b:url>
	<b:urldate>2017-10-10</b:urldate>
	<b:journal>Journal of Machine Learning Research</b:journal>
	<b:author>Ryan, Kenneth Joseph and Culp, Mark Vere</b:author>
	<b:year>2015</b:year>
	<b:pages>3183--3217</b:pages>
      </b:article>
      <b:article id="moscovich_minimax-optimal_nodate">
	<b:author>
	  Amit Moscovich and Ariel Jaffe and Boaz Nadler
	</b:author>
	<b:editor>
	  Aarti Singh and Xiaojin (Jerry) Zhu
	</b:editor>
	<b:title>
	  Minimax-optimal semi-supervised regression on unknown
	  manifolds
	</b:title>
	<b:booktitle>
	  Proceedings of the 20th International Conference on
	  Artificial Intelligence and Statistics
	</b:booktitle>
	<b:series>Proceedings of Machine Learning Research</b:series>
	<b:volume>54</b:volume>
	<b:pages>933--942</b:pages>
	<b:publisher>PMLR}</b:publisher>
	<b:year>2017</b:year>
      </b:article>
      <b:inproceedings id="ho1995random">
	<b:title>Random decision forests</b:title>
	<b:author>Ho, Tin Kam</b:author>
	<b:booktitle>
	  Proceedings of 3rd international conference on document
	  analysis and recognition
	</b:booktitle>
	<b:volume>1</b:volume>
	<b:pages>278--282</b:pages>
	<b:year>1995</b:year>
	<b:organization>IEEE</b:organization>
      </b:inproceedings>
      <b:article id="nusvm">
	<b:title>New support vector algorithms</b:title>
	<b:author>
	  Schölkopf, Bernhard and Smola, Alex J and Williamson, Robert
	  C and Bartlett, Peter L
	</b:author>
	<b:journal>Neural computation</b:journal>
	<b:volume>12</b:volume>
	<b:number>5</b:number>
	<b:pages>1207--1245</b:pages>
	<b:year>2000</b:year>
	<b:publisher>MIT Press</b:publisher>
      </b:article>
      <b:article id="davies2001factors">
	<b:title>
	  Factors influencing the structural deterioration and
	  collapse of rigid sewer pipes
	</b:title>
	<b:author>
	  Davies, JP and Clarke, BA and Whiter, JT and Cunningham, RJ
	</b:author>
	<b:journal>Urban water</b:journal>
	<b:volume>3</b:volume>
	<b:number>1-2</b:number>
	<b:pages>73--89</b:pages>
	<b:year>2001</b:year>
	<b:publisher>Elsevier</b:publisher>
      </b:article>
      <b:article id="ahmadi_2014_influence">
	<b:author>
	  Mehdi Ahmadi and Frédéric Cherqui and Jean-Christophe De
	  Massiac and Pascal Le Gauffre
	</b:author>
	<b:title>
	  Influence of available data on sewer inspection program
	  efficiency
	</b:title>
	<b:journal>Urban Water Journal</b:journal>
	<b:volume>11</b:volume>
	<b:number>8</b:number>
	<b:pages>641-656</b:pages>
	<b:year >2014</b:year>
	<b:doi>10.1080/1573062X.2013.831910</b:doi>
      </b:article>
      <b:article id="harvey2014predicting">
	<b:author>Harvey, Robert Richard and McBean, Edward Arthur</b:author>
	<b:title>
	  Predicting the structural condition of individual sanitary
	  sewer pipes with random forests
	</b:title>
	<b:journal>Canadian Journal of Civil Engineering</b:journal>
	<b:volume>41</b:volume>
	<b:number>4</b:number>
	<b:pages>294-303</b:pages>
	<b:year>2014</b:year>
	<b:doi>10.1139/cjce-2013-0431</b:doi>
	<b:url>https://doi.org/10.1139/cjce-2013-0431</b:url>
      </b:article>
      <b:article id="zhao_learning_2015">
	<b:title>
	  Learning from normalized local and global discriminative
	  information for semi-supervised regression and
	  dimensionality reduction
	</b:title>
	<b:volume>324</b:volume>
	<b:issn>00200255</b:issn>
	<b:url>http://linkinghub.elsevier.com/retrieve/pii/S0020025515004533</b:url>
	<b:doi>10.1016/j.ins.2015.06.021</b:doi>
	<b:language>en</b:language>
	<b:urldate>2018-08-14</b:urldate>
	<b:journal>Information Sciences</b:journal>
	<b:author>
	  Zhao, Mingbo and Chow, Tommy W.S. and Wu, Zhou and Zhang,
	  Zhao and Li, Bing
	</b:author>
	<b:month>dec</b:month>
	<b:year>2015</b:year>
	<b:pages>286--309</b:pages>
      </b:article>
      <b:article id="zhang2012trace">
	<b:title>
	  Trace ratio optimization-based semi-supervised nonlinear
	  dimensionality reduction for marginal manifold visualization
	</b:title>
	<b:author>
	  Zhang, Zhao and Chow, Tommy WS and Zhao, Mingbo
	</b:author>
	<b:journal>
	  IEEE Transactions on Knowledge and Data Engineering
	</b:journal>
	<b:volume>25</b:volume>
	<b:number>5</b:number>
	<b:pages>1148--1161</b:pages>
	<b:year>2012</b:year>
	<b:publisher>IEEE</b:publisher>
      </b:article>
      <b:inproceedings id="gasse_optimality_2015">
	<b:address>Lille, France</b:address>
	<b:series>Journal of Machine Learning Reasearch Proceedings</b:series>
	<b:title>On the Optimality of Multi-Label Classification under Subset Zero-One Loss for Distributions Satisfying the Composition Property</b:title>
	<b:volume>37</b:volume>
	<b:url>https://hal.archives-ouvertes.fr/hal-01234346</b:url>
	<b:booktitle>International Conference on Machine Learning</b:booktitle>
	<b:author>Gasse, Maxime and Aussem, Alex and Elghazel, Haytham</b:author>
	<b:editor>Bach, Francis R. and Blei, David M.</b:editor>
	<b:month>jul</b:month>
	<b:year>2015</b:year>
	<b:pages>2531--2539</b:pages>
      </b:inproceedings>
      <b:article id="borchani_survey_2015">
	<b:title>A survey on multi-output regression</b:title>
	<b:volume>5</b:volume>
	<b:url>http://onlinelibrary.wiley.com/doi/10.1002/widm.1157/full</b:url>
	<b:number>5</b:number>
	<b:urldate>2017-10-11</b:urldate>
	<b:journal>Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery</b:journal>
	<b:author>Borchani, Hanen and Varando, Gherardo and Bielza, Concha and Larrañaga, Pedro</b:author>
	<b:year>2015</b:year>
	<b:pages>216--233</b:pages>
      </b:article>
      <b:article id="read2011classifier">
	<b:title>Classifier chains for multi-label classification</b:title>
	<b:author>Read, Jesse and Pfahringer, Bernhard and Holmes, Geoff and Frank, Eibe</b:author>
	<b:journal>Machine learning</b:journal>
	<b:volume>85</b:volume>
	<b:number>3</b:number>
	<b:pages>333</b:pages>
	<b:year>2011</b:year>
	<b:publisher>Springer</b:publisher>
      </b:article>
      <b:article id="liu_easy--hard_2017">
	<b:title>An easy-to-hard learning paradigm for multiple classes and multiple labels</b:title>
	<b:volume>18</b:volume>
	<b:number>1</b:number>
	<b:journal>The Journal of Machine Learning Research</b:journal>
	<b:author>Liu, Weiwei and Tsang, Ivor W. and Müller, Klaus-Robert</b:author>
	<b:year>2017</b:year>
	<b:pages>3300--3337</b:pages>
      </b:article>
      <b:inproceedings id="yu_learning_2005">
	<b:title>Learning Gaussian processes from multiple tasks</b:title>
	<b:booktitle>Proceedings of the 22nd international conference on Machine learning</b:booktitle>
	<b:publisher>ACM</b:publisher>
	<b:author>Yu, Kai and Tresp, Volker and Schwaighofer, Anton</b:author>
	<b:year>2005</b:year>
	<b:pages>1012--1019</b:pages>
      </b:inproceedings>
      <b:incollection id="chen_feature-aware_2012">
	<b:title>Feature-aware Label Space Dimension Reduction for Multi-label Classification</b:title>
	<b:url>http://papers.nips.cc/paper/4561-feature-aware-label-space-dimension-reduction-for-multi-label-classification.pdf</b:url>
	<b:booktitle>Advances in Neural Information Processing Systems 25</b:booktitle>
	<b:publisher>Curran Associates, Inc.</b:publisher>
	<b:author>Chen, Yao-nan and Lin, Hsuan-tien</b:author>
	<b:editor>Pereira, F. and Burges, C. J. C. and Bottou, L. and Weinberger, K. Q.</b:editor>
	<b:year>2012</b:year>
	<b:pages>1529--1537</b:pages>
      </b:incollection>
      <b:inproceedings id="luo_adaptive_2017">
	<b:title>Adaptive Semi-Supervised Learning with Discriminative Least Squares Regression</b:title>
	<b:isbn>978-0-9992411-0-3</b:isbn>
	<b:url>https://www.ijcai.org/proceedings/2017/337</b:url>
	<b:doi>10.24963/ijcai.2017/337</b:doi>
	<b:language>en</b:language>
	<b:urldate>2017-10-10</b:urldate>
	<b:publisher>International Joint Conferences on Artificial Intelligence Organization</b:publisher>
	<b:author>Luo, Minnan and Zhang, Lingling and Nie, Feiping and Chang, Xiaojun and Qian, Buyue and Zheng, Qinghua</b:author>
	<b:month>aug</b:month>
	<b:year>2017</b:year>
	<b:pages>2421--2427</b:pages>
      </b:inproceedings>
      <b:article id="agd">
	<b:author>Nesterov, Yu</b:author>
	<b:year>2007</b:year>
	<b:month>01</b:month>
	<b:pages></b:pages>
	<b:title>
	  Gradient methods for minimizing composite functions
	</b:title>
	<b:volume>140</b:volume>
	<b:journal>
	  Université catholique de Louvain, Center for Operations
	  Research and Econometrics (CORE), CORE Discussion Papers
	</b:journal>
	<b:doi>10.1007/s10107-012-0629-</b:doi>
      </b:article>
      <b:article id="randomsearch">
	<b:author>James Bergstra and Yoshua Bengio</b:author>
	<b:title>Random Search for Hyper-Parameter Optimization</b:title>
	<b:journal>Journal of Machine Learning Research</b:journal>
	<b:year>2012</b:year>
	<b:volume>13</b:volume>
	<b:number>10</b:number>
	<b:pages>281-305</b:pages>
	<b:url>http://jmlr.org/papers/v13/bergstra12a.html</b:url>
      </b:article>
      <b:article id="demsar_statistical_2006">
	<b:title>Statistical Comparisons of Classifiers over Multiple Data Sets</b:title>
	<b:volume>7</b:volume>
	<b:issn>1532-4435</b:issn>
	<b:url>http://dl.acm.org/citation.cfm?id=1248547.1248548</b:url>
	<b:journal>Journal of machine learning research</b:journal>
	<b:author>Demšar, Janez</b:author>
	<b:month>dec</b:month>
	<b:year>2006</b:year>
	<b:pages>1--30</b:pages>
      </b:article>
      <b:inproceedings id="robust">
        <b:author>Chen, Jianhui and Zhou, Jiayu and Ye, Jieping</b:author>
        <b:year>2011</b:year>
        <b:month>08</b:month>
        <b:pages>42--50</b:pages>
        <b:title>
          Integrating low-rank and group-sparse structures for robust
          multi-task learning
        </b:title>
        <b:doi>10.1145/2020408.2020423</b:doi>
        <b:booktitle>
          Proceedings of the 17th ACM SIGKDD International Conference
          on Knowledge Discovery and Data Mining
        </b:booktitle>
      </b:inproceedings>
      <b:article id="sfus">
        <b:title>
          Web image annotation via subspace-sparsity collaborated
          feature selection
        </b:title>
        <b:author>
          Ma, Zhigang
          and Nie, Feiping
          and Yang, Yi
          and Uijlings, Jasper RR
          and Sebe, Nicu
        </b:author>
        <b:journal>IEEE Transactions on Multimedia</b:journal>
        <b:volume>14</b:volume>
        <b:number>4</b:number>
        <b:pages>1021--1030</b:pages>
        <b:year>2012</b:year>
        <b:publisher>IEEE</b:publisher>
      </b:article>
      <b:incollection id="rfs">
	<b:title>
          Efficient and Robust Feature Selection via
          Joint <h:eq>\ell_{2,1}</h:eq>-Norms Minimization
        </b:title>
	<b:url>http://papers.nips.cc/paper/3988-efficient-and-robust-feature-selection-via-joint-l21-norms-minimization.pdf</b:url>
	<b:booktitle>
          Advances in Neural Information Processing Systems 23
        </b:booktitle>
	<b:publisher>Curran Associates, Inc.</b:publisher>
	<b:author>
          Nie, Feiping 
          and Huang, Heng 
          and Cai, Xiao 
          and Ding, Chris H.
        </b:author>
	<b:editor>
          Lafferty, J. D. 
          and Williams, C. K. I. 
          and Shawe-Taylor, J. 
          and Zemel, R. S. 
          and Culotta, A.
        </b:editor>
	<b:year>{2010}</b:year>
	<b:pages>{1813--1821}</b:pages> 
      </b:incollection>
      <b:article id="lanczos">
        <b:author>Lanczos, Cornelius</b:author>
        <b:year>1950</b:year>
        <b:month>10</b:month>
        <b:pages></b:pages>
        <b:title>
          An Iteration Method for the solution of the Eigenvalue
          Problem of Linear Differential and Integral Operators
        </b:title>
        <b:volume>45</b:volume>
        <b:journal>
          Journal of Research of the National Bureau of Standards
        </b:journal>
        <b:doi>10.6028/jres.045.026</b:doi>
      </b:article>
      <b:article id="Breiman1996">
        <b:author>Breiman, Leo</b:author>
        <b:title>Bagging Predictors</b:title>
        <b:journal>Machine Learning</b:journal>
        <b:year>1996</b:year>
        <b:month>Aug</b:month>
        <!-- <b:day>01</b:day> -->
        <b:volume>24</b:volume>
        <b:number>2</b:number>
        <b:pages>123-140</b:pages>
        <b:abstract>
          Bagging predictors is a method for generating multiple
          versions of a predictor and using these to get an aggregated
          predictor. The aggregation averages over the versions when
          predicting a numerical outcome and does a plurality vote
          when predicting a class. The multiple versions are formed by
          making bootstrap replicates of the learning set and using
          these as new learning sets. Tests on real and simulated data
          sets using classification and regression trees and subset
          selection in linear regression show that bagging can give
          substantial gains in accuracy. The vital element is the
          instability of the prediction method. If perturbing the
          learning set can cause significant changes in the predictor
          constructed, then bagging can improve accuracy.
        </b:abstract>
        <b:issn>1573-0565</b:issn>
        <b:doi>10.1023/A:1018054314350</b:doi>
        <b:url>https://doi.org/10.1023/A:1018054314350</b:url>
      </b:article>
      <b:article id="stacking">
        <b:author>Wolpert, David</b:author>
        <b:year>1992</b:year>
        <b:month>12</b:month>
        <b:pages>241-259</b:pages>
        <b:title>Stacked Generalization</b:title>
        <b:volume>5</b:volume>
        <b:journal>Neural Networks</b:journal>
        <b:doi>10.1016/S0893-6080(05)80023-1</b:doi>
      </b:article>
      <b:article id="alexnet">
        <b:title>Imagenet classification with deep convolutional neural networks</b:title>
        <b:author>Krizhevsky, Alex and Sutskever, Ilya and Hinton, Geoffrey E</b:author>
        <b:journal>Communications of the ACM</b:journal>
        <b:volume>60</b:volume>
        <b:number>6</b:number>
        <b:pages>84--90</b:pages>
        <b:year>2017</b:year>
        <b:publisher>ACM New York, NY, USA</b:publisher>
      </b:article>
      <b:book id="arpack">
        <b:title>
          ARPACK users' guide: solution of large-scale eigenvalue
          problems with implicitly restarted Arnoldi methods
        </b:title>
        <b:author>Lehoucq, Richard B and Sorensen, Danny C and Yang, Chao</b:author>
        <b:year>1998</b:year>
        <b:publisher>SIAM</b:publisher>
</b:book>
    </h:bibliography>
  </body>
</html>