027-机器学习背后的思维-针对入门小白的概念算法及工具的朴素思考

10.2 第一步:设计函数集合(模型)

因为输入是两个量面积和房间个数, 所以我们定义的一个简单的二元线性模型 为:
y = w 1 x 1 + w 2 x 2 + b = w 1 x 1 + w 2 x 2 + w 0 x 0 = X 1 × 3 W 3 × 1 y = w_1x_1 + w_2x_2 +b = w_1x_1 + w_2x_2 +w_0x_0 = X_{1\times 3}W_{3\times 1} y=w1x1+w2x2+b=w1x1+w2x2+w0x0=X1×3W3×1

其中, y y y 表示输出,房价; x 1 x_1 x1表示输入的第一个分量,房屋面积;
x 2 x_2 x2表示输入的第二个分量,卧室个数。 w 1 , w 2 , b w_1, w_2, b w1,w2,b是我们要确定的各个系数。当 w 1 , w 2 , b w_1, w_2, b w1,w2,b 的取值确定下来后,输入与输出(Features 和 Target/Labels)的关系也就确定下来了。注意,这里为了统一用一个字母来表示系数, b b b 我们用 w 0 w_0 w0来改写一下。

为了后面,使用矩阵相乘,所以上面对于输入数据,我们增加了一个列输入 x 0 x_0 x0,其取值全为 1 1 1 w 0 w_0 w0来相乘。如代码 \ref{lst:data:input} 中的第 6,7 行。同时,对原有输入数据做了归一化处理,如下面代码 \ref{lst:data:input} 中第 1,2,和 4 行。此处,归一化的目的是为了使得输入数据的所有维度的数量级可以保持一致性。

%tensorflow_version 1.x
import tensorflow as tf

X = tf.placeholder(tf.float32, input_features.shape)
y = tf.placeholder(tf.float32, output_labels.shape)

W = tf.get_variable("weights", (input_features.shape[1],1), 
        initializer=tf.constant_initializer())

y_hat = tf.matmul(X, W)

028-机器学习背后的思维-针对入门小白的概念算法及工具的朴素思考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值