Datawhale X 李宏毅苹果书 AI夏令营Day01

一、打卡

Datawhale

二、学习

李宏毅老师对应视频课程:预测本频道观看人数(上) - 机器学习基本概念简介_哔哩哔哩_bilibili

1、机器学习 

(1)、机器学习基础

机器学习是一种人工智能的分支领域,关注如何使计算机系统能够通过数据和经验来学习和改进性能,而无需明确地进行编程。通过机器学习,计算机系统能够从数据中提取模式、进行归纳推理和决策,从而实现自主学习和自主适应。机器学习算法包括监督学习、无监督学习和强化学习等,可以应用于数据挖掘、模式识别、自然语言处理、图像识别等各种领域。

举个例子:

比如现在要计算机通过某种函数给我输出“how are you”的字样,计算机是通过不同的函数来输出不同的结果,而这个函数非常复杂远远不是人类能写出来的,让计算机去寻找这个函数的过程就叫做机器学习

随着要找的函数不同学习方式也不同,分为以下两种:

(1)、Regression (回归):The function outputs a scalar

回归任务的目的是预测一个连续的数值输出。这意味着模型的输出是一个数值(标量),可以用来描述量度或数值相关的事物。

比如我要预测24号空气的PM2.5的值,输出是一个数值。

(2)、Classification(分类)

分类任务的目标是将输入数据分到预定义的类别中。输出是离散的,即模型的结果是固定类别或标签之一。

在邮箱中判断哪一封是垃圾邮件,判断时有两种结果“是”或者“否”。

(2)、查找函数

机器学习查找函数分为三步:

  • 写一个带有未知参数的函数,例如:y=wx+b
  • 定义Loss(Loss本质上也是个function),输入值时L(b,w),最终的Loss:L=\frac{1}{N}\sum_{}^{}Ln
  • 最佳化

 

import numpy as np  

def loss_function(y_true, y_pred, **kwargs):  
    """  
    计算均方误差(MSE)损失.  
    
    参数:  
    y_true -- 真实值(numpy数组)  
    y_pred -- 预测值(numpy数组)  
    kwargs -- 其他可选参数  
    
    返回:  
    loss -- 计算得到的损失值  
    """  
    # 计算均方误差  
    loss = np.mean((y_true - y_pred) ** 2)  
    
    # 可根据kwargs做额外的处理  
    # 例如,可以通过kwargs调整损失计算的权重  
    if 'weight' in kwargs:  
        weight = kwargs['weight']  
        loss *= weight  

    return loss  

# 示例使用  
y_true = np.array([3, -0.5, 2, 7])  
y_pred = np.array([2.5, 0.0, 2, 8])  

# 调用损失函数  
mse_loss = loss_function(y_true, y_pred)  
print(f"Mean Squared Error Loss: {mse_loss}")  

# 使用权重参数  
weighted_loss = loss_function(y_true, y_pred, weight=0.5)  
print(f"Weighted Mean Squared Error Loss: {weighted_loss}")
函数解释:
  1. 参数:

    • y_true: 真实的目标值,通常是一个 NumPy 数组。
    • y_pred: 模型的预测值,也通常是一个 NumPy 数组。
    • kwargs: 其他可选参数,这里可以包含任何额外的参数,如权重等。
  2. 损失的计算:

    • 该示例损失函数实现了均方误差(MSE)。它计算预测值与真实值之间的平方差,然后取平均值。
    • 额外的option参数可以根据需要使用,比如对损失应用一个权重。
  3. 返回值:

    返回计算得到的损失值。

2、深度学习

(1)、深度学习基础

深度学习是机器学习的一部分,包括:

1. 数据获取

数据获取是深度学习的第一步,涉及收集相关的数据集。数据可以来自多种来源,如:

  • 公开数据集:例如,Kaggle、UCI Machine Learning Repository等。
  • 网络爬虫:从网页上抓取数据。
  • 传感器和设备:通过物联网设备收集实时数据。
  • 企业内部数据:从公司数据库或客户管理系统获取数据。
2. 特征工程

特征工程是指从原始数据中提取和选择特征,以提升模型性能的过程。这通常涉及以下几个步骤:

  • 数据清洗:处理缺失值、异常值以及不一致的数据。
  • 特征选择:选择对模型预测最有用的特征。
  • 特征转换:例如,将分类变量编码为数值型,或者进行归一化和标准化处理。
  • 特征构建:通过组合现有特征或生成新的特征来丰富数据集。
3. 建立模型

在特征工程完成后,接下来是构建深度学习模型。这一步骤包括:

  • 选择模型架构:选择合适的神经网络架构,如全连接网络(FNN)、卷积神经网络(CNN)、循环神经网络(RNN)等,具体取决于任务类型。
  • 配置超参数:设置学习率、批次大小、优化算法、损失函数等超参数。
  • 模型训练:使用训练数据集训练模型,通过前向传播和反向传播逐步调整权重,以最小化损失函数。
4. 评估与应用

评估模型的性能是确保它在现实场景中有效的关键。包括:

  • 模型评估:使用验证集(或测试集)评估模型性能,使用指标如准确性、精确率、召回率、F1-score等。
  • 超参数调优:通过交叉验证等方法调整超参数以优化模型性能。
  • 部署与应用:将训练好的模型部署到生产环境中,可以是Web应用、移动应用或嵌入式设备,以便为用户提供服务。
  • 监测与维护:在模型投入使用后,需定期监测其性能,并根据新数据进行更新和重训练,以确保持续准确性。

其中特征工程最为重要

(2)、特征工程特点
  • 数据特征决定了模型的上限
  • 预处理和特征提取是最核心的
  • 算法与参数选择决定了如何逼近这个上限
     
(3)、深度学习应用

最主要应用于计算机视觉和自然语言处理(NLP)

计算机视觉
  • 图像分类:用于识别图像中的物体,如使用卷积神经网络(CNN)进行物体识别(例如 ImageNet 挑战)。
  • 目标检测:检测并定位图像中的多个物体,如 YOLO 和 Faster R-CNN 等方法。
  • 图像生成:使用生成对抗网络(GAN)生成新的图像,如修复图像、生成虚拟游戏角色等。
  • 图像分割:将图像分为不同区域,如语义分割和实例分割,常用于医学图像分析和自动驾驶。
自然语言处理(NLP)
  • 文本分类:用于情感分析、垃圾邮件检测等,如BERT、Transformers等架构。
  • 机器翻译:将一种语言翻译为另一种语言,例如谷歌翻译使用深度学习技术。
  • 聊天机器人:基于NLP构建对话系统,如客服聊天机器人。
  • 文本生成:生成文章、故事等文本内容,如GPT模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值