Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我的机器学习算法之路

我的机器学习算法之路

作者头像
Datawhale
修改于 2019-07-08 03:06:33
修改于 2019-07-08 03:06:33
66400
代码可运行
举报
文章被收录于专栏:Datawhale专栏Datawhale专栏
运行总次数:0
代码可运行

我的机器学习算法之路

未来,人工智能是生产力,是变革社会的主要技术力量之一。 掌握人工智能技术,需要从基础的机器学习算法开始学习,逐渐建立机器学习知识体系。

本篇文章 :

1.带大家克服心理上对于机器学习的敬畏,绕开弯路(本人入过很多坑),进入机器学习领域。

2.从基本概念和机器学习的应用领域入手,帮助大家建立机器学习的概念模型。

3.用最基本的线性回归和逻辑回归算法,让大家掌握机器学习神秘的“三板斧”方法论。

4.通过自身多年的学习经验,举一反三,引导大家科学建立机器学习和深度学习的学习路线。

首先,我们看一下在Quora(美国知乎)上的三个问题和专家回答。

1. 我能在没有计科硕士、博士文凭的情况下找到一引言份关于机器学习的工作吗? "你当然可以,但是想进入这个领域则无比艰难。" --Drac Smith

2. 我是一名软件工程师,我自学了机器学习,我如何在没有相关经验的情况下找到一份关于机器学习的工作?

"我正在为我的团队招聘机器学习专家,但你的MOOC并不会给你带来工作机会。事实上,大多数机器学习方向的硕士也并不会得到工作机会,因为他们(与大多数上过MOOC的人一样)并没有深入地去理解。他们都没法帮助我的团队解决问题。"-- Ross C. Taylor

3. 找一份机器学习相关的工作需要掌握怎样的技能?

"首先,你得有正儿八经的计科或数学专业背景。ML是一个比较先进的课题,大多数的教材都会直接默认你有以上背景。其次,机器学习是一个集成了许多子专业的奇技淫巧的课题,你甚至会想看看MS的机器学习课程,去看看他们的授课、课程和教材。""统计,假设,分布式计算,然后继续统计。" --Hydrangea

通过以上三个问题和专业人士的回答,很多机器学习小白可能会望而却步。 其实,我通过自身的学习经验,长期坚持和积累,发现机器学习的内在规律,分享出来,让大家克服心理恐惧,高效的投入的机器学习课程中。

再举一些机器学习大牛的例子:

  • Kaggle Grandmaster Evgeny Patekha:四十岁才开始数据科学生涯
  • Kaggle Grandmaster Alexander Larko:五十五岁才开始参加Kaggle竞赛

说明任何时候学习都不嫌晚!但是一定要有正确的方法和坚毅的态度。

好吧,那么我们就进入机器学习的世界。

机器学习的概念

究竟什么是机器学习?

这个问题回答如果在教科书,可能会很复杂。但是能够把复杂的问题简单化,是一件见不太容易的事情(需要足够的功力)。但是我尽量为大家这样做。

1.语音识别:输入一段语音信号,输出文字:

输入:

语音信息

输出:"how are you"

2.图像识别:输入图片,输出图片的属性:

输入:

输出:"cat"

3.智能控制:输入棋盘局势,输出下一步落棋位置

输入:

棋盘

输出:"5*5"

4.对话系统: 输入语言,系统回复

输入:"Hi"

输出:"Hello"

那么,找到这个函数f(x)是机器学习者的核心任务。下面的讲到的“方法论”核心就是如何去找f(x)。

机器学习的“三板斧”方法论

机器学习的过程和把大象放冰箱一样,一共分三步:

step_1: 定义一个函数集合(define a function set) step_2: 判断函数的好坏(goodness of a function) step_3: 选择最好的函数(pick the best one)

这里写图片描述

首先,进人用“三板斧”解决机器学习中最基本的回归(预测)、分类问题之前,我们进行一下准备活动。

准备活动1:学习梯度下降

三板斧中的核心步骤- 步骤3: 选择最好的函数。

步骤3中,如何选择好的神经网络(的呢?

L(

) 代表判断函数的好坏(一般为与真实值的差距,差距越小越好)

我们的目标是让L(

) 最小化:

这里我们就引入梯度下降高等数学中的基本概念):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  梯度下降机器学习、深度学习中最重要的概念之一:       
  梯度下降是目前,最有效的方法之一。

方法:我们举两个参数的例子

1,

2, 损失函数是L。那么它的梯度是:

那我为了求得最小值,我们有:

参数不断被梯度乘以学习率η 迭代

那么上述公示公为什么是减号,不是加号呢? 我们定义\theta改变的方向是movement的方向, 而gradient的方向是等高线的法线方向

准备活动2:了解Keras

Kearas 是机器学习、深度学习小白代码入门的最佳工具之一。

如果想提升、练习代码能力,还是建议算法徒手python实现。 复杂的深度神经网络项目还是推荐TensorFlow或者Pytorch

简介:

  • Keras是一个高级神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。
  • Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:
  • 简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)支持CNN和RNN,或二者的结合无缝CPU和GPU切换。

为了更加生动的让小白同学克服机器学习、深度学习编程的恐惧心理,我再这里给出一幅图:

机器学习,尤其是深度学习编程strong text其实是:搭积木!

介绍完本次代码演示的工具后,我们就用实际经典的机器学习的代码,手握“三板斧”,带大家进入机器学习的世界。

机器学习最重要的问题,主要是在回归(预测)、和分类,我们的例子包含这两大类。

1. 线性回归

问题 给下面一组数据,用一条线来对数据进行拟合,并可以预测新输入 x 的输出值。

  • 创建数据(模拟数据)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# create some data
X = np.linspace(-1, 1, 200)
# randomize the data
np.random.shuffle(X)    
Y = 0.5 * X + 2 + np.random.normal(0, 0.05, (200, ))
# plot data
plt.scatter(X, Y)
plt.show()
# train 前 160 data points
X_train, Y_train = X[:160], Y[:160]  
# test 后 40 data points
X_test, Y_test = X[160:], Y[160:]  

可视化创建的数据集如下:

下面就是三板斧了:

(1) 线性回归- 徒手代码版(推荐)

我们定义函数集合为:

, m=160(训练数据的量)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # 第一板斧:定义一个函数集合
  X = np.c_[np.ones(m), X] 
  theta = np.zeros(2)  
  # Some gradient descent settings
  iterations = 1500
  alpha = 0.01
  # 第二板斧:判断函数的好坏(本例中用的是MSE 均方误差)
   cost = np.sum((np.dot(X, theta) - y) ** 2) / (2 * m)
  # 第三板斧:选择最好的函数(theta 让Loss最小)
  theta = gradient_descent(X_train,Y_train, theta, alpha, iterations, cost)
  # 结果
  predict = np.dot(X_test, theta)

注: gradient_descent 函数的实现我们暂时忽略,但是原理大家已经掌握。 我们的预测结果如下:

(2) 线性回归- Kears 神经网络版

三板斧1:定义一个函数集合(建立神经网络模型) 我们定义函数集合为:

我们用 神经网络来拟合这样函数。

Sequential 建立 model, 再用 model.add 添加神经层,添加的是 Dense 全连接神经层。

参数有两个,一个是输入数据和输出数据的维度,本代码的例子中 x 和 y 是一维的。

如果需要添加下一个神经层的时候,不用再定义输入的纬度,因为它默认就把前一层的输出作为当前层的输入。在这个例子里,只需要一层就够了。(即使是一层神经网络可以拟合任何函数)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model = Sequential()
model.add(Dense(output_dim=1, input_dim=1))

三板斧2:判断函数的好坏 误差函数是判断函数好坏的主要方式,本例中用的是MSE 均方误差; 优化器用的是 sgd 随机梯度下降法(一种能让MSE找到最小值的通用方法)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# choose loss function and optimizing method
model.compile(loss='mse', optimizer='sgd') 

三板斧3:选择最好的函数(训练模型)

训练的时候用 model.train_on_batch 一批一批的训练 X_train, Y_train。默认的返回值是 cost,每100步输出一下结果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# training
print('Training -----------')
for step in range(301):
    cost = model.train_on_batch(X_train, Y_train)
    if step % 100 == 0:
        print('train cost: ', cost)

"""
Training -----------
train cost:  4.111329555511475
train cost:  0.08777070790529251
train cost:  0.007415373809635639
train cost:  0.003544030711054802
"""

三板斧过后,我们检验一下我们模型:

用到的函数是 model.evaluate,输入测试集的x和y, 输出 cost,weights 和 biases。其中 weights(theta0) 和 biases(theta1) 是取在模型的第一层 model.layers[0] 学习到的参数。从学习到的结果你可以看到, weights 比较接近0.5,bias 接近 2。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# test
print('\nTesting ------------')
cost = model.evaluate(X_test, Y_test, batch_size=40)
print('test cost:', cost)
theta1, theta0 = model.layers[0].get_weights()
print('Weights=', theta1, '\nbiases=', theta0 )

"""
Testing ------------
40/40 [==============================] - 0s
test cost: 0.004269329831
Weights= [[ 0.54246825]] 
biases= [ 2.00056005]
"""

可视化结果 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# plotting the prediction
Y_pred = model.predict(X_test)
plt.scatter(X_test, Y_test)
plt.plot(X_test, Y_pred)
plt.show()

我们的回归问题,通过找到函数的参数theta1 =0.5,theta0 =2.0,已经完成:

2. 分类

分类问题中,我们使用深度学习的“Hello World”,手写数字识别作为例子。 手写数字识别。用最简单的DNN神经网络实现。

Keras 自身就有 MNIST 这个数据包,再分成训练集和测试集。x 是一张张图片,y 是每张图片对应的标签,即它是哪个数字。

输入的 x 变成 60,000*784 的数据,然后除以 255 进行标准化,因为每个像素都是在 0 到 255 之间的,标准化之后就变成了 0 到 1 之间。

对于 y,要用到 Keras 改造的 numpy 的一个函数 np_utils.to_categorical,把 y 变成了 one-hot 的形式,即之前 y 是一个数值, 在 0-9 之间,现在是一个大小为 10 的向量,它属于哪个数字,就在哪个位置为 1,其他位置都是 0。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from keras.datasets import mnist

# download the mnist to the path '~/.keras/datasets/' if it is the first time to be called
# X shape (60,000 28x28), y shape (10,000, )
(X_train, y_train), (X_test, y_test) = mnist.load_data()

# data pre-processing
X_train = X_train.reshape(X_train.shape[0], -1) / 255.   # normalize
X_test = X_test.reshape(X_test.shape[0], -1) / 255.      # normalize
y_train = np_utils.to_categorical(y_train, num_classes=10)
y_test = np_utils.to_categorical(y_test, num_classes=10)

print(X_train[1].shape)
"""
(784,)
"""

print(y_train[:3])
"""
[[ 0.  0.  0.  0.  0.  1.  0.  0.  0.  0.]
 [ 1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.]]
"""

我们的三板斧又可以登场了:

三板斧1:定义一个函数集合(建立神经网络模型)

在回归网络中用到的是 model.add 一层一层添加神经层,以下图片分类的方法是直接在模型的里面加多个神经层。好比一个水管,一段一段的,数据是从上面一段掉到下面一段,再掉到下面一段。

第一段就是加入 Dense 神经层。32 是输出的维度,784 是输入的维度。 第一层传出的数据有 32 个 feature,传给激励单元,激励函数用到的是 relu 函数。 经过激励函数之后,就变成了非线性的数据。 然后再把这个数据传给下一个神经层,这个 Dense 我们定义它有 10 个输出的 feature。同样的,此处不需要再定义输入的维度,因为它接收的是上一层的输出。 接下来再输入给下面的 softmax 函数,用来分类。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model = Sequential([
    Dense(32, input_dim=784),
    Activation('relu'),
    Dense(10),
    Activation('softmax'),
])

三板斧2:判断函数的好坏

损失函数,分类和回归问题的不一样,用的是交叉熵(信息学的概念,其实就是两个组概率分布相似程度)。

enter image description here

用 RMSprop 作为优化器(暂时可以认为是一种让Loss稳定减少的工具),它的参数包括学习率等,可以通过修改这些参数来看一下模型的效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rmsprop = RMSprop(lr=0.001, rho=0.9, epsilon=1e-08, decay=0.0)
model.compile(optimizer=rmsprop, loss='categorical_crossentropy', metrics=['accuracy'])

三板斧3:选择最好的函数(训练模型)

这里用到的是 fit 函数,把训练集的 x 和 y 传入之后,nb_epoch 表示把整个数据训练多少次,batch_size 每批处理32个。

enter image description here

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model.fit(X_train, y_train, epoch=20, batch_size=100)
"""
Training ------------
Epoch 1/2
60000/60000 [==============================] - 2s - loss: 0.3506 - acc: 0.9025     
Epoch 2/2
60000/60000 [==============================] - 2s - loss: 0.1995 - acc: 0.9421   
"""

三板斧过后,我们检验一下我们模型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print('\nTesting ------------')
# Evaluate the model with the metrics we defined earlier
loss, accuracy = model.evaluate(X_test, y_test)

print('test loss: ', loss)
print('test accuracy: ', accuracy)
"""
Testing ------------
 9760/10000 [============================>.] - ETA: 0s
test loss:  0.1724540345
test accuracy:  0.9489
"""    

我们的回归问题已经完成:分类准确率已经达到94.89%。

机器学习的推荐学习路线

1.学习准备:

(1) 数学篇 高等数学: 微分部分即可(掌握微分原理) 线性代数: 掌握矩阵的基本运算、矩阵微分、Jacobian矩阵和Hessian矩阵 (2) 英语篇: 具有大学英语4级水平 (3) 编程篇: 具有使用Python解决基础数据结构问题的能力

2.学习路线(1年):

推荐直接学习国外一流大学的高水平视频课程,同步写课程作业,学习路线共分4步,

(1) 机器学习基础算法(3个月)

  • 国外课程推荐:吴恩达机器学习(斯坦福大学CS229)
  • 国内教材推荐: 《机器学习》 周志华 《统计学习方法》李航 《机器学习课》邹博

(2) 深度学习(6个月)

  • 计算机视觉(斯坦福大学CS231N)(3个月)
  • 自然语言处理(斯坦福大学CS224N)(3个月)

(3) 机器学习编程框架(1个月)

  • Tensorflow(斯坦福大学CS20I)
  • PyTorch

(4) 强化学习(2个月)

  • UCL-Course(伦敦大学学院 ) (AlphaGo之父 David Silver)

3. 学习宝典:

(1) 创建博客

  • CSDN
  • 知乎

(2) 打AI比赛

  • 天池
  • Kaggle

(3) 创建Github

  • 课程作业
  • 比赛代码
  • 学习项目

(4) 读高水平英文论文

深度学习经典论文:https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap

4. 编程建议:

编写代码是机器学习、深度学习有力的武器,但是也是需要循序渐进,不能一开始就使用“重武器”(框架),这样对基本的概念和掌握会很不牢靠,而且容易沾沾自喜,感觉自己都掌握了,其实不然。

建议路线:

  1. python 徒手算法实现
  2. 使用sklearn等基础的机器学习库
  3. 学习Tensorflow或者Pytorch
  4. 学习Keras

五、机器学习的学习资料

1.数学知识

1.线性代数http://web.stanford.edu/class/cs224n/readings/cs229-linalg.pdf 2.概率论 http://web.stanford.edu/class/cs224n/readings/cs229-prob.pdf 3.凸函数优化 http://web.stanford.edu/class/cs224n/readings/cs229-cvxopt.pdf 4.随机梯度下降算法 http://cs231n.github.io/optimization-1/ 5.机器学习中的数学基本知识 https://www.cnblogs.com/steven-yang/p/6348112.html 6.统计学习方法 http://vdisk.weibo.com/s/vfFpMc1YgPOr

2.编程知识

1.Python复习

http://web.stanford.edu/class/cs224n/lectures/python-review.pdf 2.廖雪峰python3教程

https://www.liaoxuefeng.com/article/001432619295115c918a094d8954bd493037b03d27bf9a9000

3.github教程

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

4.机器学习代码修行100天

https://github.com/Avik-Jain/100-Days-Of-ML-Code

3. 机器学习资料汇总

1.深度学习经典论文https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap.git 2.深度学习斯坦福教程 http://deeplearning.stanford.edu/wiki/index.php/UFLDL教程 3.莫烦机器学习教程 https://morvanzhou.github.io/tutorials 4.吴恩达机器学习新书:machine learning yearning https://github.com/AcceptedDoge/machine-learning-yearning-cn 5.自上而下的学习路线: 软件工程师的机器学习https://github.com/ZuzooVn/machine-learning-for-software-engineers/blob/master/README-zh-CN.md

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Datawhale 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
小白必定收藏的机器学习文章
本篇文章源自武博士,这篇文章在gitchat上原本收费,现在公开分享。 一. 引言
公众号guangcity
2019/09/20
5320
小白必定收藏的机器学习文章
一文带你了解机器学习的四大框架PyTorch、TensorFlow、Keras、Scikit-learn
点评:文章概要性地介绍了机器学习,指出其重要性日益凸显,如Geoffrey Hinton等机器学习领域的大牛被Google、Facebook等科技巨头争相聘请。文章阐述了机器学习的定义,即一种让计算机从数据中自动学习和改进的技术。同时,文章还探讨了机器学习的范围、方法,如支持向量机、聚类算法等,并强调了机器学习在大数据、深度学习及人工智能领域的广泛应用与重要影响,展现了机器学习技术推动科技进步的巨大潜力。
小白的大数据之旅
2024/11/25
1.7K1
一文带你了解机器学习的四大框架PyTorch、TensorFlow、Keras、Scikit-learn
机器学习 | 四大常用机器学习Python库介绍
今天这篇我们介绍下Python中常用的机器学习库(机器学习、深度学习啥的,小编还是建议使用Python进行建模编写哈),也算是本公号机器学习的第一篇推文,主要内容如下:
DataCharm
2021/03/11
5.1K0
机器学习 | 四大常用机器学习Python库介绍
用Python实现机器学习算法——简单的神经网络
导读:Python 被称为是最接近 AI 的语言。最近一位名叫Anna-Lena Popkes的小姐姐在GitHub上分享了自己如何使用Python(3.6及以上版本)实现7种机器学习算法的笔记,并附有完整代码。所有这些算法的实现都没有使用其他机器学习库。这份笔记可以帮大家对算法以及其底层结构有个基本的了解,但并不是提供最有效的实现。
IT派
2018/07/30
7340
用Python实现机器学习算法——简单的神经网络
【机器学习】探索未来科技的前沿:人工智能、机器学习与大模型
随着科技的不断进步,人工智能(AI)、机器学习(ML)和大模型(Large Models)成为了现代计算机科学领域的核心技术。它们不仅推动了科学研究的进步,也在多个行业中掀起了革命性的变革。从自动驾驶汽车到智能语音助手,再到精准医疗和金融预测,这些技术的应用已经深入到我们日常生活的方方面面。本文将深入探讨这三大技术的基本概念、历史发展、实现原理及其在实际生活中的应用,旨在为读者提供一个全面而深入的了解。
E绵绵
2024/06/01
9950
【算法】Python实现机器学习算法
小编邀请您,先思考: 1 您使用Python做过什么? 2 如何用Python实现决策树系列算法? 人生苦短,就用 Python。 在 Kaggle 最新发布的全球数据科学/机器学习现状报告中,来自
陆勤_数据人网
2018/04/18
1.9K0
【算法】Python实现机器学习算法
关于深度学习系列笔记(一)
第一个深度学习笔记吧,看书有一阵子了,对理论知识仍然稀里糊涂的,不过一边实操一边记笔记一边查资料,希望逐步再深入到理论里去,凡事开头难,也不怕他人笑话。一般深度学习都是从手写数字识别开始的。
python与大数据分析
2022/03/11
4510
关于深度学习系列笔记(一)
十大机器学习库,超全面总结!!
也毫无疑问,Pytorch的同学以压倒性的话语权霸屏。其实无论使用哪种框架,适合自己适合项目是最合适的。
Python编程爱好者
2024/05/22
8750
十大机器学习库,超全面总结!!
笔记|李宏毅老师机器学习课程,视频15Keras Demo
感谢李宏毅老师的分享,他的课程帮助我更好地学习、理解和应用机器学习。李老师的网站:http://speech.ee.ntu.edu.tw/~tlkagk/index.html。这个学习笔记是根据李老师2017年秋季机器学习课程的视频和讲义做的记录和总结。
陆勤_数据人网
2021/04/22
4260
完全汇总,十大机器学习算法!!
接下来我会从每个算法模型的介绍、基本原理、优缺点以及适用场景注意叙述,最后会基于开源数据集给出一个比较入门型的案例供大家学习~
Python编程爱好者
2024/04/12
5720
完全汇总,十大机器学习算法!!
教程丨机器学习算法:从头开始构建逻辑回归模型
原作:Rohith Gandhi 郭一璞 编译自 Hacher Noon 量子位 出品 | 公众号 QbitAI 逻辑回归是继线性回归之后最著名的机器学习算法。 在很多方面,线性回归和逻辑回归是相似的
量子位
2018/07/20
6540
一文讲透机器学习超参数调优(附代码)
超参数是在模型训练之外设置的选项,不会在训练过程中被优化或更改。相反,需要在训练之前手动设置它们,并且对模型的性能有很大的影响。
皮大大
2023/09/07
1.7K2
用Keras解决机器学习问题!
本文介绍3个案例来帮助读者认识和入门深度学习框架Keras。3个案例解决3个问题:回归、二分类、多分类.
Datawhale
2022/05/29
7220
用Keras解决机器学习问题!
深度学习算法中的非线性独立成分分析(Nonlinear Independent Component Analysis in Deep Learning)
深度学习是一种强大的机器学习技术,已经在计算机视觉、自然语言处理、语音识别等领域取得了巨大成功。然而,在深度学习中,由于网络层数的增加和复杂的非线性变换,传统的线性独立成分分析(Linear Independent Component Analysis,简称LICA)的有效性受到了限制。为了解决这个问题,研究人员提出了一种新的方法,即深度学习算法中的非线性独立成分分析(Nonlinear Independent Component Analysis,简称NLICA)。
大盘鸡拌面
2023/09/22
4660
深度学习入门(一),从Keras开始
安装环境:Anaconda(python3.6) 首先安装:tensorflow.(通过navigator,可参见直通车) 检验:import tensorflow as tf Keras在anaconda下没有原装的安装包,只有使用pip安装方式,安装Keras,pip install Keras
学到老
2019/01/25
2.3K0
深度学习入门(一),从Keras开始
[Python人工智能] 十九.Keras搭建循环神经网络分类案例及RNN原理详解
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章分享了卷积神经网络CNN原理,并通过Keras编写CNN实现了MNIST分类学习案例。这篇文章将详细讲解循环神经网络RNN的原理知识,并采用Keras实现手写数字识别的RNN分类案例及可视化呈现。基础性文章,希望对您有所帮助!
Eastmount
2022/11/25
1.2K0
机器学习算法Python实现--逻辑回归
传送门:https://github.com/lawlite19/MachineLearning_Python/tree/master/LogisticRegression
Ai学习的老章
2019/04/10
7820
机器学习算法Python实现--逻辑回归
机器学习算法整理(三)逻辑回归
逻辑回归是解决分类问题的,那回归问题怎么解决分类问题呢?将样本的特征和样本发生的概率联系起来,概率是一个数。
算法之名
2021/09/14
3950
机器学习算法整理(三)逻辑回归
【人工智能】全景解析:【机器学习】【深度学习】从基础理论到应用前景的【深度探索】
无监督学习 是一种机器学习类型,模型在没有标注数据的情况下,通过识别数据中的模式和结构进行学习。
小李很执着
2024/08/14
3210
小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码)
2018 区块链技术及应用峰会(BTA)·中国 倒计时 1 天 2018,想要follow最火的区块链技术?你还差一场严谨纯粹的技术交流会——2018区块链技术及应用峰会(BTA)·中国将于2018年3月30-31日登陆北京喜来登长城饭店。追求专业性?你要的这里全都有:当超强嘉宾阵容遇上业界同好的脑洞大联欢,1+1=无限可能,目前门票预购火热进行中。 活动详情: http://dwz.cn/7FI1Ch 编译 | 林椿眄 出品 | 人工智能头条(公众号ID:AI_Thinker) 【AI科技大本营导读】P
用户1737318
2018/06/05
1.8K0
推荐阅读
相关推荐
小白必定收藏的机器学习文章
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档