생활코딩 : 머신러닝 야학 2. 1

머신러닝야학2기 - 텐서플로우 Javascript (2)


DAY 2 : ~나의 모델 만들기



강의 1
  1. 과거의 데이터 준비

    var 온도 = [20,21,22,23];

    var 판매량 = [40,42,44,46];

    텐서플로우는 배열을 ‘텐서’로 변환해야 한다.

    var 원인 = tf.tensor(온도);

    var 결과 = tf.tensor(판매량);

  2. 모델의 모양을 만든다

    var X = tf.input({ shape: [1] });

    var Y = tf.layers.dense( { units: 1 } ).apply(x);

    var model = tf.model({ inputs: X, outputs: Y });

    var complieParam = {optimizer: tf.train.adam), loss: tf.losses.meanSquaredError}

    model.compile(compileParam);

  3. 데이터로 모델을 학습(FIT) 한다.

    var fitParam = {epochs:100}

    model.fit(원인, 결과, ).then(funtion(result){

    var 다음주온도 = [15,16,17,18,19]

    var 다음주원인 = tf.tensor(다음주온도,[다음주온도.length,1]);

    var 다음주결과 = model.predict(다음주원인);

    다음주결과.print();

    });

  4. 모델을 이용한다.

model

강의 2


텐서플로우 설정하기

강의 3


지도학습을 하기 위해서는 데이터를 원인(독립변수)과 결과(종속변수)로 구분해야 한다

코드로는 이렇게 표현한다.

var 온도 = [20,21,22,23];
var 판매량 = [40,42,44,46];

텐서플로우에서는 이렇게 변환해줘야한다.

var 원인 = tf.tensor(온도);
var 결과 = tf.tensor(판매량);
// 1. 과거의 데이터를 준비합니다. 
        var 온도 = [20,21,22,23];
        var 판매량 = [40,42,44,46];
        var 원인 = tf.tensor(온도);
        var 결과 = tf.tensor(판매량);
강의 4


모델의 모양 만들기

// 2. 모델의 모양을 만듭니다. 
        var X = tf.input({ shape: [1] });
        var Y = tf.layers.dense({ units: 1 }).apply(X);
        var model = tf.model({ inputs: X, outputs: Y });
        var compileParam = { optimizer: tf.train.adam(), loss: tf.losses.meanSquaredError }
        model.compile(compileParam);
강의 5


모델의 실제 내용이 되는 수학적 공식 만들기 - FIT

epochs 값만큼 학습을 반복한다.

// 3. 데이터로 모델을 학습시킵니다. 
        var fitParam = { epochs: 100} 
        var fitParam = { epochs: 100, callbacks:{onEpochEnd:function(epoch, logs){console.log('epoch', epoch, logs);}}} // loss 추가 예제
        model.fit(원인, 결과, fitParam).then(function (result) {
            
         });
강의 6


predict(원인)에 우리가 학습 시킬 때 사용했던 온도 데이터를 넣어준다.

// 3. 데이터로 모델을 학습시킵니다. 
        var fitParam = { epochs: 100} 
        var fitParam = { epochs: 100, callbacks:{onEpochEnd:function(epoch, logs){console.log('epoch', epoch, logs);}}} // loss 추가 예제
        model.fit(원인, 결과, fitParam).then(function (result) {
            
            // 4. 모델을 이용합니다. 
            // 4.1 기존의 데이터를 이용
            var 예측한결과 = model.predict(원인);
            예측한결과.print();

        // });  

        // 4.2 새로운 데이터를 이용
        var 다음주온도 = [15,16,17, 18, 19]
        var 다음주원인 = tf.tensor(다음주온도);
        var 다음주결과 = model.predict(다음주원인);
        다음주결과.print();




Made with by Álvaro