机器学习周报(一)

摘要

这周学习了机器学习的基本概念,包括什么是机器学习(Looking for Function),机器学习的任务(Regression、Classification、Structured Learning),机器如何寻找一个合适function,机器学习训练的3个步骤,linear model有局限性,求取sigmoid 函数的最佳参数。

Abstract

This week learned the basic concepts of machine learning, including what is machine learning (Looking for Function), machine learning tasks (Regression, Classification, Structured Learning), how machines find a suitable function, 3 steps of machine learning training, linear model has limitations, find the best parameters of sigmoid functions.

一、机器学习是什么?

机器学习是可以寻找一个合适函数的能力。
在这里插入图片描述

二、机器学习的类型

1、regression(回归)
在这里插入图片描述

2、Classification(分类)
在这里插入图片描述
classification是让机器从多个选项,选出最适合的选项
在这里插入图片描述

3、Structured Learning(结构化学习)
机器学习有时候并不是只处理数字,也不是光做选择题。还要能够处理结构式的数据,比如图片,文件。让机器学会去创造。

三、怎样寻找合适的函数

已知输入为用户账号过往的播放量信息,输出为未来某一天的播放量。

1、Function with Unknown Parameters(未知参数的函数)

在这里插入图片描述

寻找出一个带未知参数的函数,我们假设这个函数为y=b+w*x1。而这个带有未知参数的函数称之为Model(模型)。其中y:预测未来的观看人数,x:已知数据,称为特征(feature),w:权重(weight),b:偏差(bias)。

2、Define Loss from Training Data(定义训练数据的Loss函数)

这一步是来解决,如何评估model未知参数(w,b)的好坏。 定义一个Loss(损失函数),它的输入是model的未知参数(w,b),它的输出是当前输入的参数的值(b和w)好坏。L越大说明当前这组参数越不好,L越小说明当前这组参数越好。计算L,我们可以使用MAE(平均绝对误差)和MSE(均方误差)。
在这里插入图片描述
在这里插入图片描述
如何计算loss呢?
在上面这个例子中,假设我们的models为y=0.5k+1*x1。w为1,b为0.5k。我们将1月1号的真实值x1=4.8k带入model,得到预测值1月2号的浏览的人数5.3k。而真正值式4.9k。误差为e1为0.4k。用同样的方法可以计算出1月2,1月3号等每一天的预估值。这样我们可以求得每一天的误差值(ei),将所有误差值加起来,并求平均值,就可以得到L(0.5k,1)的值。

3、Optimization(最优化)

第二步已经解决了如何评估b和w的好坏度,而这一步是来解决如何找到最佳的b和w的参数(使得Loss最小)。
在这里插入图片描述
Optimization的方法叫做Gradient Descent(梯度下降)

单参
首先先假设只有一个参数w。
寻找最佳w的步骤:
1.随机选一个初始点,w°。
2.计算w=w°时的微分。如果微分>0,使的w左移,loss变小。如果微分<0,使w右移,loss变小。
3、移动的的步长是学习速率η*此点的微分,如下图公式更新w的值。接下来反复进行2、3步操作,反复更新w,直到最后停下来。
在这里插入图片描述
此图为右移公式
问题:会遇到local minima(局部最小) 问题。即最终找到的w的loss值是局部最小,而不是整个error surface上面的最底点。
双参
有两个参数,分别为w和b。
寻找最佳w和b的步骤:
1、给w和b随机一个初始值,分别为w°和b°。
2、计算w和b的偏微分的数值。
在这里插入图片描述
3、把w°减掉η×w的偏微分的结果得到w1,把b°减掉η×b的偏微分结果得到b1。以此类推,不断更新,直到找到一组最合适的w和b。

在这里插入图片描述

四、Sigmoid 函数

引入:linear models 有着严重的限制,它只能描述线性的关系,但是不是所有的数据都存在线性关系。所以我们需要一个更复杂的function。
在这里插入图片描述
所有的Piecewise Linear Curves 都可以用一个常数,加上一堆蓝色折线function来表示出来
(即red curve = constant+ sum of a set of blue function)。
在这里插入图片描述
任何的连续曲线,只要取到足够多的转折点,也都可以用蓝色折线去无限逼近它。

1、如何表示蓝色的function

用Sigmoid function去逼近蓝色折线(即Hard Sigmoid) 只需要调整w、b、c的值就可以制造不同形状的Sigmoid function。w决定曲线斜率,b决定曲线左右平移位置,c决定曲线高度。把不同的Sigmoid funciton叠起来,可以去逼近各种不同的Piecewise linear 的 function,Piecewise linear的function可以近似各种不同的连续的曲线。

2、more features的函数

在这里插入图片描述多个特征的函数表示,i代表不同的sigmoid函数,j代表不同的feature。Sigmoid越多,就能够逼近越复杂的 Function。
在这里插入图片描述
如上图,如果j=1,2,3,是feature有三个的时候,表示考虑前一天,前两天,前三天。每一个i表示一个蓝色的function,将每一个蓝色function用一个sigmoid function来近似。令向量r b x分别等于其对应的向量,w为其所对应的矩阵
在这里插入图片描述
这个括号里面所做的事情:把x乘上矩阵w加上b,r等于r1,r2,r3。将r分别带入sigmoid函数进行计算求得a1,a2,a3。令其为向量a。求得的a还需要乘上ci,最后加上b。将c1,c2,c3组成向量c。则y=b+c^T*a。最后y可用线性代数来表示为如下图。
在这里插入图片描述
其中x是feature,w是权重组成的矩阵,c为常数组成的向量,绿色框b为向量,灰色框b为数值常量。w、b、c,向量b、常数b为未知的参数,将这些未知的参数合在一起组成一个向量,称为θ。

3、 Define Loss from Training Data(定义训练数据的Loss函数)

这一步是为这个新的更复杂的function定义一个新的损失函数。θ是所有未知参数组成的一个向量,用它来表示所有未知参数。

在这里插入图片描述
计算的方法
1、先根据一组w,向量c,向量b,数值b的值,然后把一种x带进去,得到估测的y值。
2、再计算与真实值label的误差,记为e。
3、将所有误差加起来求平均值,就得到Loss。

4、Optimization(最佳化)

这一就是进行优化,找到最佳的θ,与linear Models相同。
寻找最佳θ步骤:
1、给θ一个随机初始值,标识为θ°,θ=θ°。
2、每一个未知参数对L求微分,计算得到的结果组成一个向量,用g来表示。
在这里插入图片描述

3、更新参数。把θ°减掉η×g得到θ1,将θ°=θ1。重复1、2,3步骤,不断更新,直到更新到梯度g为零,但绝大多数都是更新到停下来不想做为止。
在这里插入图片描述
实际操作中,我们再求g的时候,如果手里有N个数据,我们会把数据分成一个个batch。计算Loss时,我们可以只拿一个batch里面的数据来计算Loss,记为L1(L1一般不等于L)。
在这里插入图片描述
如果这个batch足够大的话,L1会很接近L。

五、总结

本周对机器学习有了一些了解,知道了什么是机器学习,了解了linear models和sigmoid models的公式和推导过程,让我知道了线性代数和高等数学对于机器学习是必不可少的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值