研一前的暑假,深度学习初体验

????在五月二十七号左右,再次来到一所新的城市,即将在这里度过我研究生的三年,之所以来这么早,是因为希望研究生阶段,能够跟着一个研究方向,自己比较感兴趣的导师。找的第一个导师比较偏学术一些,而我又希望自己在研究生阶段能够有一定的项目经历,所以在经过思考后,我和老师表明了我的想法,老师也表示理解,和我推荐了其他的导师。在找导师的过程中,发现比较热门的导师的特点有以下几点。在校刚来的几位导师中,比较年轻的导师无论能力还是学术都比较强,所有也很快就定下了人选。在来之前,自己也大致确立了方向,大数据。学校有个大数据院,看了相关的介绍,这一方向在校长的带领下,是发展的非常不错的。但是对于我看似来的早,实际上并不早的人来说,是轮不到我了。。此处省略一万字吧。最终找到了我现在的导师,导师管理的公司主要是做图像识别。也就属于当前的计算机视觉方向,被分配在公司的算法组,所以也就不得不走向了研究深度学习的方向。

做事情

????在简单的熟悉了公司之后,由于初来公司,并没有分配什么很具体的工作,所以自己在没事的时候,我选择继续考研之后做的事情,那就是学习springboot. 由于在公司里,没有很具体的工作,每天自己看视频自学,一个视频教程边看自己边跟着实践,也很快就完成了。 就这样,看了springboot企业微信点餐,springcloud升级企业微信点餐两个教程。就在这个时候,公司有准备让我写一些简单的接口。这时候随着对微服务的了解之后,我发现我对这个概念非常感兴趣。所以我不断去深入了解这一块的知识。

深度学习相关

????在机器学习中,我们通常使用梯度下降来更新模型参数从而求解。损失函数关于模型参数的梯度指向一个可以降低损失函数值的方向,我们不断地沿着梯度的方向更新模型从而最小化损失函数。

线性回归

????线性回归输出是一个连续值,因此适用于回归问题。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。与回归问题不同,分类问题中模型的最终输出是一个离散值。我们所说的图像分类、垃圾邮件识别、疾病检测等输出为离散值的问题都属于分类问题的范畴。softmax回归则适用于分类问题。

线性回归的基本要素

????我们以一个简单的房屋价格预测作为例子来解释线性回归的基本要素。这个应用的目标是预测一栋房子的售出价格(元)。我们知道这个价格取决于很多因素,如房屋状况、地段、市场行情等。为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。

模型

????设房屋的面积为x1,房龄为x2,售出价格为y。我们需要建立基于输入x1和x2来计算输出y的表达式,也就是模型(model)。顾名思义,线性回归假设输出与各个输入之间是线性关系:
????y^=x1w1+x2w2+b,
????其中w1和w2是权重(weight),b是偏差(bias),且均为标量。它们是线性回归模型的参数(parameter)。模型输出?y是线性回归对真实价格y的预测或估计。我们通常允许它们之间有一定误差。

大专栏  研一前的暑假,深度学习初体验">模型训练

????接下来我们需要通过数据来寻找特定的模型参数值,使模型在数据上的误差尽可能小。这个过程叫作模型训练(model training)。下面我们介绍模型训练所涉及的3个要素。

训练数据

????我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。
????假设我们采集的样本数为n,索引为i的样本的特征为x(i)1和x(i)2,标签为y(i)。对于索引为i的房屋,线性回归模型的房屋价格预测表达式为
????y(i)=x1(i)w1+x2(i)w2+b.

损失函数

????在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。
给定训练数据集,这个误差只与模型参数相关,因此我们将它记为以模型参数为参数的函数。在机器学习里,将衡量误差的函数称为损失函数(loss function)。
????通常,我们用训练数据集中所有样本误差的平均来衡量模型预测的质量.
????在模型训练中,我们希望找出一组模型参数,记为w?1,w?2,b?,来使训练样本平均损失最小.

优化算法

????当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)。本节使用的线性回归和平方误差刚好属于这个范畴。然而,大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解(numerical solution)。
????在求数值解的优化算法中,小批量随机梯度下降(mini-batch stochastic gradient descent)在深度学习中被广泛使用。它的算法很简单:先选取一组模型参数的初始值,如随机选取;接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch)β,然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。
????在迭代的过程中,β代表每个小批量中的样本个数(批量大小,batch size),η称作学习率(learning rate)并取正数。需要强调的是,这里的批量大小和学习率的值是人为设定的,并不是通过模型训练学出的,因此叫作超参数(hyperparameter)。我们通常所说的“调参”指的正是调节超参数,例如通过反复试错来找到超参数合适的值。

模型预测

????模型训练完成后,我们将模型参数w1, w2, b在优化算法停止时的值分别记作w1, w2, b。注意,这里我们得到的并不一定是最小化损失函数的最优解w1, w2,b*,而是对最优解的一个近似。然后,我们就可以使用学出的线性回归模型x1w1+ x2w2 + b来估算训练数据集以外任意一栋面积(平方米)为x1、房龄(年)为x2的房屋的价格了。这里的估算也叫作模型预测、模型推断或模型测试。

原文地址:https://www.cnblogs.com/lijianming180/p/12325564.html

时间: 2024-10-15 14:56:16

研一前的暑假,深度学习初体验的相关文章

国美深度学习初体验,开启社交电商的智能时代!

本周五(2017 年 7 月 21 日),由 51CTO 主办的 WOTI2017  全球创新技术峰会将于北京富力万丽酒店举行,此次峰会设有全天的巅峰论坛,及深度学习.人机交互和智+应用等分论坛. 国美大数据中心副总监杨骥,将出席深度学习分论坛,做主题为"深度学习开启社交电商智能时代"的演讲.在会前交流中,杨骥介绍了此次演讲的部分技术干货,让我们抢先看. 人工智能.机器学习与深度学习的关系 从冯诺依曼体系结构的提出开始,人类使用计算机就有了智能化的诉求.也就是使用计算机或机器人能够帮助

Spring学习初体验

一.首先我们要明确我们为什么要学?在我们学习了javaweb基础后,我们基本可以完成基本的网站要求,但是我们为什么要学习和使用使用Spring? 1.降低组件之间的耦合度,实现软件各层之间的解耦. controller----->service--------->dao 2.可以使用容器几桶的众多服务.如:事务管理服务.消息服务.当我们使用容器管理时,开发人员就不再需要手工控制事务,也不需处理复杂的事务传播. 3.容器提供单例模式支持,开发人员不再需要自己编写实现代码. 4.容器提供了AOP技

暑假第一篇,linux学习初体验

在大二结束的小学期我学习了嵌入式编程andrino.智能小车和树莓派.树莓派用的就是类Unix语言,当时主要是学习了: ·简单的命令行命令和使用gcc编译c文件的各种带参数的方式. ·进程.线程.网络编程.FIFO管道的使用,并未深入了解原理. 学嵌入式主要是接线,加把c程序烧录到芯片中,通过逻辑来控制各口的电平,来显示操作的情况,或者是在PC端的串口中显示(有实验报告). 智能小车功能包括各种运动(前后左右停止),有温度.光照.距离的测试模块,有自动距离检测.如果小于一定数值会改变方向.还有红

iOS学习初体验

来到无限互联已经一个星期了,当初选择来无限互联学习ios开发,心里确实有点忐忑,但是渐渐觉得很踏实.每天早八点到晚九点的学习好像又回到了高中,来到这的第一天早上醒来,突然觉得自己呼吸的是大京都的空气,于是预期的想家了.正式上课后,这种感觉就慢慢减少了,不是不想家了,而是紧张的学习根本没有闲的发呆或者继续放大想家情绪的的时间.    入学第一天人事部的老师和教学总监汪洪俊老师在发言中都给予了我们很大的期许和信心.当然,也第一次见到了班主任张琪老师.开学典礼的最后,我们一合了影,那一刻突然就觉得,我

selenium学习初体验-C#/java/Python

背景:之前由于自己有编写CefSharp.WinForms 窗体版以及 接口化 WCF+CefSharp.WinForms的网站版本,但是由于某些原因,延伸出Selenium学习与研究 总结:selenium特点是在做自动化测试,如果公司需要自动化测试是个不错的选择,开发语言包含很多.你完全可以使用自己熟悉的语言进行开发,请查看 https://docs.seleniumhq.org/docs/ 通过几天的摸索,个人比较还是建议大家最后部署在windows平台,linux平台由于缺少可视化,在调

大数据学习初体验:Linux学习+Shell基础编程+hadoop集群部署

距离上次博客时间已经9天,简单记录下这几天的学习过程 2020-02-15 10:38:47 一.Linux学习 关于Linux命令,我在之前就已经学过一部分了,所以这段时间的linux学习更多的是去学习Linux系统的安装以及相关配置多一些,命令会一些比较常用的就够了,下面记录下安装配置Linux系统时的注意事项. 这里配置的虚拟机的内存为4g 使用的 CentOS-6.5-x86_64-minimal.iso 映射文件 在进入linux系统中时,需要将虚拟机的主机名修改成自己想要的名字,还要

JSP学习初体验

JSP简介: 1)JSP--Java Server Pages 2)拥有servlet的特性与优点(本身就是一个servlet) 3)直接在HEML中内嵌JSP代码 4)JSP程序由JSP Engine先将它转换成servlet代码,接着将它编译成类文件载入执行 5)只有当客户端第一次请求执行JSP时,才需要将其转换.编译 JSP的优点: 1)优良的性能 优于CGI.PHP.ASP 2)平台无关性 操作系统无关,web服务器无关 3)可扩展性 tag的扩展机制,简化页面开发 JSP编程--基本语

json学习初体验--第三者jar包实现bean、List、map创json格式

1.的需要jar包裹json-lib.jar 下载链接: http://sourceforge.net/projects/json-lib/files/json-lib/ 此包还须要下面的依赖包, commons-lang.jar commons-beanutils .jar commons-collections.jar commons-logging.jar ezmorph.jar 2.创建javabean文件,以以下的为例: <span style="font-size:18px;&

json学习初体验--使用第三方的jar包实现bean、List、map创建json格式

1.需要的jar包json-lib.jar 下载地址: http://sourceforge.net/projects/json-lib/files/json-lib/ 此包还需要以下的依赖包, 2.创建javabean文件,以下面的为例: <span style="font-size:18px;">package com.gdhdcy.whp; public class person_bean { public int id; public int getId() { r