IDL의 최신 버전인 8.7.1이 며칠 전에 출시되었습니다. 이번 버전의 추가 및 업데이트 사항들에 대해서는 아래 링크의 Release Notes에서 보실 수 있습니다.
사실 버전 번호로만 보면 8.7의 SP1(Service Pack 1)에 해당되기 때문에 숫자로만 보면 마이너 업데이트 정도일 것처럼 보이는데, 한가지 주목할만한 것이 바로 머신러닝(Machine Learning) 기능이 처음으로 도입되었다는 것입니다. 시대적 흐름으로 보면 다소 늦은 감은 있지만 그래도 지금이라도 이렇게 대대적으로 도입된 것은 반가운 소식이라 생각합니다. 위 링크의 내용에서는 이와 관련하여 간략하게만 언급되어 있는데, IDL 8.7.1의 도움말에 있는 머신러닝 관련 모듈들의 목록은 다음과 같습니다. 이 내용은 Routines (by Topic)의 Machine Learning 섹션에 수록되어 있습니다.
Models, Classifiers, and Test Classifier
IDLmlAutoEncoder: Implements an autoencoder model that can be used for clustering purposes.
IDLmlFeedForwardNeuralNetwork: Implements a Neural Network model that can be used for classification purposes.
IDLmlKMeans: Implements a K-means model that can be used for clustering purposes.
IDLmlSoftmax: Iimplements a Softmax model that can be used for classification purposes.
IDLmlSupportVectorMachineClassification: Implements an SVM model that can be used for classification purposes.
IDLmlSupportVectorMachineRegression: Implements an SVM model that can be used for regression purposes.
IDLmlTestClassifier: Computes a confusion matrix and other metrics that indicate how well a model trained as a classifier performed against the test data.
Partition and Shuffle
IDLmlPartition: Partitions data so that it can be separated into two or more groups.
IDLmlShuffle: Shuffles features and values to create a random reordering of training data used for machine learning applications.
Normalizers
IDLmlLinearNormalizer: Implements a linear normalizer using the formula dataOut = dataIn * scale + offset.
IDLmlRangeNormalizer: Implements a normalizer that will scale data to have a range of 1.
IDLmlTanHNormalizer: Implements a Hyperbolic Tangent Normalizer which maps the data to the Tanh of the data. The normalized data will be confined to the range (-1, +1).
IDLmlUnitNormalizer: Implements a normalizer that will scale data to have a range of 1.
IDLmlVarianceNormalizer: Implements a normalizer that will scale data to have a mean of 0 and a standard deviation of 1, regardless of range.
Optimizers
Optimization algorithms are used by neural networks to help minimize an error function by modifying the model’s internal learnable parameters.
Activation Functions
Activation functions are a mathematical tool used in machine learning to impart non-linearities into linear systems.
Kernels
The Kernel classes encapsulate SVM (Support Vector Machine) parameters that help define a kernel.
Loss Functions
Loss functions are a mathematical function that must be minimized to achieve convergence.
각 모듈별 자세한 내용은 IDL 8.7.1에서 직접 확인해보시면 됩니다. 저도 아직 이 기능들을 사용해본 것은 아니라서 일단 소개만 이렇게 드려봅니다. 어쨌든 머신러닝에 관심있으신 IDL 유저들께서는 이 기능들을 한번 사용해보실 것을 권장드려봅니다.
'IDL > General' 카테고리의 다른 글
| IDL 라이센스의 임시 대여(?) 방법 (0) | 2019.04.04 |
|---|---|
| IDL 8.7.2 출시 (0) | 2019.02.18 |
| Introduction to ENVI Analytics Online 교육 안내 (0) | 2018.07.05 |
| New Graphics in IDL 교육 안내 (신청 마감) (0) | 2018.07.03 |
| Extending ENVI with IDL 교육 안내 (0) | 2018.04.17 |