码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 机器学习基本概念


    文章目录

    • 基本概念
    • 课程任务
    • 机器学习的步骤
      • 1. Function with Unknown Parameters
      • 2. Define Loss from Training Data
      • 3. Optimization


    基本概念

    机器学习就是去寻找一个复杂的函数
    深度学习:找一个函数,这个函数用类神经网络表示

    函数的输入可以是一个向量、矩阵(images)、序列(语音)
    输出可以是一个数(regression)、可以是一个类别(分类)、文本、画图等

    课程任务

    • Supervised Learning (监督学习)
    • Self-supervised Learning (自监督学习)
    • Generative Adversarial Network (生成对抗网络)
    • Reinforcement Learning (强化学习)
    • Anomaly Detection (异常检测)
    • Explainable AI (可解释性 AI)
    • Model Attack (模型攻击)
    • Domain Adaptation (域自适应)
    • Network Compression (让模型变小)
    • Life-long Learning (终身学习)
    • Meta learning (学习如何学习)

    机器学习的步骤

    1. Function with Unknown Parameters

    y = b + w x 1 y = b + wx_1 y=b+wx1​
    y y y:预测的值
    x x x:feature
    w w w:weight
    b b b:bias
    Model:在机器学习里面就是指带参数的函数

    2. Define Loss from Training Data

    Loss:是一个带参函数
    输入: b b b 和 w w w
    输出:代表某一组 b b b 和 w w w 好还是不好
    L ( b , w ) L(b, w) L(b,w)

    例:求 L ( 0.5 k , 1 ) L(0.5k, 1) L(0.5k,1)
    y = b + w x 1 y = b + wx_1 y=b+wx1​ = = > ==> ==> y = 0.5 k + 1 x 1 y = 0.5k + 1x_1 y=0.5k+1x1​
    假如带入后求得的 y = 5.3 k y=5.3k y=5.3k 而实际的 y ^ = 4.9 k \hat{y} = 4.9k y^​=4.9k (label)
    e 1 = ∣ y − y ^ ∣ = 0.4 k e_1 = |y - \hat{y}| = 0.4k e1​=∣y−y^​∣=0.4k
    e 2 , e 3 , . . . e n e_2, e_3,...e_n e2​,e3​,...en​都可以这样计算
    Loss: L = 1 N ∑ n e n L = \frac{1}{N}\sum_{n}e_n L=N1​n∑​en​

    越小代表这一组参数越好。

    有多种计算方式:
    MAE(mean absolute error): e = ∣ y − y ^ ∣ e = |y - \hat{y}| e=∣y−y^​∣
    MSE(mean square error): e = ( y − y ^ ) 2 e = (y - \hat{y})^2 e=(y−y^​)2
    cross-entropy

    根据 w w w 和 b b b 画出的 L o s s Loss Loss 的等高线图叫做 Error Surface(二维)

    3. Optimization

    目的:找最好的 w w w 和 b b b

    Optimization的方法:Gradient Descent

    先给出 L o s s Loss Loss 与 w w w 的变化图 (Error Surface 一维)

    步骤:

    1. Pick an initial value W 0 W^0 W0
    2. 对此时的 w w w 求导(算微分):计算切线斜率
    3. 更新 w w w
    4. 反复上面的操作

    可能出现局部最优解(Local minima)

    切线斜率负的:切线左高右低,所以如果应该向右边前进(w = w - 学习率 * 斜率)

    决定步长的因素有两个:

    1. 斜率(斜率越大步长越大)
    2. 学习率(自己设置的一个参数)

    hyperparameters:需要自己设定的参数

    在这里插入图片描述

    推广到 w w w 和 b b b

    在这里插入图片描述
    二维图上:

    在这里插入图片描述

    可以发现 点击量 y y y 的波动具有周期性,所以可以对函数进行推广

    在这里插入图片描述

    上面这些模型统称为 Linear models

  • 相关阅读:
    QT软件开发-基于FFMPEG设计录屏与rtsp、rtmp推流软件(支持桌面与摄像头)(四)
    在URP管线中添加ShaderMaterial自定义GUI的方法
    基于生成对抗网络的动漫人脸生成实例
    java基础 韩顺平老师的 面向对象(中级) 自己记的部分笔记
    200道Java面试题
    月木学途开发 4.公告模块
    (数据科学学习手札135)tenacity:Python中最强大的错误重试库
    【剑指offer系列】39. 数组中出现次数超过一半的数字
    vivo 商品中台的可视化微前端实践
    数模电路基础知识 —— 8. PN结与三极管的工作原理
  • 原文地址:https://blog.csdn.net/qq_46456049/article/details/126058785
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号