首页 > 其他分享 >【机器学习】李宏毅——机器学习基本概念简介

【机器学习】李宏毅——机器学习基本概念简介

时间:2022-12-14 17:14:45浏览次数:49  
标签:例如 机器 函数 一个 李宏毅 可以 学习

机器学习就是找到一个我们人类无法写出来的函数来完成各种任务

机器学习的任务

回归Regression:输出是一个数值

例如:预测未来某一个时间PM2.5数值

分类Classification:输出是选项

例如:输出是否是电子邮件,Alphago输出为棋盘的某一个位置

结构化学习Structured Learning:产生一个有结构的物件,例如产生一篇文章,写一段文字


机器学习的步骤

Step1、写出一个带有未知参数的函数表达式(Function with Unknown Parameters):选用一个可能的函数表达式(Model)来表达输入与输出的关系,其中的未知参数称为domain knowledge

Step2、Define Loss from Training Data:Loss是关于未知参数的函数

mean absolute error(MAE):就是采用预测值和标签相减绝对值的方式来象征误差

mean square error(MSE):就是采用平方差的方式来象征误差

Step3、求解minL,例如gradient descent梯度下降,其中自己设定的参数(例如学习率)成为hyperparameters,还有local minima和global minima(局部最小和全局最小)

Step4、通过对真实数据的观测,对原有的函数式子进行修改,例如增加周期性或者波动什么的,可能会更加景区


Model Bias:由模型本身带来的限制或者误差,例如线性函数对于非线性的模型的学习始终不够好

在这里插入图片描述

例如上图,对于复杂的函数都可以用一个常数加上很多个蓝色函数来构成,而就算是非线性
在这里插入图片描述

也可以通过取足够多的点来逼近,从而应用上述方法,因此最关键的就是蓝色函数如何表达,因此有了蓝色函数我们就可以拟合我们希望得到的任何函数

在这里插入图片描述

因此就可以引入sigmoid函数,用于逼近我们想要的上方蓝色函数,而各式各样的蓝色函数就是通过调整w,b,c从而改变它的形状达到我们的要求

在这里插入图片描述

因此,我们就可以将线性函数转换为具有更多特征的函数,可以拟合各式各样复杂的函数

在这里插入图片描述

引入神经网络:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

用\(\theta\)向量来代表全部的参数构成的向量

因此就可以将这个函数重新代入上述机器学习步骤的Step1,作为我们需要预测的函数

在这里插入图片描述

同样利用梯度下降的方式来进行。

由于训练集有可能过大,那么可以对训练集进行划分:

在这里插入图片描述

每次update都是对一个batch(一部分训练集)去进行梯度下降(因为梯度下降的计算之中肯定需要计算样本的求和,不同训练集就会导致计算结果不一样),所有训练集过完就是一次epoch

Sigmoid也可以更换:

在这里插入图片描述

两个ReLU函数叠加就形成了上图那一个的函数形状,而由于每一个sigmoid需要两个ReLU,因此那里是2i

在这里插入图片描述

引入神经元的层数,就是上述过程再进行迭代:

在这里插入图片描述

那么每一个Sigmoid或者ReLU就是一个Neuron,整体就称为Neural Network

也可以每一个称为hidden layer,那么整体就是Deep Network

层次越深越好吗?并不是的,可能会出现overfitting,就是过拟合的问题,在测试集上更差

但是需要思考,为什么要弄得很多层,一层然后非常多的layer不是也可以表达任何一个函数的形状吗?

标签:例如,机器,函数,一个,李宏毅,可以,学习
From: https://www.cnblogs.com/FavoriteStar/p/16982666.html

相关文章

  • spring学习-1.使用Maven构建spring项目
    1.新建一个Maven项目​​​​​​项目的结构图​​​​2.配置pom.xml,引入项目需要的依赖,这里引入了spring,junit<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns......
  • Javascript学习
    目录js引入的三种方式js基础语法数组遍历的方法es6中的箭头函数js使用的中的注意点js变量声明的三种方式js引入的三种方式<!DOCTYPEhtml><html> <head> <metachars......
  • python学习笔记整理02(判断、循环)
    程序开发中有三大流程:顺序、分支、循环 一、顺序:代码从上到下,依次执行 二、分支:判断语句,代码有选择的执行if判断条件1:书写条件1成立(真),执行的代码#判断条......
  • 【opencv学习】【图像的数值计算操作】
    importcv2#展示图像,封装成函数defcv_show_image(name,img):cv2.imshow(name,img)cv2.waitKey(0)#等待时间,单位是毫秒,0代表任意键终止cv2.destroyAllWin......
  • 每天进步一点点《SVD学习》
    详情请见下载资源处,请搜索《每天进步一点点《SVD学习》.docx》一:一些搜罗的预备知识(搜罗的)1.1:特征值和特征向量矩阵:1)是一堆建立了某种运算时识别规则的数字2)是一列一列......
  • 深度学习 《RNN模型》
    前言:前几篇博文里面我们学习了传统的BP神经网络,你可以称为她是全连接的网络,也可以称之为DNN(denistynextwork),也学习了卷积神经网络,在卷积神经网络里面还学习了池化等结构,并......
  • 深度学习《WGAN模型》
    WGAN是一个对原始GAN进行重大改进的网络主要是在如下方面做了改进实例测试代码如下:还是用我16张鸣人的照片搞一波事情,每一个上述的改进点,我再代码中都是用Difference标注......
  • log4j2学习心得
    1、log4j2在pom.xml中引入总是报LogManager.getLogger错误这个主要是因为重复引用了log4j2的dependency文件2、运行后总是报 Logbackconfigurationerrordetected错误......
  • python学习笔记整理01(变量、数据类型、容器、输入和输出、运算符)
    一、变量二、数据类型三、容器1介绍2字符串3列表4元组5字典6容器的通用方法四、输入和输出五、运算符 一、变量1.介绍①含......
  • JavaScript学习--Item29 DOM基础详解
    看完JavaScript高级程序设计,整理了一下里面的DOM这一块的知识点,比较多,比较碎!DOM在整个页面的地位如图:DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。DOM......