什么是机器学习?
机器学习就是自动找函式的一个过程。
那我们一般都需要找什么样子的函式?
1.Regression(线性回归):数据通过函式后得到一个数值。
2.Binary Classification(二分类):数据通过函式后得到两个选项中的一个。
3.Multi-class Classification(多分类):数据通过函式后得到多个选项中的一个。
4.Generation(产生):特殊的一类,数据通过函式后不再是得到简单的一个数字或者选项,而是产生一些更高级,有结构的复杂东西,例如:文句,二次元人物等等,通俗来讲就是创造。
那我们怎样告诉机器我们想找什么样的函式呢?
1.Supervised Learning(监督学习)
监督学习最主要的标志就是,我们输入数据时伴随着给每个数据提供属于他的标签。比如我们输入一个猫的图片,就给他标注成“猫”。我们输入一只狗的图片,就给他标注成“狗”。那当我们训练完数据过后再拿一张新的图片传入到函式中后,就能得到这张图片到底是属于猫还是狗。
然而有时候我们的函数不一定能输出正确的结果,所以我们一般用Loss也就是损失来描述我们有多大的程度上没有得到正确的结果。
值得庆幸的是,接下来我们的机器会自动的找出Loss最低的函式。
2.Reinforcement Learning(强化学习)
强化学习是智能体(Agent)以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏,强化学习不同于连接主义学习中的监督学习,主要表现在强化信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。最大的特点是设立奖惩制度,已达奖赏最大化。
3.Unsupervised Learning(无监督学习)
区别于监督学习的最大特点是没有标签。
Regression
上文我们说到Regression最大的特点就是数据通过函式后得到一个数值。
那我们怎么来找到一个回归类的函式呢?我们来举一个宝可梦进化的例子,我们给定一只宝可梦具有Combat Power(战力值),种类,hp,高度,重量等等,经过我们的函式后得到一个预估的进化后的cp值。
那第一步,我们要找到一个模型。我们先找一个简单的线性模型,b为偏置,w为每个特征的权重,他们刚开始都可以为任意值。
然后第二步则是该考虑我们选取的函式的优劣,为了简化我们只考虑初始cp值这一个特征,我们假设我们抓了10只宝可梦。并将10个宝可梦的数据放入我们所选的函式中,得到我们预测的宝可梦进化后的cp值。
那我们怎么评价我们选取函式的优劣呢,这就用到我们上文说过的Loss,也就是损失。我们通过建立一个损失函数L(f)来得到我们损失的值,越大代表我们损失的越大,函式也就越差。
那第三步我们就要找到该模型下最好的函式,通过改变偏置b和权重w的值,使损失函数的值达到最小,从而得到最好的函式。
如何得到最小的损失函数值,也就是得到w和b呢?
我们引入梯度下降法来求最小损失函数。