Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

示例 1 模型


随机化数据

在训练之前始终随机化数据。

当训练模型时,数据会被分成小的集合(批次)。然后,每个批次都会被送入模型。随机化很重要,可以防止模型反复获取相同的数据。如果两次使用相同的数据,模型将无法泛化数据并给出正确的输出。随机化在每个批次中提供更多样的数据。

示例

tf.util.shuffle(data);

TensorFlow 张量

要使用 TensorFlow,输入数据需要转换为张量数据

// 将 x 值映射到张量输入
const inputs = values.map(obj => obj.x);
// 将 y 值映射到张量标签
const labels = values.map(obj => obj.y);

// 将输入和标签转换为 2D 张量
const inputTensor = tf.tensor2d(inputs, [inputs.length, 1]);
const labelTensor = tf.tensor2d(labels, [labels.length, 1]);

数据归一化

数据在被用于神经网络之前应该进行归一化。

对于数值数据,使用最小-最大方法得到 0 - 1 的范围通常是最好的

const inputMin = inputTensor.min();
const inputMax = inputTensor.max();
const labelMin = labelTensor.min();
const labelMax = labelTensor.max();
const nmInputs = inputTensor.sub(inputMin).div(inputMax.sub(inputMin));
const nmLabels = labelTensor.sub(labelMin).div(labelMax.sub(labelMin));


Tensorflow 模型

机器学习模型是一种从输入生成输出的算法。

此示例使用 3 行定义一个ML 模型

const model = tf.sequential();
model.add(tf.layers.dense({inputShape: [1], units: 1, useBias: true}));
model.add(tf.layers.dense({units: 1, useBias: true}));

顺序 ML 模型

const model = tf.sequential(); 创建一个顺序 ML 模型

在顺序模型中,输入直接流向输出。其他模型可以有多个输入和多个输出。顺序是最简单的 ML 模型。它允许您逐层构建模型,权重对应于下一层。

TensorFlow 层

model.add() 用于向模型添加两层。

tf.layer.dense 是一种在大多数情况下都能使用的层类型。它将输入乘以权重矩阵,并向结果添加一个数字(偏差)。

形状和单元

inputShape: [1] 因为我们有 1 个输入 (x = 马力)。

units: 1 定义权重矩阵的大小:每个输入(x 值)有 1 个权重。


编译模型

使用指定的优化器损失函数编译模型

model.compile({loss: 'meanSquaredError', optimizer:'sgd'});

编译器设置为使用sgd 优化器。它使用简单且非常有效。

meanSquaredError 是我们想要用来比较模型预测和真实值的函数。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.