李宏毅机器学习day1

这篇博客介绍了机器学习的基础概念,重点讲解了中心极限定理及其在回归分析中的应用,包括线性回归和逻辑回归的损失函数、最大似然估计以及梯度下降法。此外,还探讨了正则化的L1-Norm和L2-Norm在防止过拟合中的作用。
摘要由CSDN通过智能技术生成

了解什么是Machine learning
  机器学习就是从已知的有限的数据,发现其潜在的规律。通过数据训练得到训练模型,然后对未知数据进行预测
学习中心极限定理,学习正态分布,学习最大似然估计
  中心极限定理:中心极限定理指的是给定一个任意分布的总体。我每次从这些总体中随机抽取 n 个抽样,一共抽 m 次。 然后把这 m 组抽样分别求出平均值。 这些平均值的分布接近正态分布。
  (1) 推导回归 Loss function
     logistic回归
p ( y = 1 ∣ x ) = 1 1 + e x p ( − w T x ) p(y=1|x)=\frac{1}{1+exp(-w^Tx)} p(y=1x)=1+exp(wTx)1
p ( y = 0 ∣ x ) = 1 − 1 1 + e x p ( − w T x ) = e x p ( − w T x ) 1 + e x p ( − w T x ) p(y=0|x)=1-\frac{1}{1+exp(-w^Tx)} =\frac{exp(-w^Tx)}{1+exp(-w^Tx)} p(y=0x)=11+exp(wTx)1=1+exp(wTx)exp(wTx)
交叉熵损失函数
> https://blog.csdn.net/tsyccnh/article/details/79163834
N—样本
R ( w ) = − 1 N ∑ n = 1 N ( ( p ( y = 1 ∣ x ) l o g ( y ^   ) + ( p ( y = 0 ∣ x ) l o g ( 1 − y ^   ) ) = − 1 N ∑ n = 1 N y l o g ( y ^ ) + ( 1 − y ) l o g ( 1 − y ^ ) R(w)=-\frac{1}{N} \sum_{n=1}^N ((p(y=1|x)log(\hat{y}~)+(p(y=0|x)log(1-\hat{y}~)) =-\frac{1}{N} \sum_{n=1}^N ylog(\hat{y})+(1-y)log(1-\hat{y}) R(w)=N1n=1N((p(y=1x)log(y^ )+(p(y=0x)log(1y^ ))=N1n=1Nylog(y^)+(1y)log(1y^)
二分类 y ⊂{0,1}
p(y=1|x:θ)=h(x),p(y=0|x:θ)=1-h(x),合并起来 p(y|x:θ)=[ h ( x ) y h(x)^y h(x)y][ ( 1 − h ( x ) ) 1 − y (1-h(x))^{1-y} (1h(x))1y]
N个样本独立同分布,似然函数 L ( θ ) = ∏ n = 1 N p ( y ( n ) ∣ x ( n ) : θ ) L(θ)=\prod_{n=1}^{N}p(y^{(n)}|x^{(n)}:θ) L(θ)=n=1Np(y(n)x(n):θ) (x,y)是已知的。求解(θ)。
所以取对数
l o g ( L ( θ ) ) = l o g ( ∏ n = 1 N p ( y ( n ) ∣ x ( n ) : θ ) = ∑ n = 1 N l o g ( p ( y ( n ) ∣ x ( n ) ) = ∑ n = 1 N l o g ( [ h ( x ) y ] [ ( 1 − h ( x ) ) 1 − y ] ) = ∑ n = 1 N ( y l o g ( h ( x ) + ( 1 − y ) l o g ( 1 − h ( x ) ) log(L(θ))=log(\prod_{n=1}^{N}p(y^{(n)}|x^{(n)}:θ)=\sum_{n=1}^N log(p(y^{(n)}|x^{(n)})=\sum_{n=1}^N log([h(x)^y][(1-h(x))^{1-y}])=\sum_{n=1}^N(ylog(h(x)+(1-y)log(1-h(x)) log(L(θ))=log(n=1Np(y(n)x(n):θ)=n=1Nlog(p(y(n)x(n))=n=1Nlog([h(x)y][(1h(x))1y])=n=1N(ylog(h(x)+(1y)log(1h(x))
线形回归
y ( i ) = θ T X ( i ) + ξ ( i ) y^{(i)}=θ^TX^{(i)}+ξ^{(i)} y(i)=θTX(i)+ξ(i) ξ 是模型与实际数值的误差。有中心极限定理加上独立同分布可知。ξ 属于高斯分布
p ( y ( i ) ∣ x ( i ) : θ ) = 1 2 π δ e − ( y ( i ) − θ T X ( i ) ) 2 2 δ 2 p(y^{(i)}|x^{(i)}:θ)=\frac{1}{\sqrt{2π}δ}e^-{\frac{(y^{(i)}-θ^TX^{(i)})^2}{2δ^2}} p(y(i)x(i):θ)=2π δ1e2δ2(y(i)θTX(i))2
y和x是已知的。我们要求的是θ。采用最大似然估计。得到似然函数
l o g ( p ) = l o g ( ( ∏ n = 1 N ( 1 2 π δ e − ( y ( i ) − θ T X ( i ) ) 2 2 δ 2 ) ) = ∑ n = 1 N l o g ( 1 2 π δ ) − ∑ n = 1 N ( y ( i ) − θ T X ( i ) ) 2 2 δ 2 ) log(p)=log((\prod_{n=1}^{N}(\frac{1}{\sqrt{2π}δ}e^-{\frac{(y^{(i)}-θ^TX^{(i)})^2}{2δ^2}}))=\sum_{n=1}^Nlog(\frac{1}{\sqrt{2π}δ})-\sum_{n=1}^N{\frac{(y^{(i)}-θ^TX^{(i)})^2}{2δ^2}}) log(p)=log((n=1N(2π δ1e2δ2(y(i)θTX(i))2))=n=1Nlog(2π δ1)n=1N2δ2(y(i)θTX(i))2)
(2) 学习损失函数与凸函数之间的关系

  (3) 了解全局最优和局部最优
有损失函数就可以看出。会有多个极值。极值就是局部最优的位置。然而极值并非最大值。最值一定是极值。最值就是全局最优点
  • 学习导数,泰勒展开
    (1) 推导梯度下降公式
    线形回归; h ( i ) ( θ ) = θ 0 + θ 1 x 1 ( i ) + θ 2 x 2 ( 2 ) + . . . . θ n x n ( n ) h^{(i)}(θ)=θ_0+θ_1x_1^{(i)}+θ_2x_2^{(2)}+....θ_nx_n^{(n)} h(i)(θ)=θ0+θ1x1(i)+θ2x2(2)+....θnxn(n)
    损失函数; J ( θ ) = 1 2 N ∑ n = 1 N ( y ( i ) − h ( i ) ( θ ) ) 2 J(θ)=\frac{1}{2N} \sum_{n=1}^{N}(y^{(i)}-h^{(i)}(θ))^2 J(θ)=2N1n=1N(y(i)h(i)(θ))2
    d θ 0 = − 1 N ∑ n = 1 N ( y ( i ) − h ( i ) ( θ ) ) dθ_0=-\frac{1}{N} \sum_{n=1}^{N}(y^{(i)}-h^{(i)}(θ)) dθ0=N1n=1N(y(i)h(i)(θ))
    d θ 1 = − x 1 ( i ) 1 N ∑ n = 1 N ( y ( i ) − h ( i ) ( θ ) ) dθ_1=-x_1^{(i)}\frac{1}{N} \sum_{n=1}^{N}(y^{(i)}-h^{(i)}(θ)) dθ1=x1(i)N1n=1N(y(i)h(i)(θ))
    d θ 2 = − x 2 ( i ) 1 N ∑ n = 1 N ( y ( i ) − h ( i ) ( θ ) ) dθ_2=-x_2^{(i)}\frac{1}{N} \sum_{n=1}^{N}(y^{(i)}-h^{(i)}(θ)) dθ2=x2(i)N1n=1N(y(i)h(i)(θ))
          …
    更新 θ 0 : = θ 0 − α d θ 0 θ_0:=θ_0-αdθ_0 θ0:=θ0αdθ0
         θ 1 : = θ 1 − α d θ 1 θ_1:=θ_1-αdθ_1 θ1:=θ1αdθ1
         θ 2 : = θ 2 − α d θ 2 θ_2:=θ_2-αdθ_2 θ2:=θ2αdθ2
         …
    逻辑回归
    f ( z ) = 1 1 + e − z f(z)=\frac{1}{1+e^{-z}} f(z)=1+ez1
    d f ( z ) = e − z ( 1 + e − z ) 2 = 1 + e − z ( 1 + e − z ) 2 − 1 ( 1 + e − z ) 2 = f ( z ) − f ( z ) 2 = f ( z ) ( 1 − f ( z ) ) df(z)=\frac{e^{-z}}{(1+e^{-z})^2}=\frac{1+e^{-z}}{(1+e^{-z})^2}-\frac{1}{(1+e^{-z})^2}=f(z)-f(z)^2=f(z)(1-f(z)) df(z)=(1+ez)2ez=(1+ez)21+ez(1+ez)21=f(z)f(z)2=f(z)(1f(z))
    z ( i ) ( θ ) = θ 0 + θ 1 x 1 ( i ) + θ 2 x 2 ( 2 ) + . . . . θ n x n ( n ) z^{(i)}(θ)=θ_0+θ_1x_1^{(i)}+θ_2x_2^{(2)}+....θ_nx_n^{(n)} z(i)(θ)=θ0+θ1x1(i)+θ2x2(2)+....θnxn(n)
    f ( z ( i ) ) = 1 1 + e − z ( i ) f(z^{(i)})=\frac{1}{1+e^{-z^(i)}} f(z(i))=1+ez(i)1
    损失函数:
    J ( θ ) = − 1 N ∑ n = 1 N ( y ( i ) l o g ( f ( z ( i ) ) ) + ( 1 − y ( i ) ) l o g ( 1 − f ( z ( i ) ) ) ) J(θ)=-\frac{1}{N}\sum_{n=1}^{N}(y^{(i)}log(f(z^{(i)}))+(1-y^{(i)})log(1-f(z^{(i)}))) J(θ)=N1n=1N(y(i)log(f(z(i)))+(1y(i))log(1f(z(i))))
    一个 样本 d J ( θ ) = y d f ( z ) d ( z ) d ( z ) d ( θ ) f ( z ) − ( 1 − y ) d f ( z ) d ( z ) d ( z ) d ( θ ) 1 − f ( z ) = y f ( z ) ( 1 − f ( z ) ) d θ f ( z ) − ( 1 − y ) f ( z ) ( 1 − f ( z ) ) d θ 1 − f ( z ) = ( y − f ( z ) d θ ) dJ(θ)=y\frac{\frac{df(z)}{d(z)}\frac{d(z)}{d(θ)}}{f(z)}-(1-y)\frac{{\frac{df(z)}{d(z)}\frac{d(z)}{d(θ)}}}{1-f(z)}=y\frac{f(z)(1-f(z))dθ}{f(z)}-(1-y)\frac{f(z)(1-f(z))dθ}{1-f(z)}=(y-f(z)dθ) dJ(θ)=yf(z)d(z)df(z)d(θ)d(z)(1y)1f(z)d(z)df(z)d(θ)d(z)=yf(z)f(z)(1f(z))dθ(1y)1f(z)f(z)(1f(z))dθ=(yf(z)dθ)
    d J ( θ 0 ) = − 1 N ∑ n = 1 N ( y ( n ) − f ( z ( n ) ) d θ 0 ) dJ(θ_{0})=-\frac{1}{N}\sum_{n=1}^{N}(y^{(n)}-f(z^{(n)})dθ_{0}) dJ(θ0)=N1n=1N(y(n)f(z(n))dθ0)
    d J ( θ 1 ) = − 1 N ∑ n = 1 N ( y ( n ) − f ( z ( n ) ) d θ 1 ) dJ(θ_{1})=-\frac{1}{N}\sum_{n=1}^{N}(y^{(n)}-f(z^{(n)})dθ_{1}) dJ(θ1)=N1n=1N(y(n)f(z(n))dθ1)
    d J ( θ 2 ) = − 1 N ∑ n = 1 N ( y ( n ) − f ( z ( n ) ) d θ 2 ) dJ(θ_{2})=-\frac{1}{N}\sum_{n=1}^{N}(y^{(n)}-f(z^{(n)})dθ_{2}) dJ(θ2)=N1n=1N(y(n)f(z(n))dθ2)

    更新 θ 0 : = θ 0 − α d θ 0 θ_0:=θ_0-αdθ_0 θ0:=θ0αdθ0
         θ 1 : = θ 1 − α d θ 1 θ_1:=θ_1-αdθ_1 θ1:=θ1αdθ1
         θ 2 : = θ 2 − α d θ 2 θ_2:=θ_2-αdθ_2 θ2:=θ2αdθ2
         …
    (2)写出梯度下降的代码

  • 学习L2-Norm,L1-Norm,L0-Norm
    (1) *推导正则化公式说明
    J ( θ ) = J ( 原 来 ) ( θ ) + λ ∑ i = 1 n θ i 2 J(θ)=J_{(原来)}(θ)+λ\sum_{i=1}^{n}θ_{i}^2 J(θ)=J()(θ)+λi=1nθi2 注意 θ 从 1 开始。 θ 0 θ_0 θ0相当于b,不做正则化。
    d J ( θ ) = d J ( 原 来 ) ( θ ) + λ θ dJ(θ)=dJ_{(原来)}(θ)+λθ dJ(θ)=dJ()(θ)+λθ
    更新参数时:
    θ : = θ − α d ( θ ) = θ − α d ( θ ) − λ α θ = ( 1 − λ α ) θ − α d ( θ ) θ:=θ-αd(θ)=θ-αd(θ)-λαθ=(1-λα)θ-αd(θ) θ:=θαd(θ)=θαd(θ)λαθ=(1λα)θαd(θ)

    (2) 为什么用 L1-Norm代替 L0-Norm学习
    (3) 为什么只对 w/Θ 做限制,不对 b 做限制*
    我认为w都是与数据挂钩的。r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值