天天看点

深度学习学习记录一

深度学习学习记录一

我这里的规划是,李宏毅的深度学习课程,然后林轩田的机器学习基石,机器学习技法,最后我们苏老师的计算机视觉。后面就读论文,复现程序了。

竞赛,作业平台

让机器自己学习来生产复杂的程序。如语音识别,图像分类等。

Regression: 输出一个数值的程序

Classification : 从设定好的信息中,选择一个输出,例子alaf go,从19*19的棋盘中选择一个最好的位置。

Structured Learning:让机器学会创作。(黑暗大陆)

1.Function with unknown Parameters

<code>y = b + wx</code>

b: bias

w: weight

2.Define Loss from Training Data

<code>L(b,W)</code>

3.Optimization

Gradient Descent :have local minima 局部最优解

η:learning rate

<code>w = η * dL/dw</code>

李宏毅老师,这里使用自己的2017-2020的youtube数据来预测第二天的观看人数。用一个w来预测,等于用前一天预测,效果不好。发现曲线是七天一个循环,所以使用7个w预测。然后效果优化到极限,还是有误差。所以线性函数(linear models)不够用来预测。piecewise linear curves(分段线性函数),曲线也可以用piecewise linear curves来逼近。

y = c * (1 / 1 + e ^ -(b + wx1))

w:改变斜率

b:左右移动

c:改变高度

神经网络原理

y = b + ∑c * (1 / 1 + e ^ -(b + wx1)) ci,bi,wi (通过多个sigmoid函数来相加生成piecewise linear curves )

y = b + ∑c * (1 / 1 + e ^ -(b + ∑wx)) ci,bi,wij,xj (通过多个sigmoid函数来相加生成piecewise linear curves ) 这个式子可以推出神经网络

根据式子推到神经网络

将式子矩阵化1

将式子矩阵化2

上图的矩阵式子

L(θ) θ 是所有的 Unknown parameters

g :gradient : 梯度

batch 把资料分为多个batch,用小batch 来更新参数。一个epoch是把所有的batch过一遍的结果。

这个是hard sigmoid。

y = b + ∑c * max(0,b + ∑wx) ci,bi,wij,xj

效果比两层多神经元好很多。所以叫深度学习。括弧笑

论文收集 alexnet vgg googlenet residualnet

继续阅读