Skip to content

Commit 46546bf

Browse files
GalOshrieerhardt
authored andcommitted
Add release notes for ML.NET 0.3 (dotnet#476)
1 parent ed3893e commit 46546bf

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

docs/release-notes/0.3/release-0.3.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# ML.NET 0.3 Release Notes
2+
3+
Today we are releasing ML.NET 0.3. This release focuses on adding components
4+
to ML.NET from the internal codebase (such as Factorization Machines,
5+
LightGBM, Ensembles, and LightLDA), enabling export to the ONNX model format,
6+
and bug fixes.
7+
8+
### Installation
9+
10+
ML.NET supports Windows, MacOS, and Linux. See [supported OS versions of .NET
11+
Core
12+
2.0](https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md)
13+
for more details.
14+
15+
You can install ML.NET NuGet from the CLI using:
16+
```
17+
dotnet add package Microsoft.ML
18+
```
19+
20+
From package manager:
21+
```
22+
Install-Package Microsoft.ML
23+
```
24+
25+
### Release Notes
26+
27+
Below are some of the highlights from this release.
28+
29+
* Added Field-Aware Factorization Machines (FFM) as a learner for binary
30+
classification (#383)
31+
32+
* FFM is useful for various large sparse datasets, especially in areas
33+
such as recommendations and click prediction. It has been used to win
34+
various click prediction competitions such as the [Criteo Display
35+
Advertising Challenge on
36+
Kaggle](https://www.kaggle.com/c/criteo-display-ad-challenge). You can
37+
learn more about the winning solution
38+
[here](https://www.csie.ntu.edu.tw/~r01922136/kaggle-2014-criteo.pdf).
39+
* FFM is a streaming learner so it does not require the entire dataset to
40+
fit in memory.
41+
* You can learn more about FFM
42+
[here](http://www.csie.ntu.edu.tw/~cjlin/papers/ffm.pdf) and some of the
43+
speedup approaches that are used in ML.NET
44+
[here](https://github.com/wschin/fast-ffm/blob/master/fast-ffm.pdf).
45+
46+
* Added [LightGBM](https://github.com/Microsoft/LightGBM) as a learner for
47+
binary classification, multiclass classification, and regression (#392)
48+
49+
* LightGBM is a tree based gradient boosting machine. It is under the
50+
umbrella of the [DMTK](http://github.com/microsoft/dmtk) project at
51+
Microsoft.
52+
* The LightGBM repository shows various [comparison
53+
experiments](https://github.com/Microsoft/LightGBM/blob/6488f319f243f7ff679a8e388a33e758c5802303/docs/Experiments.rst#comparison-experiment)
54+
that show good accuracy and speed, so it is a great learner to try out.
55+
It has also been used in winning solutions in various [ML
56+
challenges](https://github.com/Microsoft/LightGBM/blob/a6e878e2fc6e7f545921cbe337cc511fbd1f500d/examples/README.md).
57+
* This addition wraps LightGBM and exposes it in ML.NET.
58+
* Note that LightGBM can also be used for ranking, but the ranking
59+
evaluator is not yet exposed in ML.NET.
60+
61+
* Added Ensemble learners for binary classification, multiclass
62+
classification, and regression (#379)
63+
64+
* [Ensemble learners](https://en.wikipedia.org/wiki/Ensemble_learning)
65+
enable using multiple learners in one model. As an example, the Ensemble
66+
learner could train both `FastTree` and `AveragedPerceptron` and average
67+
their predictions to get the final prediction.
68+
* Combining multiple models of similar statistical performance may lead to
69+
better performance than each model separately.
70+
71+
* Added LightLDA transform for topic modeling (#377)
72+
73+
* LightLDA is an implementation of [Latent Dirichlet
74+
Allocation](https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation)
75+
which infers topical structure from text data.
76+
* The implementation of LightLDA in ML.NET is based on [this
77+
paper](https://arxiv.org/abs/1412.1576). There is a distributed
78+
implementation of LightLDA
79+
[here](https://github.com/Microsoft/lightlda).
80+
81+
* Added One-Versus-All (OVA) learner for multiclass classification (#363)
82+
83+
* [OVA](https://en.wikipedia.org/wiki/Multiclass_classification#One-vs.-rest)
84+
(sometimes known as One-Versus-Rest) is an approach to using binary
85+
classifiers in multiclass classification problems.
86+
* While some binary classification learners in ML.NET natively support
87+
multiclass classification (e.g. Logistic Regression), there are others
88+
that do not (e.g. Averaged Perceptron). OVA enables using the latter
89+
group for multiclass classification as well.
90+
91+
* Enabled export of ML.NET models to the [ONNX](https://onnx.ai/) format
92+
(#248)
93+
94+
* ONNX is a common format for representing deep learning models (also
95+
supporting certain other types of models) which enables developers to
96+
move models between different ML toolkits.
97+
* ONNX models can be used in [Windows
98+
ML](https://docs.microsoft.com/en-us/windows/uwp/machine-learning/overview)
99+
which enables evaluating models on Windows 10 devices and taking
100+
advantage of capabilities like hardware acceleration.
101+
* Currently, only a subset of ML.NET components can be used in a model
102+
that is converted to ONNX.
103+
104+
Additional issues closed in this milestone can be found
105+
[here](https://github.com/dotnet/machinelearning/milestone/2?closed=1).
106+
107+
### Acknowledgements
108+
109+
Shoutout to [pkulikov](https://github.com/pkulikov),
110+
[veikkoeeva](https://github.com/veikkoeeva),
111+
[ross-p-smith](https://github.com/ross-p-smith),
112+
[jwood803](https://github.com/jwood803),
113+
[Nepomuceno](https://github.com/Nepomuceno), and the ML.NET team for their
114+
contributions as part of this release!

0 commit comments

Comments
 (0)