刚哥的机器学习系列课程,如何在浏览器里进行深度学习

原创
2020/12/20 15:28
阅读数 8.6K

TensorFlowJS是一个开源软件库JavaScript ,可以在浏览器和 Node.js 训练和部署机器学习模型,可用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索。

本系列课程从基本概念开始,由浅入深的介绍了如何利用TensorflowJS在浏览器中进行深度学习。

在浏览器中进行深度学习:TensorFlow.js (一)基本概念

线性代数(Linear algebra)是整个深度学习的数学基础。而张量(Tensor)是线性代数的基本数学概念和运算单元。这一张介绍了有关张量的基本概念和运算。

机器学习系列课程,如何在浏览器里进行深度学习

http://immersivemath.com/ila/index.html

希望了解更多的有关线性代数的知识,请参考:

在浏览器中进行深度学习:TensorFlow.js (二)线性回归

线性回归是最基本的机器学习,适合学习其它模型之前来了解。

在统计学中,线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。 在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。

机器学习系列课程,如何在浏览器里进行深度学习

 

希望了解更多的线性回归的知识,请参考:

 

在浏览器中进行深度学习:TensorFlow.js (三)更多的基本模型

在本章中,我们利用TensorflowJS实现了逻辑回归和K近邻算法。并利用梯度下降的原理解决了一个几何问题,如果通过平面上的三个点来确定一个圆。

机器学习系列课程,如何在浏览器里进行深度学习

 

更多逻辑回归,梯度下降的内容,请参考:

 

在浏览器中进行深度学习:TensorFlow.js (四)识别MNIST手写数据

MINST数据集来进行手写识别对于深度学习而言,就像是学习编程的Hello World。本节利用TensorflowJS来演示了如何手写数字的识别。

机器学习系列课程,如何在浏览器里进行深度学习

 

在浏览器中进行深度学习:TensorFlow.js (五)构建一个神经网络

神经网络(Neural Network)是深度学习的基础,基本概念包括:神经元,层,反向传播等等。本节利用TensorflowJS构建一个基本的神经网络。

机器学习系列课程,如何在浏览器里进行深度学习

 

更多神经网络的知识请参考:

在浏览器中进行深度学习:TensorFlow.js (六)构建一个卷积网络

卷积神经网络是一种前馈神经网络,卷积神经网络最擅长的就是图片的处理。它受到人类视觉神经系统的启发。

CNN 有2大特点:

  • 能够有效的将大数据量的图片降维成小数据量
  • 能够有效的保留图片特征,符合图片处理的原则

目前 CNN 已经得到了广泛的应用,比如:人脸识别、自动驾驶、美图秀秀、安防等很多领域。

机器学习系列课程,如何在浏览器里进行深度学习

 

更多卷积神经网络的知识,请参考:

在浏览器中进行深度学习:TensorFlow.js (七)递归神经网络

神经网络除了CNN之外的另一个常见的类别是RNN,递归/循环神经网络。这里的R其实是两种神经网络,Recurrent:时间递归 , Recusive:结构递归。时间递归神经网络的神经元间连接构成有向图,而结构递归神经网络利用相似的神经网络结构递归构造更为复杂的深度网络。我们大部分时间讲的RNN指的是前一种,时间递归神经网络。

机器学习系列课程,如何在浏览器里进行深度学习

 

更多递归神经网络的知识请参考:

在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络

GAN是深度学习中非常有趣的一种模型。GAN的两个主要支柱是生成器和鉴别器。 这是两个复杂的神经网络。通过生成器和鉴别器的相互对抗,生成以假乱真的内容。

机器学习系列课程,如何在浏览器里进行深度学习

 

更多生成对抗网络的内容,请参考:

在浏览器中进行深度学习:TensorFlow.js (九)训练词向量

词向量,英文名叫Word Embedding,在自然语言处理中,用于抽取语言模型中的特征,简单来说,就是把单词用一个向量来表示。词向量嵌入训练是自然语言处理的基础。

机器学习系列课程,如何在浏览器里进行深度学习

 

更多词向量嵌入和自然语言处理的内容,请参考:

 

在浏览器中进行深度学习:TensorFlow.js (十)构建一个推荐系统

推荐系统是机器学习的一个常见应用场景,它用于预测用户对物品的“评分”或“偏好”。通常推荐系统产生推荐列表的方式通常有两种:

  • 协同过滤以及基于内容推荐,或者基于个性化推荐。协同过滤方法根据用户历史行为(例如其购买的、选择的、评价过的物品等)结合其他用户的相似决策建立模型。这种模型可用于预测用户对哪些物品可能感兴趣(或用户对物品的感兴趣程度)。
  • 基于内容推荐利用一系列有关物品的离散特征,推荐出具有类似性质的相似物品。
机器学习系列课程,如何在浏览器里进行深度学习

 

更多推荐系统的内容请参考:

在浏览器中进行深度学习:TensorFlow.js (十一)时间序列预测

时间序列预测的机器学习的一种常见应用,例如预测股票和金融产品价格走势, 温度,天气的走势等等。

机器学习系列课程,如何在浏览器里进行深度学习

 

更多时间序列分析的内容请参考:

在浏览器中进行深度学习:TensorFlow.js (十二)异常检测算法

异常检测是机器学习领域常见的应用场景,例如金融领域里的信用卡欺诈,企业安全领域里的非法入侵,IT运维里预测设备的维护时间点等。

机器学习系列课程,如何在浏览器里进行深度学习

 

更多异常检测的内容,请参考:

展开阅读全文
加载中
点击加入讨论🔥(1) 发布并加入讨论🔥
打赏
1 评论
7 收藏
0
分享
返回顶部
顶部