【机器学习系列】初步了解机器学习-[pytorch]


前言

本系列文章,将会围绕机器学习的原理和方法,基于pytorch的实现进行。同时也会以简单易懂的方式讲述语音识别,图像识别,AlphaGo的原理及其实现。同时也会持续附上大量关于机器学习的论文资料,欢迎大家持续追更。

本篇文章是个人机器学习第一次总结与分享,本篇内容多为介绍机器学习,具体代码后续文章会持续推出。参考2021李宏毅 机器学习课程,《Deap Learning with Pytorch》。


以下是本篇文章正文内容,下面案例可供参考。

一、机器学习是什么?

你想过当下热门的语音识别,图像识别,AlphaGo等技术是如何实现的?Machine learning就包括Regression,Classification吗?

新大陆来咯!
人工智能,通常由人完成的智能任务的自动化。
机器学习是人工智能的一个子领域。
用现代技术自动提取特征又是深度学习的领域。
图1
传统编程是基于数据和规则输出结果,机器学习重在学习规则。
有没有感觉很神奇?

图2

二、机器学习的三个步骤

可以考虑一下如何把大象放进冰箱里。

1.Function with unknown.(找一个带未知量的函数)

先打开冰箱门。

举一个简单的函数模型,后期会专门介绍激活函数。
图3

x代表feature(特征,也就是输入)
w代表weight(权值)
b代表bias(偏差)
简单理解:给一个输入,加上一个权值,也就是预测可能的比例,这个比例可能存在一些误差,在加上一个偏差来弥补。

2.Define Loss from Training data(根据训练数据,求出损失函数。)

把大象塞进冰箱里。

Loss:是一个带参数的损失函数。
什么意思?
给你的模型一个系列的值,让模型得出结果,再和真实结果比较,通过某种标准最后得到Loss。

某种标准有MAE,MSE,Cross-entropy等,后续会专门介绍。

3.Optimization(优化)

关上冰箱门。

这里采用的是**Gradient Descent(梯度下降)**的方法。
再次回顾最开始提出来的简单模型,这个模型中的w和b是我们不知道的,梯度下降就是随机找一个w和b然后根据导数方法找到使Loss最小的一组值。
具体步骤:

(1)pick an initial value.(随机找一个值)

随机找一个w[0]

(2)Compute gradient. (求一阶导数)

以w为例子,求w[0]处的导数值,注意我们是想让Loss最小,所以有

导数范围移动方向
小于0正方向(+)
大于0负方向(-)

关于导数等于0的情况,我会在后续机器学习优化中专门讲解,你可以现在知道,这个导数=0对整个操作没有太大的影响,他可以通过某种方式继续移动。

图4

(3)Update. (更新)

图5
红色这个参数叫做超参数,是我们自己输入的。

当然我们可能会出现这样的情况
图6
这种情况怎么办呢?大家可以先思考一下,后续专门针对这个问题做文章。你可以想一下如何避免或者走出这种悲伤的小谷底呢?

在这里大家需要明白:
1.你给定的带未知数的模型的参数,是机器学习要求自己去生成学习的。
2.Loss函数长什么样子,现在是根据你的模型结果和真实值来决定的,这个也是机器学习学习的结果,你可以理解为这个函数是一个中间过程,我们要让他最小。


三、总结

其实把大象放进冰箱里很简单。
图7

一共就三步,机器学习其实Just easy。

那么,刚刚的例子中,我们有的是已经知道的数据,我们做机器学习是为了测试未知的数据,未知数据准吗?那什么是测试数据?训练数据?
刚刚的模型是一个要么递增,要么递减的函数?现实生活怎么会有这么特殊的情况,其他情况呢?
梯度下降的方法真的靠谱吗?

本系列文章,将会围绕机器学习的原理和方法,基于pytorch的实现进行。同时也会以简单易懂的方式讲述语音识别,图像识别,AlphaGo的原理及其实现。同时也会持续附上大量关于机器学习的论文资料,欢迎大家持续追更。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值