【吴恩达系列】machine learning课程week1----机器学习概述/单变量线性回归/凸优化

1. 机器学习

“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.”

  • 监督学习回归/分类(已知训练集对应的正确答案)
    • 回归:预测一个连续值,即试图将输入变量和输出用一个连续函数对应起来。参考课程中的房价预测。
    • 分类:预测一个离散值,即试图将输入变量与离散的类别对应起来。参考课程中的癌症恶性和良性预测。
               (支持向量机SVM:让计算机处理无限多特征)
  • 非监督学习:聚类(数据集无标签)/ 降维
  • 强化学习

2. 单变量线性回归

2.1 模型表示(监督学习问题)

给定训练集,学习函数 h : X → Y h:X→Y h:XY,使 h ( x ) h(x) h(x)是对应 y y y值的“良好”预测因子:
+ 若要预测的目标变量是连续的(ex.预测住房价格):回归问题
+ 若 y y y只能采用少量离散值时(ex.给定居住面积,预测某个住宅是房子还是公寓):分类问题

单变量线性回归模型 h θ ( x ) = θ 0 + θ 1 x h_\theta (x) = \theta_0 + \theta_1 x hθ(x)=θ0+θ1x

2.2 代价函数(ex.平方误差函数)

a. 直线方程假设:
        h θ ( x ) = θ 0 + θ 1 x h_\theta (x) = \theta_0 + \theta_1 x hθ(x)=θ0+θ1x
b. 代价函数定义:
        J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( y ^ ( i ) − y ( i ) ) 2 = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^m (\hat y^{(i)}−y^{(i)})^2=\frac{1}{2m}\sum_{i=1}^m (h_\theta(x^{(i)})−y^{(i)})^2 J(θ0,θ1)=2m1i=1m(y^(i)y(i))2=2m1i=1m(hθ(x(i))y(i))2
with m = 2 m=2 m=2
c. 优化目标:
        arg ⁡ m i n θ 0 , θ 1 J ( θ 0 , θ 1 ) \arg min_{\theta_0,\theta_1} J(\theta_0,\theta_1) argminθ0,θ1J(θ0,θ1)
⚠️ 1 2 \frac{1}{2} 21用于抵消平方函数的导数项以方便计算梯度下降。

2.3 梯度下降

  1. 基本步骤:

θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) \theta_j:=\theta_j−\alpha \frac{\partial}{\partial \theta_j} J(\theta_0,\theta_1) θj:=θjαθjJ(θ0,θ1)
    step1 : 初始化 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1,比如 θ 0 = 0 , θ 1 = 0 \theta_0=0,\theta_1=0 θ0=0,θ1=0
    step2 : 沿着梯度下降的方向,不断更新 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1,从而使得 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)不断减少,最终达到最小(全局或者局部最小)值。

    ⚠️同步更新所有 θ \theta θ值( J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)在所有 θ \theta θ更新完后重新计算)
    ⚠️代价函数为凸函数:全局极小值

2. 学习率 α \alpha α
    控制每次更新 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1的幅度。
     α \alpha α太小:容易造成训练时间过长,收敛过慢
     α \alpha α太大:容易造成不收敛,甚至发散

  • 梯度下降应用于线性回归:

θ 0 : = θ 0 − α ∂ ∂ θ 0 J ( θ 0 ) = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) \theta_0:=\theta_0−\alpha \frac{\partial}{\partial \theta_0} J(\theta_0)=\theta_0 − \alpha \frac{1}{m} \sum^m_{i=1} (h_\theta(x^{(i)})−y^{(i)}) θ0:=θ0αθ0J(θ0)=θ0αm1i=1m(hθ(x(i))y(i))
θ 1 : = θ 1 − α ∂ ∂ θ 1 J ( θ 1 ) = θ 1 − α 1 m ∑ i = 1 m ( ( h θ ( x ( i ) ) − y i ) x ( i ) ) \theta_1:=\theta_1−\alpha \frac{\partial}{\partial \theta_1} J(\theta_1)=\theta_1 − \alpha \frac{1}{m} \sum^m_{i=1} ((h_\theta(x^{(i)})−y_i)x^{(i)}) θ1:=θ1αθ1J(θ1)=θ1αm1i=1m((hθ(x(i))yi)x(i))

  • 批量(batch)梯度下降:
    指的是在梯度下降的每一步中,我们都用到了所有的训练样本。

3. 矩阵基础

  • 矩阵的乘法不满足交换律: A × B ≠ B × A A \times B \neq B \times A A×B=B×A
                           满足结合律: A × ( B × C ) = ( A × B ) × C A \times (B \times C) = (A \times B) \times C A×(B×C)=(A×B)×C
  • 矩阵转置: ( A ± B ) T = A T ± B T (A \pm B)^T=A^T \pm B^T (A±B)T=AT±BT
                         ( A × B ) T = B T × A T (A \times B)^T=B^T \times A^T (A×B)T=BT×AT

⚠️补充:凸优化 [待完善] 链接

4. 参考资料

csdn笔记
课程翻译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值