李宏毅机器学习 Machine_Learning_2019_Task1
机器学习打卡任务内容:
了解什么是Machine learning
学习中心极限定理,学习正态分布,学习最大似然估计
推导回归Loss function
学习损失函数与凸函数之间的关系
了解全局最优和局部最优
学习导数,泰勒展开
推导梯度下降公式
写出梯度下降的代码
学习L2-Norm,L1-Norm,L0-Norm
推导正则化公式
说明为什么用L1-Norm代替L0-Norm
学习为什么只对w/Θ做限制,不对b做限制
了解什么是机器学习:
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
![机器学习](https://img-blog.csdnimg.cn/20190513202318233.png?x-oss-process=image
中心极限定理
通俗理解就是:
中心极限定理是说:
样本的平均值约等于总体的平均值。
不管总体是什么分布,任意一个总体的样本平均值都会围绕在总体的整体平均值周围,并且呈正态分布,只要样本足够大。
知识点2:正态分布
正态分布的应用非常广泛,而且很多的现实数据都呈正态分布,比如一个地区的人的身高,体重,工资等。
知识点3:最大似然估计
极大似然估计方法(Maximum Likelihood Estimate,MLE)也称为最大概似估计或最大似然估计,是求估计的另一种方法
知识点4:推导回归Loss function
对于线性回归模型,我们的一个基本假设是,对于各个样本点来说,ϵ是独立同分布的,这样,根据独立同分布的中心极限定理,当样本点很多时,ϵ应该服从均值为0,方差为σ^2的高斯分布。注意!这是我们进行以下推导的前提,如果在实际项目中该假设不成立,则我们的结论也不成立,整个线性回归问题的算法将会被推翻。
知识点5:损失函数与凸函数之间的关系
如果损失函数是凸函数(convex)的话,那么梯度下降就一定能达到全局最优解,不管从什么位置开始迭代。
如,线性回归:
知识点6:全局最优和局部最优
损失函数在梯度下降的过程中,可能会下降到局部最优点,即其值小于最小值点,但是又是极小值点。如图所示:
全局最优则是函数的最小值。如果函数为凸函数的话,那么梯度下降就可以避免这个问题,所以我们偏好凸函数作为损失函数。
知识点7:导数,泰勒展开
导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x0)或df(x0)/dx。
导数是函数的局部性质。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。如果函数的自变量和取值都是实数的话,函数在某一点的导数就是该函数所代表的曲线在这一点上的切线斜率。导数的本质是通过极限的概念对函数进行局部的线性逼近。例如在运动学中,物体的位移对于时间的导数就是物体的瞬时速度。
梯度下降法实现
numpy实现
import numpy as np
x = np.array([1,2,3])
y = np.array([2,4,6])
epoches = 10
lr = 0.1
w = 0
cost=[]
for epoch in range(epoches):
yhat = xw
loss = np.average((yhat-y)*2)
cost.append(loss)
dw = -2(y-yhat)@ x.T/(x.shape[0])
w=w-lrdw
print(w)
学习L2-Norm,L1-Norm,L0-Norm
为了防止过拟合,对参数进行正则化。将正则化项加入到损失函数中一起优化,约束参数取值不要过大。
L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。换句话说,让参数W是稀疏的。
L1范数是指向量中各个元素绝对值之和。L1适用于特征选择,可解释性。
L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,平滑,平滑的function对异常值不敏感,但不能平滑成一条水平线,λ。
λ越大,越考虑w
L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。
说明为什么用L1-Norm代替L0-Norm
L1范数是L0范数的最优凸近似。任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。W的L1范数是绝对值,|w|在w=0处是不可微。 虽然L0可以实现稀疏,但是实际中会使用L1取代L0。因为L0范数很难优化求解,L1范数是L0范数的最优凸近似,它比L0范数要容易优化求解。
学习为什么只对w/Θ做限制,不对b做限制
因为b影响的式整体的平移,并不影响函数拟合的程度及模型的复杂性。