过 程 : 输 入 x , 计 算 机 通 过 一 系 列 计 算 , 得 出 y ^ , 我 们 希 望 计 算 而 来 的 y ^ 与 期 望 中 的 y 无 限 接 近 。 过程:输入x,计算机通过一系列计算,得出\hat y,我们希望计算而来的\hat y与期望中的y无限接近。 过程:输入x,计算机通过一系列计算,得出y^,我们希望计算而来的y^与期望中的y无限接近。
举 个 例 子 , 给 计 算 机 输 入 一 张 猫 猫 的 图 片 , 计 算 机 得 出 一 个 结 果 y ^ , 我 们 希 望 y ^ 无 限 接 近 期 望 中 的 结 果 ‘ 猫 猫 ’ 。 举个例子,给计算机输入一张猫猫的图片,计算机得出一个结果\hat y,我们希望\hat y无限接近期望中的结果‘猫猫’。 举个例子,给计算机输入一张猫猫的图片,计算机得出一个结果y^,我们希望y^无限接近期望中的结果‘猫猫’。
所 以 我 们 用 损 失 函 数 将 y ^ 转 化 为 0 − 1 的 概 率 值 , 但 损 失 函 数 针 对 单 个 样 本 , 而 成 本 函 数 针 对 所 有 样 本 的 损 失 函 数 和 。 所以我们用损失函数将\hat y转化为0-1的概率值,但损失函数针对单个样本,而成本函数针对所有样本的损失函数和。 所以我们用损失函数将y^转化为0−1的概率值,但损失函数针对单个样本,而成本函数针对所有样本的损失函数和。
输 入 一 个 64 ∗ 64 的 图 片 , 计 算 机 将 此 图 片 存 储 为 大 小 为 64 ∗ 64 ∗ 3 = 12288 大 小 的 特 征 向 量 n x = [ . . . . ] 。 ( x , y ) , x ∈ R n x , y ∈ 0 , 1 , m t r a i n = ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , … , ( x ( m ) , y ( m ) ) , m t e s t 。 输入一个64*64的图片,计算机将此图片存储为大小为64*64*3=12288大小的特征向量n_x=\begin{bmatrix} . \\ . \\.\\. \end{bmatrix} 。(x,y), x \in R^{n_x} , y\in{0,1} ,m_{train}={(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),{\dots},(x^{(m)},y^{(m)})},m_{test}。 输入一个64∗64的图片,计算机将此图片存储为大小为64∗64∗3=12288大小的特征向量nx=⎣⎢⎢⎡....⎦⎥⎥⎤。(x,y),x∈Rnx,y∈0,1,mtrain=(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m)),mtest。
若 x = [ x ( 1 ) x ( 2 ) … x ( m ) ] , 则 x = R n x ∗ m , x . s h a p e = ( n x , m ) 。 若x=\begin{bmatrix} x^{(1)}&&x^{(2)} &&{\dots} && x^{(m)} \end{bmatrix} ,则x=R^{n_x*m},x.shape=(n_x,m)。 若x=[x(1)x(2)…x(m)],则x=Rnx∗m,x.shape=(nx,m)。
若 y = [ y ( 1 ) y ( 2 ) … y ( m ) ] , 则 y ∈ R 1 ∗ m , y . s h a p e = ( 1 , m ) 。 我 们 希 望 y ^ 无 线 接 近 y , 则 y ^ ∈ ( 0 , 1 ) , x ∈ R n x , w ∈ R n x , b ∈ R , y ^ = δ ( w T x + b ) , δ ( z ) = 1 1 + e − z 。 若y=\begin{bmatrix} y^{(1)}&&y^{(2)} &&{\dots} && y^{(m)} \end{bmatrix} ,则y\in R^{1*m},y.shape=(1,m)。我们希望\hat y无线接近y,则\hat y \in (0,1),x\in R^{n_x},w\in R^{n_x},b\in R,\hat y=\delta(w^Tx+b),\delta(z)=\frac{1}{1+e^{-z}}。 若y=[y(1)y(2)…y(m)],则y∈R1∗m,y.shape=(1,m)。我们希望y^无线接近y,则y^∈(0,1),x∈Rnx,w∈Rnx,b∈R,y^=δ(wTx+b),δ(z)=1+e−z1。
若 z ↑ , 则 δ ≈ 1 1 + 0 ≈ 1 ; 若z\uparrow,则\delta \approx \frac{1}{1+0}\approx 1; 若z↑,则δ≈1+01≈1;
若 z ↓ , 则 δ ≈ 1 x + ∞ ≈ 0 。 若z\downarrow,则\delta \approx \frac{1}{x+\infty}\approx0。 若z↓,则δ≈x+∞1≈0。
l o s s f u n c t i o n : L = ( y ^ , y ) = 1 2 ( y ^ − y ) 2 , 但 通 常 使 用 L = − ( y log 2 y ^ + ( 1 − y ) l o g 2 ( 1 − y ^ ) ) 。 loss function:L = (\hat y,y)=\frac {1}{2}(\hat y - y)^2,但通常使用L = -(y\log_2 \hat y+(1-y)log_2(1-\hat y))。 lossfunction:L=(y^,y)=21(y^−y)2,但通常使用L=−(ylog2y^+(1−y)log2(1−y^))。
若 y = 1 , L ( y ^ , y ) = − y l o g 2 y ^ , 希 望 l o g 2 y ^ ↑ , 则 y ^ ↑ 。 若y=1,L(\hat y,y)=-ylog_2\hat y,希望log_2 \hat y \uparrow,则\hat y \uparrow。 若y=1,L(y^,y)=−ylog2y^,希望log2y^↑,则y^↑。
若 y = 0 , L ( y ^ , y ) = l o g 2 ( 1 − y ^ ) , 希 望 l o g ( 1 − y ^ ) ↑ , 则 y ^ ↓ 若y=0,L(\hat y,y)=log_2 (1-\hat y),希望log(1-\hat y)\uparrow,则\hat y \downarrow 若y=0,L(y^,y)=log2(1−y^),希望log(1−y^)↑,则y^↓
梳 理 : 为 何 使 用 损 失 函 数 ? 来 衡 量 单 个 样 本 预 测 输 出 值 y ^ 和 y 的 实 际 值 有 多 接 近 。 梳理: 为何使用损失函数? 来衡量单个样本预测输出值\hat y和y的实际值有多接近。 梳理:为何使用损失函数?来衡量单个样本预测输出值y^和y的实际值有多接近。
c o s t f u n c t i o n : J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y i ) = − 1 m ∑ i = 1 m [ y ( i ) l o g 2 y ^ ( i ) + ( 1 − y ( i ) ) l o g 2 ( 1 − y ^ ( i ) ) ] . cost function:J(w,b)=\frac{1}{m}\sum_{i=1}^{m}L(\hat y^{(i)},y^{i})=-\frac{1}{m} \sum_{i=1}^m[y^{(i)}log_2\hat y^{(i)}+(1-y^{(i)})log_2(1-\hat y^{(i)})]. costfunction:J(w,b)=m1∑i=1mL(y^(i),yi)=−m1∑i=1m[y(i)log2y^(i)+(1−y(i))log2(1−y^(i))].
梳 理 : 为 何 使 用 成 本 函 数 ? 来 衡 量 所 有 样 本 的 损 失 函 数 和 。 梳理: 为何使用成本函数? 来衡量所有样本的损失函数和。 梳理:为何使用成本函数?来衡量所有样本的损失函数和。
J ( w , b ) w = w − α ∂ J ( w , b ) ∂ w ; b = b − α ∂ J ( w , b ) ∂ b J(w,b) w=w-\alpha \frac{\partial J(w,b)}{\partial w};b=b-\alpha \frac{\partial J(w,b)}{\partial b} J(w,b)w=w−α∂w∂J(w,b);b=b−α∂b∂J(w,b)
其 中 , α 是 l e a r n i n g r a t e 学 习 率 , 可 以 控 制 每 一 次 迭 代 或 梯 度 下 降 法 的 步 长 。 其中,\alpha是learning rate学习率,可以控制每一次迭代或梯度下降法的步长。 其中,α是learningrate学习率,可以控制每一次迭代或梯度下降法的步长。
其 中 , ∂ J ( w , b ) ∂ w 是 对 w 偏 导 。 其中, \frac{\partial J(w,b)}{\partial w}是对w偏导。 其中,∂w∂J(w,b)是对w偏导。
上述公式,可以看出这是三维空间的立体图形,通过不断修正w和b,使得w和b最终归到图形中最凹点或最凸点处。
梳 理 : 为 何 使 用 梯 度 下 降 ? 为 了 训 练 或 学 习 训 练 集 上 的 参 数 w , b 梳理: 为何使用梯度下降? 为了训练或学习训练集上的参数w,b 梳理:为何使用梯度下降?为了训练或学习训练集上的参数w,b
举例,J(a,b,c)=3(a+bc),令u=bc,v=a+u,J=3v。采用链式法则,从j倒退a,b,c的导数,这个过程,就是计算图。
省略显示for循环,用python中的numpy中的向量来替换,在数据量很大的时候,运算速度可以显著提高。