IDL/General

IDL 8.7.1 출시

이상우_IDL 2018. 9. 27. 13:40
728x90

IDL의 최신 버전인 8.7.1이 며칠 전에 출시되었습니다. 이번 버전의 추가 및 업데이트 사항들에 대해서는 아래 링크의 Release Notes에서 보실 수 있습니다.


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.

IDLmloptAdam

IDLmloptGradientDescent

IDLmloptMomentum

IDLmloptQuickProp

IDLmloptRMSProp

Activation Functions

Activation functions are a mathematical tool used in machine learning to impart non-linearities into linear systems.

IDLmlafArcTan

IDLmlafBentIdentity

IDLmlafBinaryStep

IDLmlafELU

IDLmlafGaussian

IDLmlafIdentity

IDLmlafISRLU

IDLmlafISRU

IDLmlafLogistic

IDLmlafPReLU

IDLmlafReLU

IDLmlafSinc

IDLmlafSinusoid

IDLmlafSoftExponential

IDLmlafSoftmax

IDLmlafSoftPlus

IDLmlafSoftSign

IDLmlafTanH

Kernels

The Kernel classes encapsulate SVM (Support Vector Machine) parameters that help define a kernel.

IDLmlSVMLinearKernel

IDLmlSVMPolynomialKernel

IDLmlSVMRadialKernel

IDLmlSVMSigmoidKernel

Loss Functions

Loss functions are a mathematical function that must be minimized to achieve convergence.

IDLmllfCrossEntropy

IDLmllfHuber

IDLmllfLogCosh

IDLmllfMeanAbsoluteError

IDLmllfMeanSquaredError


각 모듈별 자세한 내용은 IDL 8.7.1에서 직접 확인해보시면 됩니다. 저도 아직 이 기능들을 사용해본 것은 아니라서 일단 소개만 이렇게 드려봅니다. 어쨌든 머신러닝에 관심있으신 IDL 유저들께서는 이 기능들을 한번 사용해보실 것을 권장드려봅니다.


LIST