단순한 hidden layer 없이 단순한 모델은 아래처럼 작성한다.
y = w1 * x1 + w2 * x2 + b
// 모델의 모양을 만듭니다.
const X = tf.input({ shape: [13] }); // lf 객체. 인자가 12개이므로 shape가 13
const Y = tf.layers.dense({ units: 1 }).apply(X); // lf 객체. 도출하고자 하는 값이 1개이므로 units이 1
const bostenPredictModel = tf.model({ inputs: X, outputs: Y }); // e 객체
bostenPredictModel.compile({
optimizer: tf.train.adam(),
loss: tf.losses.meanSquaredError,
});
여기서 layer를 하나 더 추가하여 deep learning POC를 만들어보자.
// 모델의 모양을 만듭니다.
const X = tf.input({ shape: [13] }); // lf 객체. 인자가 12개이므로 shape가 13
const H1 = tf.layers.dense({ units: 8, activation: "relu" }).apply(X); // hidden layer 추가. 은닉층에 둘 node 갯수는 input layer < n < output layer
const H2 = tf.layers.dense({ units: 4, activation: "relu" }).apply(H1); // hidden layer 추가. 은닉층에 둘 node 갯수는 input layer < n < output layer
const Y = tf.layers.dense({ units: 1 }).apply(H2); // lf 객체. 도출하고자 하는 값이 1개이므로 units이 1
const bostenPredictModel = tf.model({ inputs: X, outputs: Y }); // e 객체
bostenPredictModel.compile({
optimizer: tf.train.adam(),
loss: tf.losses.meanSquaredError,
});
hidden layer에는 적절한 activation 함수(활성화 함수)를 적용해줍시다. If unspecified, no activation is applied.
export declare type ActivationIdentifier =
'elu' | 'hardSigmoid' | 'linear' | 'relu' | 'relu6' | 'selu' | 'sigmoid' | 'softmax' | 'softplus' | 'softsign' | 'tanh';
'🤖 ML in browser > 🧱 TensorFlow.js' 카테고리의 다른 글
보스턴 집값 예측을 tensorflow.js로 해보자 (0) | 2021.01.08 |
---|---|
TensorFlow.js 찍먹하기 (0) | 2021.01.08 |