predict
클래스: Autoencoder
훈련된 오토인코더를 사용하여 입력값 재생성
입력 인수
autoenc
— 훈련된 오토인코더
Autoencoder
객체
훈련된 오토인코더로, Autoencoder
클래스의 객체로 반환됩니다.
Xnew
— 입력 데이터
행렬 | 영상 데이터로 구성된 셀형 배열 | 단일 영상 데이터로 구성된 배열
입력 데이터로, 샘플로 구성된 행렬, 영상 데이터로 구성된 셀형 배열 또는 단일 영상 데이터로 구성된 배열로 지정됩니다.
오토인코더 autoenc
가 각 열이 하나의 샘플을 나타내는 행렬에 대해 훈련된 경우, Xnew
는 각 열이 하나의 샘플을 나타내는 행렬이 되어야 합니다.
오토인코더 autoenc
가 영상으로 구성된 셀형 배열에 대해 훈련된 경우, Xnew
는 영상 데이터로 구성된 셀형 배열 또는 단일 영상 데이터로 구성된 배열이 되어야 합니다.
데이터형: single
| double
| cell
출력 인수
Y
— 입력 데이터 Xnew
에 대한 예측값
행렬 | 영상 데이터로 구성된 셀형 배열 | 단일 영상 데이터로 구성된 배열
입력 데이터 Xnew
에 대한 예측값으로, 영상 데이터로 구성된 행렬 또는 셀형 배열로 반환됩니다.
Xnew
가 행렬인 경우,Y
도 행렬이 됩니다. 여기서 각 열은 단일 샘플(관측값 또는 예)에 대응됩니다.Xnew
가 영상 데이터로 구성된 셀형 배열인 경우,Y
도 영상 데이터로 구성된 셀형 배열이 됩니다. 여기서 각 셀은 단일 영상에 대한 데이터를 포함합니다.Xnew
가 단일 영상 데이터로 구성된 배열인 경우,Y
도 단일 영상 데이터로 구성된 배열이 됩니다.
예제
훈련된 오토인코더를 사용하여 연속 측정값 예측하기
훈련 데이터를 불러옵니다.
X = iris_dataset;
훈련 데이터는 붓꽃의 4가지 특성에 대한 측정값을 포함합니다. 4가지 특성은 꽂받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비입니다.
인코더에서 양의 포화 선형 전달 함수를 사용하고 디코더에서 선형 전달 함수를 사용하여 훈련 데이터에 대해 오토인코더를 훈련시킵니다.
autoenc = trainAutoencoder(X,'EncoderTransferFunction',... 'satlin','DecoderTransferFunction','purelin');
훈련된 신경망 autoenc
를 사용하여 측정값을 재생성합니다.
xReconstructed = predict(autoenc,X);
예측된 측정값을 훈련 데이터셋의 실제 값과 함께 플로팅합니다.
for i = 1:4 h(i) = subplot(1,4,i); plot(X(i,:),'r.'); hold on plot(xReconstructed(i,:),'go'); hold off; end title(h(1),{'Sepal';'Length'}); title(h(2),{'Sepal';'Width'}); title(h(3),{'Petal';'Length'}); title(h(4),{'Petal';'Width'});
빨간색 점은 훈련 데이터를 나타내고 녹색 원은 재생성된 데이터를 나타냅니다.
희소 오토인코더를 사용하여 손으로 쓴 숫자 영상 재생성하기
훈련 데이터를 불러옵니다.
XTrain = digitTrainCellArrayData;
훈련 데이터는 각 셀에 손으로 쓴 숫자를 표현한 합성 영상을 나타내는 28×28 행렬이 있는 1×5,000 셀형 배열입니다.
25개의 뉴런을 포함하는 은닉 계층 1개를 갖는 오토인코더를 훈련시킵니다.
hiddenSize = 25; autoenc = trainAutoencoder(XTrain,hiddenSize,... 'L2WeightRegularization',0.004,... 'SparsityRegularization',4,... 'SparsityProportion',0.15);
테스트 데이터를 불러옵니다.
XTest = digitTestCellArrayData;
테스트 데이터는 각 셀에 손으로 쓴 숫자를 표현한 합성 영상을 나타내는 28×28 행렬이 있는 1×5,000 셀형 배열입니다.
훈련된 오토인코더 autoenc
를 사용하여 테스트 영상 데이터를 재생성합니다.
xReconstructed = predict(autoenc,XTest);
실제 테스트 데이터를 표시합니다.
figure; for i = 1:20 subplot(4,5,i); imshow(XTest{i}); end
재생성한 테스트 데이터를 표시합니다.
figure; for i = 1:20 subplot(4,5,i); imshow(xReconstructed{i}); end
버전 내역
R2015b에 개발됨
참고 항목
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)