GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1383|回复: 50
收起左侧

[技术教学] 从零开始的深度学习1:实现线性回归

  [复制链接] |关注本帖
     楼主| gitfox 发表于 2024-9-6 16:23:54 | 显示全部楼层 |阅读模式 |取消关注该作者的回复
    本帖最后由 gitfox 于 2024-9-7 10:56 编辑

    材料准备:一.安装Miniconda,需要勾选ADD  Anaconda to the system PATH environment variable 选项。

                     二.前往https ://zh.d2l.ai/d2l-zh-1.1.zip 下载压缩包并解压,在该文件地址栏输入cmd。
                     三.使用conda创建虚拟环境:conda env create -f environment.yml 。
                     四.激活已创建的环境:conda activate gluon 。
                     五.输入jupyter notebook打开jupyter notebook(如果没有安装用pip install jupyter安装)

    所需要安装的python第三方库:IPython,matplotlib,mxnet

    预备知识:什么是深度学习:深度学习是一种机器学习算法。深度指神经网络的层数,学习指训练神经网络的过程。
                     什么是线性回归:线性回归是一种单层神经网络,它可以解决预测连续值的问题(如预测气温,房价),而分类与之相反,用于解决离散值的问题。
                       可以用数学将其表示为:y _=w1x1+w2x2...+wnxn+b
                       其中w1,w2...wn和b均为标量,它们是线性回归模型的参数,w表示权重,b表示偏差,而y_则表示对真实值y的预测。
                     机器学习方法的构成:模型,损失函数,优化算法,模型评估
    实践部分:
                 1.生成数据集
                 首先,我们导入所需要的包和模块,然后我们创建一个样本数为1000的训练数据集,其特征数为2(可以理解为因变量有两个,即有x1和x2),设权重w= [2,-3.4]T(T表示对矩阵转置),偏差b=4.2 。最后,我们加入噪声c,让噪声服从均值为0,标准差为0.01的正态分布。
    (噪声代表了数据集中无意义的干扰)

               2.生成关系图
               features里储存着很多个长度为2的向量,可以理解为是由很多个[x1,x2]组成, 而在分别乘以同样向量长度为2的权重后再加上噪声后,显然得到的labels存储着很多个长度为1的向量,即标量,可以理解为是由很多个y_组成的。我们查看features列表和labels列表中的第一个数据来检验一下。如图所示,符合我们的预期。
          然后,我们通过featrures[:,1] 和标签labels来生成一个散点图,可以理解为生成一个x2和y_的关系图。通过这个关系图,我们可以直观的观察到两者之间的线性关系。



            3.读取数据集
             在训练模型时,我们需要遍历数据集并不断读取小批量数据样本,这里我们定义一个函数,它每次返回batch_size(批量大小)个随机样本的特征和标签。
            
            num_examples 为样本数(features中向量的数量),indices是根据样本数构建的索引列表,如样本数是10,则生成列表 [0,1,2,3,4,5,6,7,8,9]。
            random.shuffle()将这个列表随机打乱,以达到随机读取样本的目的。
            range(0,num_examples,batch_size) 中前两个表示范围,而batch_size表示步长,即达到每次返回批量大小的目的,而take函数根据索引返回对应元素。
           让我们设置批量大小为10,并打印根据这种方法读取到的features和labels的值,结果如图所示.
           4.初始化模型参数
            我们将权重初始化城均值为0,标准差为0.01的正态随机数,偏差则初始化为0。
            
            再之后我们将不断迭代它们的值,所以创建它们的梯度。
        5.定义模型
         这里我们使用dot函数来做矩阵乘法。
         
        6.定义损失函数
         这里我们使用平方函数,这也是最为常用的选择。
         
       7.定义优化算法
         sgd函数实现了小批量随机梯度下降的算法。
         
       8.训练模型
       
    在训练中,我们将多次迭代模型参数。在每次迭代中,我们根据当前读取的数据,通过调用反向函数backward计算小批量随机梯度,并通过sgd函数来优化权重和偏差,其中num_epochs代表迭代周期的数量。
    训练完成后,来对比一下训练得到的参数和生成训练集的真实参数,可以看出非常相近。

    #演示案例来自于《dive into deep learning》
          


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    评分

    参与人数 4血液 +3 追随 +4 堕落 +2 收起 理由
    肥鱼 + 3 + 1 + 1 赞一个!
    l312687174 + 1 很给力!
    三分春色描来易 + 1 + 1 啊?
    星之子 + 1 看到Jupyter Notebook已经起鸡皮疙瘩了(.

    查看全部评分

      收起(2)
    回复

    使用道具 举报

    金猪猪储蓄罐㊖『随时随地开启!』漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

      回复

      使用道具 举报

      阿怪GHOST吃饱金币的Doge秘密空瓶裸体克里斯【圣诞限定】心心念念小雪人【夏日限定】夏日的泰凯斯史莱姆牧场虚空之海的鲸不朽之恋

        回复

        使用道具 举报

        火柴 - Gamemale萨菲罗斯炽天使之拥亚索诺克提斯·路西斯·伽拉姆官复原职業火死鬥璀璨之焰虚空之海的鲸

          回复

          使用道具 举报

          牧羊人眼镜蛇图腾猎鹰图腾山猫图腾驯化腐化龙幼崽香喷喷的烤鸡特殊-家园卫士Ⓛ特殊-家园卫士Ⓡ

            回复

            使用道具 举报

            粉猪猪储蓄罐㊖安杜因·乌瑞恩死亡化身终归一人夏之歌超人.诺克提斯·路西斯·伽拉姆V (DMC5)Vergil

              回复

              使用道具 举报

              百相千面-晦永远的克叔業火死鬥实现梦想官复原职虚空之海的鲸Zootopia幸运女神的微笑『逆境中的幸运女神』御医神兔

                最近在工作上面根据需求写了随机森林分类器和模糊C均值的算法,具体实现都是网上抄的,反正能用,毕竟写python的人很多
                回复

                使用道具 举报

                Drover.冒险专用绳索格拉迪欧拉斯金牌矿工索尔·奥丁森.『逆境中的幸运女神』骑兽之子岛田源氏杰西·麦克雷

                  回复

                  使用道具 举报

                  初入动物城御医神兔奇怪的宝箱『落樱缤纷』森林羊男『眼榴』近地夜航安杜因·乌瑞恩

                    回复

                    使用道具 举报

                    丹妮莉丝·坦格利安格拉迪欧拉斯雪王的心脏『星河碎片』『灰域来音』预知水晶球炽天使之拥『伊黎丝的赞词』纯真护剑『随时随地开启!』

                      回复

                      使用道具 举报

                      召唤兽拉姆风物长宜叛逆者六出冰花幽浮起司煲『落樱缤纷』近地夜航普隆普特·阿金塔姆菀叶狸猫新月护符

                        回复

                        使用道具 举报

                        奥兹大陆莱因哈特·威尔海姆上古卷轴V:天际约翰-117吉姆‧雷诺铁牛十字军护盾

                          回复

                          使用道具 举报

                          炙热的格拉迪欧拉斯裸体克里斯灵魂之椅乘风破浪的武士刀圣英灵凯尔生金蛋的鹅无尽的怀表十字叶章史莱姆牧场【夏日限定】夏日的泰凯斯

                            回复

                            使用道具 举报

                            诺克提斯·路西斯·伽拉姆石肤术收到情书变骚喷雾史莱哲林神秘商店贵宾卡思绪骤聚没有梦想的咸鱼炼金之心茉香啤酒

                              回复

                              使用道具 举报

                              BIG BOSS虚空之海的鲸雄躯的昇格爬行植物Ⓛ粉猪猪储蓄罐㊖爬行植物Ⓡ

                                提醒一下,論壇不能回自己的帖子避免灌水,
                                請善用文章左下的編輯,已回的帖子記得去請版主刪除/w\
                                回复

                                使用道具 举报

                                我的天使GM吸血伯爵吃饱金币的Doge阿拉喵?神灯和你一起飞行的皮卡丘小小舞台永浴爱河

                                  回复

                                  使用道具 举报

                                  TRPG版塊收到情书黄色就是俏皮思绪骤聚灵光补脑剂布衣+2 上等的没有梦想的咸鱼

                                    回复

                                    使用道具 举报

                                    捡到了肥皂变骚喷雾千杯不醉收到情书小丑与格雷与星光璀璨粉猪猪储蓄罐㊖業火死鬥永浴爱河泰比里厄斯虚空之海的鲸

                                      楼主加油,这个领域还是有很多内容可学的
                                      我最近也在补深度学习基础知识,虽然已经用了很多年,但面试如果问到一些基础问题,平时根本不会想这么细
                                      回复

                                      使用道具 举报

                                        回复

                                        使用道具 举报

                                        实现梦想性感男神GM人到中年卡洛斯·奥利维拉史莱姆牧场霍格沃兹魔法学校Forever Titanic官复原职

                                          回复

                                          使用道具 举报

                                          您需要登录后才可以回帖 登录 | 立即注册

                                          本版积分规则

                                          文字版|手机版|小黑屋|GameMale

                                          GMT+8, 2024-11-21 22:26 , Processed in 0.137705 second(s), 144 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表