国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【深度學(xué)習(xí)】TensorFlow實(shí)現(xiàn)線性回歸,代碼演示。全md文檔筆記(代碼文檔已分享)

這篇具有很好參考價(jià)值的文章主要介紹了【深度學(xué)習(xí)】TensorFlow實(shí)現(xiàn)線性回歸,代碼演示。全md文檔筆記(代碼文檔已分享)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【深度學(xué)習(xí)】TensorFlow實(shí)現(xiàn)線性回歸,代碼演示。全md文檔筆記(代碼文檔已分享)

本系列文章md筆記(已分享)主要討論深度學(xué)習(xí)相關(guān)知識(shí)??梢宰尨蠹沂炀氄莆諜C(jī)器學(xué)習(xí)基礎(chǔ),如分類、回歸(含代碼),熟練掌握numpy,pandas,sklearn等框架使用。在算法上,掌握神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)原理,手動(dòng)實(shí)現(xiàn)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在應(yīng)用上熟練掌握TensorFlow框架使用,掌握神經(jīng)網(wǎng)絡(luò)圖像相關(guān)案例。具體包括:TensorFlow的數(shù)據(jù)流圖結(jié)構(gòu),神經(jīng)網(wǎng)絡(luò)與tf.keras,卷積神經(jīng)網(wǎng)絡(luò)(CNN),商品物體檢測(cè)項(xiàng)目介紹,YOLO與SSD,商品檢測(cè)數(shù)據(jù)集訓(xùn)練和模型導(dǎo)出與部署。

全套筆記和代碼自取移步gitee倉(cāng)庫(kù): gitee倉(cāng)庫(kù)獲取完整文檔和代碼

感興趣的小伙伴可以自取哦,歡迎大家點(diǎn)贊轉(zhuǎn)發(fā)~


共 9 章,60 子模塊

【深度學(xué)習(xí)】TensorFlow實(shí)現(xiàn)線性回歸,代碼演示。全md文檔筆記(代碼文檔已分享)

【深度學(xué)習(xí)】TensorFlow實(shí)現(xiàn)線性回歸,代碼演示。全md文檔筆記(代碼文檔已分享)

TensorFlow介紹

說(shuō)明TensorFlow的數(shù)據(jù)流圖結(jié)構(gòu)
應(yīng)用TensorFlow操作圖
說(shuō)明會(huì)話在TensorFlow程序中的作用
應(yīng)用TensorFlow實(shí)現(xiàn)張量的創(chuàng)建、形狀類型修改操作
應(yīng)用Variable實(shí)現(xiàn)變量op的創(chuàng)建
應(yīng)用Tensorboard實(shí)現(xiàn)圖結(jié)構(gòu)以及張量值的顯示
應(yīng)用tf.train.saver實(shí)現(xiàn)TensorFlow的模型保存以及加載
應(yīng)用tf.app.flags實(shí)現(xiàn)命令行參數(shù)添加和使用
應(yīng)用TensorFlow實(shí)現(xiàn)線性回歸

2.7 案例:實(shí)現(xiàn)線性回歸

學(xué)習(xí)目標(biāo)

  • 目標(biāo)

    • 應(yīng)用op的name參數(shù)實(shí)現(xiàn)op的名字修改
    • 應(yīng)用variable_scope實(shí)現(xiàn)圖程序作用域的添加
    • 應(yīng)用scalar或histogram實(shí)現(xiàn)張量值的跟蹤顯示
    • 應(yīng)用merge_all實(shí)現(xiàn)張量值的合并
    • 應(yīng)用add_summary實(shí)現(xiàn)張量值寫(xiě)入文件
    • 應(yīng)用tf.train.saver實(shí)現(xiàn)TensorFlow的模型保存以及加載
    • 應(yīng)用tf.app.flags實(shí)現(xiàn)命令行參數(shù)添加和使用
    • 應(yīng)用reduce_mean、square實(shí)現(xiàn)均方誤差計(jì)算
    • 應(yīng)用tf.train.GradientDescentOptimizer實(shí)現(xiàn)有梯度下降優(yōu)化器創(chuàng)建
    • 應(yīng)用minimize函數(shù)優(yōu)化損失
    • 知道梯度爆炸以及常見(jiàn)解決技巧
  • 應(yīng)用

    • 實(shí)現(xiàn)線性回歸模型
  • 內(nèi)容預(yù)覽

    • 2.7.1 線性回歸原理復(fù)習(xí)

    • 2.7.2 案例:實(shí)現(xiàn)線性回歸的訓(xùn)練

    • 2.7.3 增加其他功能

      • 1 增加變量顯示
      • 2 增加命名空間
      • 3 模型的保存與加載
      • 4 命令行參數(shù)使用

2.7.1 線性回歸原理復(fù)習(xí)

根據(jù)數(shù)據(jù)建立回歸模型,w1x1+w2x2+…..+b = y,通過(guò)真實(shí)值與預(yù)測(cè)值之間建立誤差,使用梯度下降優(yōu)化得到損失最小對(duì)應(yīng)的權(quán)重和偏置。最終確定模型的權(quán)重和偏置參數(shù)。最后可以用這些參數(shù)進(jìn)行預(yù)測(cè)。

2.7.2 案例:實(shí)現(xiàn)線性回歸的訓(xùn)練

1 案例確定

  • 假設(shè)隨機(jī)指定100個(gè)點(diǎn),只有一個(gè)特征
  • 數(shù)據(jù)本身的分布為 y = 0.8 * x + 0.7

這里將數(shù)據(jù)分布的規(guī)律確定,是為了使我們訓(xùn)練出的參數(shù)跟真實(shí)的參數(shù)(即0.8和0.7)比較是否訓(xùn)練準(zhǔn)確

2 API

運(yùn)算

  • 矩陣運(yùn)算

    • tf.matmul(x, w)
  • 平方

    • tf.square(error)
  • 均值

    • tf.reduce_mean(error)

梯度下降優(yōu)化

  • tf.train.GradientDescentOptimizer(learning_rate)

    • 梯度下降優(yōu)化

    • learning_rate:學(xué)習(xí)率,一般為0~1之間比較小的值

    • method:

      • minimize(loss)
    • return:梯度下降op

3 步驟分析

  • 1 準(zhǔn)備好數(shù)據(jù)集:y = 0.8x + 0.7 100個(gè)樣本

  • 2 建立線性模型

    • 隨機(jī)初始化W1和b1
    • y = W·X + b,目標(biāo):求出權(quán)重W和偏置b
  • 3 確定損失函數(shù)(預(yù)測(cè)值與真實(shí)值之間的誤差)-均方誤差

  • 4 梯度下降優(yōu)化損失:需要指定學(xué)習(xí)率(超參數(shù))

4 實(shí)現(xiàn)完整功能

import tensorflow as tf
import os

def linear_regression():
    """
    自實(shí)現(xiàn)線性回歸
    :return: None
    """
    # 1)準(zhǔn)備好數(shù)據(jù)集:y = 0.8x + 0.7 100個(gè)樣本
    # 特征值X, 目標(biāo)值y_true
    X = tf.random_normal(shape=(100, 1), mean=2, stddev=2)
    # y_true [100, 1]
    # 矩陣運(yùn)算 X(100, 1)* (1, 1)= y_true(100, 1)
    y_true = tf.matmul(X, [[0.8]]) + 0.7
    # 2)建立線性模型:
    # y = W·X + b,目標(biāo):求出權(quán)重W和偏置b
    # 3)隨機(jī)初始化W1和b1
    weights = tf.Variable(initial_value=tf.random_normal(shape=(1, 1)))
    bias = tf.Variable(initial_value=tf.random_normal(shape=(1, 1)))
    y_predict = tf.matmul(X, weights) + bias
    # 4)確定損失函數(shù)(預(yù)測(cè)值與真實(shí)值之間的誤差)-均方誤差
    error = tf.reduce_mean(tf.square(y_predict - y_true))
    # 5)梯度下降優(yōu)化損失:需要指定學(xué)習(xí)率(超參數(shù))
    # W2 = W1 - 學(xué)習(xí)率*(方向)
    # b2 = b1 - 學(xué)習(xí)率*(方向)
    optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(error)

    # 初始化變量
    init = tf.global_variables_initializer()
    # 開(kāi)啟會(huì)話進(jìn)行訓(xùn)練
    with tf.Session() as sess:
        # 運(yùn)行初始化變量Op
        sess.run(init)
        print("隨機(jī)初始化的權(quán)重為%f, 偏置為%f" % (weights.eval(), bias.eval()))
        # 訓(xùn)練模型
        for i in range(100):
            sess.run(optimizer)
            print("第%d步的誤差為%f,權(quán)重為%f, 偏置為%f" % (i, error.eval(), weights.eval(), bias.eval()))

    return None

6 變量的trainable設(shè)置觀察

trainable的參數(shù)作用,指定是否訓(xùn)練

weight = tf.Variable(tf.random_normal([1, 1], mean=0.0, stddev=1.0), name="weights", trainable=False)

2.7.3 增加其他功能

  • 增加命名空間
  • 命令行參數(shù)設(shè)置

2 增加命名空間

是代碼結(jié)構(gòu)更加清晰,Tensorboard圖結(jié)構(gòu)清楚

with tf.variable_scope("lr_model"):
def linear_regression():
    # 1)準(zhǔn)備好數(shù)據(jù)集:y = 0.8x + 0.7 100個(gè)樣本
    # 特征值X, 目標(biāo)值y_true
    with tf.variable_scope("original_data"):
        X = tf.random_normal(shape=(100, 1), mean=2, stddev=2, name="original_data_x")
        # y_true [100, 1]
        # 矩陣運(yùn)算 X(100, 1)* (1, 1)= y_true(100, 1)
        y_true = tf.matmul(X, [[0.8]], name="original_matmul") + 0.7
    # 2)建立線性模型:
    # y = W·X + b,目標(biāo):求出權(quán)重W和偏置b
    # 3)隨機(jī)初始化W1和b1
    with tf.variable_scope("linear_model"):
        weights = tf.Variable(initial_value=tf.random_normal(shape=(1, 1)), name="weights")
        bias = tf.Variable(initial_value=tf.random_normal(shape=(1, 1)), name="bias")
        y_predict = tf.matmul(X, weights, name="model_matmul") + bias
    # 4)確定損失函數(shù)(預(yù)測(cè)值與真實(shí)值之間的誤差)-均方誤差
    with tf.variable_scope("loss"):
        error = tf.reduce_mean(tf.square(y_predict - y_true), name="error_op")
    # 5)梯度下降優(yōu)化損失:需要指定學(xué)習(xí)率(超參數(shù))
    # W2 = W1 - 學(xué)習(xí)率*(方向)
    # b2 = b1 - 學(xué)習(xí)率*(方向)
    with tf.variable_scope("gd_optimizer"):
        optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01, name="optimizer").minimize(error)

    # 2)收集變量
    tf.summary.scalar("error", error)
    tf.summary.histogram("weights", weights)
    tf.summary.histogram("bias", bias)

    # 3)合并變量
    merge = tf.summary.merge_all()

    # 初始化變量
    init = tf.global_variables_initializer()
    # 開(kāi)啟會(huì)話進(jìn)行訓(xùn)練
    with tf.Session() as sess:
        # 運(yùn)行初始化變量Op
        sess.run(init)
        print("隨機(jī)初始化的權(quán)重為%f, 偏置為%f" % (weights.eval(), bias.eval()))
        # 1)創(chuàng)建事件文件
        file_writer = tf.summary.FileWriter(logdir="./summary", graph=sess.graph)
        # 訓(xùn)練模型
        for i in range(100):
            sess.run(optimizer)
            print("第%d步的誤差為%f,權(quán)重為%f, 偏置為%f" % (i, error.eval(), weights.eval(), bias.eval()))
            # 4)運(yùn)行合并變量op
            summary = sess.run(merge)
            file_writer.add_summary(summary, i)

    return None

3 模型的保存與加載

  • tf.train.Saver(var_list=None,max_to_keep=5)
    • 保存和加載模型(保存文件格式:checkpoint文件)
    • var_list:指定將要保存和還原的變量。它可以作為一個(gè)dict或一個(gè)列表傳遞.
    • max_to_keep:指示要保留的最近檢查點(diǎn)文件的最大數(shù)量。創(chuàng)建新文件時(shí),會(huì)刪除較舊的文件。如果無(wú)或0,則保留所有檢查點(diǎn)文件。默認(rèn)為5(即保留最新的5個(gè)檢查點(diǎn)文件。)

使用

例如:
指定目錄+模型名字
saver.save(sess, '/tmp/ckpt/test/myregression.ckpt')
saver.restore(sess, '/tmp/ckpt/test/myregression.ckpt')

如要判斷模型是否存在,直接指定目錄

checkpoint = tf.train.latest_checkpoint("./tmp/model/")

saver.restore(sess, checkpoint)

4 命令行參數(shù)使用

  • 1、【深度學(xué)習(xí)】TensorFlow實(shí)現(xiàn)線性回歸,代碼演示。全md文檔筆記(代碼文檔已分享)

  • 2、 tf.app.flags.,在flags有一個(gè)FLAGS標(biāo)志,它在程序中可以調(diào)用到我們

前面具體定義的flag_name

  • 3、通過(guò)tf.app.run()啟動(dòng)main(argv)函數(shù)
  
  
# 定義一些常用的命令行參數(shù)
  
  
  
  
# 訓(xùn)練步數(shù)
  
  
tf.app.flags.DEFINE_integer("max_step", 0, "訓(xùn)練模型的步數(shù)")
  
  
# 定義模型的路徑
  
  
tf.app.flags.DEFINE_string("model_dir", " ", "模型保存的路徑+模型名字")

  
  
# 定義獲取命令行參數(shù)
  
  
FLAGS = tf.app.flags.FLAGS

  
  
# 開(kāi)啟訓(xùn)練
  
  
  
  
# 訓(xùn)練的步數(shù)(依據(jù)模型大小而定)
  
  
for i in range(FLAGS.max_step):
     sess.run(train_op)

完整代碼

import tensorflow as tf
import os

tf.app.flags.DEFINE_string("model_path", "./linear_regression/", "模型保存的路徑和文件名")
FLAGS = tf.app.flags.FLAGS


def linear_regression():
    # 1)準(zhǔn)備好數(shù)據(jù)集:y = 0.8x + 0.7 100個(gè)樣本
    # 特征值X, 目標(biāo)值y_true
    with tf.variable_scope("original_data"):
        X = tf.random_normal(shape=(100, 1), mean=2, stddev=2, name="original_data_x")
        # y_true [100, 1]
        # 矩陣運(yùn)算 X(100, 1)* (1, 1)= y_true(100, 1)
        y_true = tf.matmul(X, [[0.8]], name="original_matmul") + 0.7
    # 2)建立線性模型:
    # y = W·X + b,目標(biāo):求出權(quán)重W和偏置b
    # 3)隨機(jī)初始化W1和b1
    with tf.variable_scope("linear_model"):
        weights = tf.Variable(initial_value=tf.random_normal(shape=(1, 1)), name="weights")
        bias = tf.Variable(initial_value=tf.random_normal(shape=(1, 1)), name="bias")
        y_predict = tf.matmul(X, weights, name="model_matmul") + bias
    # 4)確定損失函數(shù)(預(yù)測(cè)值與真實(shí)值之間的誤差)-均方誤差
    with tf.variable_scope("loss"):
        error = tf.reduce_mean(tf.square(y_predict - y_true), name="error_op")
    # 5)梯度下降優(yōu)化損失:需要指定學(xué)習(xí)率(超參數(shù))
    # W2 = W1 - 學(xué)習(xí)率*(方向)
    # b2 = b1 - 學(xué)習(xí)率*(方向)
    with tf.variable_scope("gd_optimizer"):
        optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01, name="optimizer").minimize(error)

    # 2)收集變量
    tf.summary.scalar("error", error)
    tf.summary.histogram("weights", weights)
    tf.summary.histogram("bias", bias)

    # 3)合并變量
    merge = tf.summary.merge_all()

    # 初始化變量
    init = tf.global_variables_initializer()

    # 開(kāi)啟會(huì)話進(jìn)行訓(xùn)練
    with tf.Session() as sess:
        # 運(yùn)行初始化變量Op
        sess.run(init)
        # 未經(jīng)訓(xùn)練的權(quán)重和偏置
        print("隨機(jī)初始化的權(quán)重為%f, 偏置為%f" % (weights.eval(), bias.eval()))
        # 當(dāng)存在checkpoint文件,就加載模型

        # 1)創(chuàng)建事件文件
        file_writer = tf.summary.FileWriter(logdir="./summary", graph=sess.graph)
        # 訓(xùn)練模型
        for i in range(100):
            sess.run(optimizer)
            print("第%d步的誤差為%f,權(quán)重為%f, 偏置為%f" % (i, error.eval(), weights.eval(), bias.eval()))
            # 4)運(yùn)行合并變量op
            summary = sess.run(merge)
            file_writer.add_summary(summary, i)

    return None


def main(argv):
    print("這是main函數(shù)")
    print(argv)
    print(FLAGS.model_path)
    linear_regression()

if __name__ == "__main__":
    tf.app.run()

作業(yè):將面向過(guò)程改為面向?qū)ο?/h3>

參考代碼文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-832976.html

  
  
# 用tensorflow自實(shí)現(xiàn)一個(gè)線性回歸案例
  
  

  
  
# 定義一些常用的命令行參數(shù)
  
  
  
  
# 訓(xùn)練步數(shù)
  
  
tf.app.flags.DEFINE_integer("max_step", 0, "訓(xùn)練模型的步數(shù)")
  
  
# 定義模型的路徑
  
  
tf.app.flags.DEFINE_string("model_dir", " ", "模型保存的路徑+模型名字")

FLAGS = tf.app.flags.FLAGS

class MyLinearRegression(object):
    """
    自實(shí)現(xiàn)線性回歸
    """
    def __init__(self):
        pass

    def inputs(self):
        """
        獲取特征值目標(biāo)值數(shù)據(jù)數(shù)據(jù)
        :return:
        """
        x_data = tf.random_normal([100, 1], mean=1.0, stddev=1.0, name="x_data")
        y_true = tf.matmul(x_data, [[0.7]]) + 0.8

        return x_data, y_true

    def inference(self, feature):
        """
        根據(jù)輸入數(shù)據(jù)建立模型
        :param feature:
        :param label:
        :return:
        """
        with tf.variable_scope("linea_model"):
            # 2、建立回歸模型,分析別人的數(shù)據(jù)的特征數(shù)量--->權(quán)重?cái)?shù)量, 偏置b
            # 由于有梯度下降算法優(yōu)化,所以一開(kāi)始給隨機(jī)的參數(shù),權(quán)重和偏置
            # 被優(yōu)化的參數(shù),必須得使用變量op去定義
            # 變量初始化權(quán)重和偏置
            # weight 2維[1, 1]    bias [1]
            # 變量op當(dāng)中會(huì)有trainable參數(shù)決定是否訓(xùn)練
            self.weight = tf.Variable(tf.random_normal([1, 1], mean=0.0, stddev=1.0),
                                 name="weights")

            self.bias = tf.Variable(0.0, name='biases')

            # 建立回歸公式去得出預(yù)測(cè)結(jié)果
            y_predict = tf.matmul(feature, self.weight) + self.bias

        return y_predict

    def loss(self, y_true, y_predict):
        """
        目標(biāo)值和真實(shí)值計(jì)算損失
        :return: loss
        """
        # 3、求出我們模型跟真實(shí)數(shù)據(jù)之間的損失
        # 均方誤差公式
        loss = tf.reduce_mean(tf.square(y_true - y_predict))

        return loss

    def merge_summary(self, loss):

        # 1、收集張量的值
        tf.summary.scalar("losses", loss)

        tf.summary.histogram("w", self.weight)
        tf.summary.histogram('b', self.bias)

        # 2、合并變量
        merged = tf.summary.merge_all()

        return merged

    def sgd_op(self, loss):
        """
        獲取訓(xùn)練OP
        :return:
        """
        # 4、使用梯度下降優(yōu)化器優(yōu)化
        # 填充學(xué)習(xí)率:0 ~ 1    學(xué)習(xí)率是非常小,
        # 學(xué)習(xí)率大小決定你到達(dá)損失一個(gè)步數(shù)多少
        # 最小化損失
        train_op = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

        return train_op

    def train(self):
        """
        訓(xùn)練模型
        :param loss:
        :return:
        """

        g = tf.get_default_graph()

        with g.as_default():

            x_data, y_true = self.inputs()

            y_predict = self.inference(x_data)

            loss = self.loss(y_true, y_predict)

            train_op = self.sgd_op(loss)

            # 收集觀察的結(jié)果值
            merged = self.merge_summary(loss)

            saver = tf.train.Saver()

            with tf.Session() as sess:

                sess.run(tf.global_variables_initializer())

                # 在沒(méi)訓(xùn)練,模型的參數(shù)值
                print("初始化的權(quán)重:%f, 偏置:%f" % (self.weight.eval(), self.bias.eval()))

                # 開(kāi)啟訓(xùn)練
                # 訓(xùn)練的步數(shù)(依據(jù)模型大小而定)
                for i in range(FLAGS.max_step):

                    sess.run(train_op)

                    # 生成事件文件,觀察圖結(jié)構(gòu)
                    file_writer = tf.summary.FileWriter("./tmp/summary/", graph=sess.graph)

                    print("訓(xùn)練第%d步之后的損失:%f, 權(quán)重:%f, 偏置:%f" % (
                        i,
                        loss.eval(),
                        self.weight.eval(),
                        self.bias.eval()))

                    # 運(yùn)行收集變量的結(jié)果
                    summary = sess.run(merged)

                    # 添加到文件
                    file_writer.add_summary(summary, i)


if __name__ == '__main__':
    lr = MyLinearRegression()
    lr.train()

未完待續(xù), 同學(xué)們請(qǐng)等待下一期

全套筆記和代碼自取移步gitee倉(cāng)庫(kù): gitee倉(cāng)庫(kù)獲取完整文檔和代碼

感興趣的小伙伴可以自取哦,歡迎大家點(diǎn)贊轉(zhuǎn)發(fā)~

到了這里,關(guān)于【深度學(xué)習(xí)】TensorFlow實(shí)現(xiàn)線性回歸,代碼演示。全md文檔筆記(代碼文檔已分享)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 機(jī)器學(xué)習(xí)&&深度學(xué)習(xí)——線性回歸的從零開(kāi)始實(shí)現(xiàn)

    機(jī)器學(xué)習(xí)&&深度學(xué)習(xí)——線性回歸的從零開(kāi)始實(shí)現(xiàn)

    雖然現(xiàn)在的深度學(xué)習(xí)框架幾乎可以自動(dòng)化實(shí)現(xiàn)下面的工作,但從零開(kāi)始實(shí)現(xiàn)可以更了解工作原理,方便我們自定義模型、自定義層或自定義損失函數(shù)。 根據(jù)帶有噪聲的線性模型構(gòu)造一個(gè)人造數(shù)據(jù)集。任務(wù)是使用這個(gè)數(shù)據(jù)集來(lái)恢復(fù)模型的參數(shù)。我們使用低維數(shù)據(jù),可以更容易地

    2024年02月15日
    瀏覽(20)
  • 《動(dòng)手深度學(xué)習(xí)》 線性回歸從零開(kāi)始實(shí)現(xiàn)實(shí)例

    ?? 作者: Linux猿 ?? 簡(jiǎn)介: CSDN博客專家??,華為云享專家??,Linux、C/C++、云計(jì)算、物聯(lián)網(wǎng)、面試、刷題、算法盡管咨詢我,關(guān)注我,有問(wèn)題私聊! ?? 歡迎小伙伴們點(diǎn)贊??、收藏?、留言?? 本文是《動(dòng)手深度學(xué)習(xí)》線性回歸從零開(kāi)始實(shí)現(xiàn)實(shí)例的實(shí)現(xiàn)和分析。 實(shí)現(xiàn)代碼

    2024年02月11日
    瀏覽(22)
  • 1、動(dòng)手學(xué)深度學(xué)習(xí)——線性神經(jīng)網(wǎng)絡(luò):線性回歸的實(shí)現(xiàn)(從零實(shí)現(xiàn)+內(nèi)置函數(shù)實(shí)現(xiàn))

    1、動(dòng)手學(xué)深度學(xué)習(xí)——線性神經(jīng)網(wǎng)絡(luò):線性回歸的實(shí)現(xiàn)(從零實(shí)現(xiàn)+內(nèi)置函數(shù)實(shí)現(xiàn))

    回歸(regression)是能為一個(gè)或多個(gè)自變量與因變量之間關(guān)系建模的一類方法。 在自然科學(xué)和社會(huì)科學(xué)領(lǐng)域, 回歸經(jīng)常用來(lái)表示輸入和輸出之間的關(guān)系 。 給定一個(gè)數(shù)據(jù)集,我們的目標(biāo)是 尋找模型的權(quán)重和偏置 , 使得根據(jù)模型做出的預(yù)測(cè)大體符合數(shù)據(jù)里的真實(shí)價(jià)格。 輸出的

    2024年02月11日
    瀏覽(20)
  • 33- PyTorch實(shí)現(xiàn)分類和線性回歸 (PyTorch系列) (深度學(xué)習(xí))

    33- PyTorch實(shí)現(xiàn)分類和線性回歸 (PyTorch系列) (深度學(xué)習(xí))

    知識(shí)要點(diǎn) ?pytorch 最常見(jiàn)的創(chuàng)建模型 的方式, 子類 讀取數(shù)據(jù): data = pd.read_csv (\\\'./dataset/credit-a.csv\\\', header=None) 數(shù)據(jù)轉(zhuǎn)換為tensor: X = torch .from_numpy(X.values).type(torch.FloatTensor) 創(chuàng)建簡(jiǎn)單模型: 定義損失函數(shù): loss_fn = nn.BCELoss () 定義優(yōu)化器: opt = torch.optim.SGD (model.parameters(), lr=0.00001) 把梯度

    2024年02月06日
    瀏覽(22)
  • 機(jī)器學(xué)習(xí)6:使用 TensorFlow 的訓(xùn)練線性回歸模型

    紙上得來(lái)終覺(jué)淺,絕知此事要躬行。前面 5 篇文章介紹了機(jī)器學(xué)習(xí)相關(guān)的部分基礎(chǔ)知識(shí),在本章,筆者將講解基于 TensorFlow 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的線性回歸模型,以便增強(qiáng)讀者對(duì)機(jī)器學(xué)習(xí)的體感。 目錄 1.環(huán)境準(zhǔn)備 1.1 安裝 Python3 1.2 安裝 PyCharm 1.3 安裝 TensorFlow 1.4 安裝?pandas

    2024年02月11日
    瀏覽(24)
  • 【AI】《動(dòng)手學(xué)-深度學(xué)習(xí)-PyTorch版》筆記(九):從零開(kāi)始實(shí)現(xiàn)線性回歸的訓(xùn)練

    在深度學(xué)習(xí)中,用來(lái)訓(xùn)練的數(shù)據(jù)集通過(guò)標(biāo)注來(lái)實(shí)現(xiàn)。 咱們?cè)谶@一步使用函數(shù)來(lái)生成一組數(shù)據(jù)集 定義數(shù)據(jù)生成函數(shù):synthetic_data

    2024年02月14日
    瀏覽(23)
  • 【深度學(xué)習(xí)】實(shí)驗(yàn)07 使用TensorFlow完成邏輯回歸

    TensorFlow是一種開(kāi)源的機(jī)器學(xué)習(xí)框架,由Google Brain團(tuán)隊(duì)于2015年開(kāi)發(fā)。它被廣泛應(yīng)用于圖像和語(yǔ)音識(shí)別、自然語(yǔ)言處理、推薦系統(tǒng)等領(lǐng)域。 TensorFlow的核心是用于計(jì)算的數(shù)據(jù)流圖。在數(shù)據(jù)流圖中,節(jié)點(diǎn)表示數(shù)學(xué)操作,邊表示張量(多維數(shù)組)。將操作和數(shù)據(jù)組合在一起的數(shù)據(jù)流圖

    2024年02月10日
    瀏覽(23)
  • 機(jī)器學(xué)習(xí)與深度學(xué)習(xí)——使用paddle實(shí)現(xiàn)隨機(jī)梯度下降算法SGD對(duì)波士頓房?jī)r(jià)數(shù)據(jù)進(jìn)行線性回歸和預(yù)測(cè)

    機(jī)器學(xué)習(xí)與深度學(xué)習(xí)——使用paddle實(shí)現(xiàn)隨機(jī)梯度下降算法SGD對(duì)波士頓房?jī)r(jià)數(shù)據(jù)進(jìn)行線性回歸和預(yù)測(cè)

    隨機(jī)梯度下降(SGD)也稱為增量梯度下降,是一種迭代方法,用于優(yōu)化可微分目標(biāo)函數(shù)。該方法通過(guò)在小批量數(shù)據(jù)上計(jì)算損失函數(shù)的梯度而迭代地更新權(quán)重與偏置項(xiàng)。SGD在高度非凸的損失表面上遠(yuǎn)遠(yuǎn)超越了樸素梯度下降法,這種簡(jiǎn)單的爬山法技術(shù)已經(jīng)主導(dǎo)了現(xiàn)代的非凸優(yōu)化。

    2024年02月03日
    瀏覽(32)
  • 深度學(xué)習(xí)(一),線性回歸與邏輯回歸

    深度學(xué)習(xí)(一),線性回歸與邏輯回歸

    ? ? ? ? 代碼是自己敲得,圖是自己畫(huà)的,連公式都是一個(gè)一個(gè)字打的, 希望贊是你給的(≧?≦)。 ????????線性回歸(Liner Regression),俗稱lr。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一個(gè)大家熟悉得不能再熟悉的式子,便是線性回歸

    2024年03月25日
    瀏覽(15)
  • 機(jī)器學(xué)習(xí)&&深度學(xué)習(xí)——線性回歸的基本元素

    回歸用來(lái)表示輸入輸出之間的關(guān)系。 用實(shí)際例子來(lái)解釋一下線性回歸:根據(jù)房屋的面積、房齡來(lái)估算房屋價(jià)格。為了實(shí)現(xiàn)這個(gè)預(yù)測(cè)放假的模型,需要收集一個(gè)真實(shí)的數(shù)據(jù)集,該數(shù)據(jù)集包括了房屋的銷(xiāo)售價(jià)格、面積和房齡。 在機(jī)器學(xué)習(xí)中,這個(gè)數(shù)據(jù)集稱為 訓(xùn)練集(training set)

    2024年02月15日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包