【吴恩达机器学习】监督学习:回归与分类

目录

1 机器学习

监督学习与无监督学习

(一)监督学习(Supervised learning)

(二)无监督学习(Unsupervised learning)

2 一元线性回归(单变量线性回归)

2.1 线性回归模型

2.1.1 认识数据集

2.1.2 公式

2.2 成本函数(代价函数)

2.2.1 公式

2.2.2 直观理解 

2.3 梯度下降

2.3.1 原理

2.3.2 直观理解

2.3.3 学习率

2.3.4 线性回归的梯度下降

3 多元线性回归 (多变量线性回归)

3.1 多变量的模型预测

3.1.1 多类特征

3.1.2 公式

3.2 用多个变量计算成本

3.3 多元线性回归的梯度下降

 梯度下降的一种替代方法——正规方程(Normal Equation)

3.4 特征缩放

3.4.1 除以最大值

3.4.2 均值归一化(Mean normalization)

3.4.3 Z-分数归一化(Z - score normalization)

3.5 检查梯度下降是否收敛

3.5.1 观察学习曲线

3.5.2 使用自动收敛测试

 3.6 学习率的选择

3.7 特征工程

3.8 多项式回归

4 逻辑回归 (logistic regression)

4.1 分类——逻辑回归

4.1.1 二元分类问题

4.1.2 线性回归对于分类问题的局限性

4.1.3 Sigmoid 函数

 4.1.4 决策边界

4.2 逻辑回归的代价函数

简化版代价函数

4.3 逻辑回归的梯度下降

4.4 过拟合问题

高偏差(High Bias)——欠拟合

高方差(High Variance)——过拟合

 4.5 解决过拟合

4.5.1 收集更多的训练数据 

4.5.2 减少特征,进行“特征选择” 

 4.5.3 正则化(Regularization)

正则化代价函数

正则化参数的作用 

正则化线性回归

代价函数

梯度函数 

正则化逻辑回归

 代价函数

 梯度函数 


1 机器学习

监督学习与无监督学习

(一)监督学习(Supervised learning)

监督学习是在已知正确答案(标签)的数据集上进行训练的学习方式。其主要任务分为回归和分类。

回归:预测连续型数值。例如,根据房屋的各种特征(面积、房间数量等)预测房价,这里房价是一个连续的数值。

分类:预测离散型类别。比如,根据肿瘤的大小判断其是良性还是恶性,结果只有 “良性” 和 “恶性” 两种类别。

(二)无监督学习(Unsupervised learning)

无监督学习是在没有预先标注标签的数据集上进行学习。它旨在发现数据中的内在结构和模式。无监督学习不需要预先知道数据的类别,能够帮助我们从复杂的数据中挖掘出有价值的信息。

聚类:将相似的数据点归为一组,实现对数据的分类整理。在新闻领域,可把主题相同的新闻文章归在一起;在客户数据分析中,依据客户的特征和行为,划分不同的市场细分群体。

降维:用较少的数据表示原有数据,降低数据维度,去除冗余信息,在不损失关键信息的前提下简化数据,提升处理效率。

异常检测:找出数据集中与其他数据差异较大、不符合常规模式的异常点。在网络安全监测、设备故障检测等方面有重要应用,及时发现异常情况,保障系统正常运行。

2 一元线性回归(单变量线性回归)

2.1 线性回归模型

2.1.1 认识数据集

2.1.2 公式

f_{w, b}(x) = wx + b 

通过训练数据集来调整 \(w\) 和 \(b\) 的值,使得模型能够尽可能准确地预测目标值。

2.2 成本函数(代价函数)

2.2.1 公式

成本函数衡量模型预测值与真实值的差距,目标是找到使成本最小的 w 和 b。

一个变量的成本方程式是:

J(w, b) = \frac{1}{2m} \sum_{i=0}^{m-1} \left( f_{w, b}(x^{(i)}) - y^{(i)} \right)^2

 m是数据集中的训练实例的数量

计算成本的函数如下:

def compute_cost(x, y, w, b): 
    """
    Computes the cost function for linear regression.
    
    Args:
      x (ndarray (m,)): Data, m examples 
      y (ndarray (m,)): target values
      w,b (scalar)    : model parameters  
    
    Returns
        total_cost (float): The cost of using w,b as the parameters for linear regression
               to fit the data points in x and y
    """
    # number of training examples
    m = x.shape[0]    #通过x数组的形状获取训练样本的数量m
    
    cost_sum = 0 
    for i in range(m): 
        f_wb = w * x[i] + b   
        cost = (f_wb - y[i]) ** 2  
        cost_sum = cost_sum + cost  
    total_cost = (1 / (2 * m)) * cost_sum  

    return total_cost

2.2.2 直观理解 

2.3 梯度下降

2.3.1 原理

梯度下降通过迭代更新参数,逐步逼近成本函数的最小值:

w = w - \alpha \frac{\partial J(w, b)}{\partial w}

b = b - \alpha \frac{\partial J(w, b)}{\partial b}

2.3.2 直观理解

2.3.3 学习率

2.3.4 线性回归的梯度下降

梯度的定义为:

\frac{\partial J(w, b)}{\partial w} = \frac{1}{m} \sum_{i=0}^{m-1} (f_{w, b}(x^{(i)}) - y^{(i)}) x^{(i)}

\frac{\partial J(w, b)}{\partial b} = \frac{1}{m} \sum_{i=0}^{m-1} (f_{w, b}(x^{(i)}) - y^{(i)})

计算梯度公式:

def compute_gradient(x, y, w, b): 
    """
    Computes the gradient for linear regression 
    Args:
      x (ndarray (m,)): Data, m examples 
      y (ndarray (m,)): target values
      w,b (scalar)    : model parameters  
    Returns
      dj_dw (scalar): The gradient of the cost w.r.t. the parameters w
      dj_db (scalar): The gradient of the cost w.r.t. the parameter b     
     """
    
    # Number of training examples
    m = x.shape[0]    
    dj_dw = 0
    dj_db = 0
    
    for i in range(m):  
        f_wb = w * x[i] + b 
        dj_dw_i = (f_wb - y[i]) * x[i] 
        dj_db_i = f_wb - y[i] 
        dj_db += dj_db_i
        dj_dw += dj_dw_i 
    dj_dw = dj_dw / m 
    dj_db = dj_db / m 
        
    return dj_dw, dj_db

3 多元线性回归 (多变量线性回归)

3.1 多变量的模型预测

3.1.1 多类特征

3.1.2 公式

3.2 用多个变量计算成本

有多个变量的成本方程式是:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InquisiG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值