python与机器学习1,机器学习的一些基础知识(完善ing)
目录
1 关于阈值θ和偏移量b和公式变形的由来
2 激活函数
3 关于回归,分类等
4 关于模型
5 关于回归
6 关于分类
7 关于误差和梯度下降
7-2 最小二乘法修改θ
8 深度学习
10 分类
11 参考书籍
1 关于阈值θ和偏移量b和公式变形的由来
比如很多信息传入可以表达为
WX=w1x1+w2x2+....这个是输入值,其中w表示权重,x表示信息
也有的写成 θX=θ1x1+θ2x2+....这个是输入值,都是一个意思
如果w1x1+w2x2+....>θ 就会激活
如果w1x1+w2x2+....<=θ 就不激活那么 w1x1+w2x2+....=θ就是判断公式
可以变形为
w1x1+w2x2+....=θ
w1x1+w2x2+....-θ=0
而尽量都取正数,就是
w1x1+w2x2+....+(-θ)=0
用系数b代替-θ
w1x1+w2x2+....+b=0
如果把b看成一个虚拟的输入信息,那么b的权重就是1
w1x1+w2x2+....+1*b=0
2 激活函数
一个最简单的函数,分段函数图形是直的,但是上下限也是[0,1]
- f(x)=0, if x<=0
- f(x)=1, if x>0
一个比较连续的, sigmod,分段函数图形是曲线,但是上下限也是[0,1]
sigmod,比较经典
- f(z)=1/(1-e^(-z))
3 关于回归,分类等
- 老的AI,逻辑
- 中间AI,
- 现在AI,数据
- 数据分为2部分
- 一部分训练数据
- 一部分,验证数据
- 有监督学习,回归分析,验证
- 半监督学习,
- 无监督学习,分类等
4 关于模型
回归,regression
用来处理,连续数据,如事件序列数据
比如按天记录的数据
分类,classification
数据带有标签
有监督学习
聚类,clustering
数据不带标签
无监督学习
5 关于回归
有1次回归函数,其中包含1元的,2元等等,如果是多元的需要求偏导数
一般来说,一次回归函数都是线性函数
有2次回归函数,其中包含1元的,2元等等,如果是多元的需要求偏导数
一般来说,二次回归函数都是曲线~
选择什么样的函数有差别
如果函数次数太低,拟合不够,可以用精确度变化曲线,精确度和回归度比较
如果函数次数太高,可能是过拟合,可能训练数据拟合好,但是验证数据拟合不好,
6 关于分类
分类是把 f(x) 做成了一个概率函数
可以看作是
f θ(x)>0.5 时 y=1
f θ(x)<=0.5 时 y=0
其实就是
θTX>0 时 y=1
θTX<=0 时 y=0
7 关于误差和梯度下降
误差函数,感觉很类似于方差函数
(y-f(x))^2
最梯度下降
采用最小二乘法? 可能会陷入局部最优
随机梯度下降
随机选择一些?一定能达到全局最优
随机梯度下降
最速下降,因为事先选取点的差别,可能陷入局部最优
而随机梯度下降,因为全局随机,理论上不会陷入局部最优,一定会找到全局最优
想象不规则的sinx这种函数曲线
1个随机数量
小批量随机梯度下降
7-2 最小二乘法修改θ
y=ax+b
y=θ0+θ1*x
根据一些原始数据,
大概200 → 500
但是随便假设θ0=1,θ1=2
fθ(x)=f(x)=y=1+2x
当时200 → 201
可见参数θ0=1,θ2=2 假设的不好
最小二乘法修改θ
E(θ)=1/2*∑(y-f(x))^2
E(θ)=1/2*∑(yi-f(x)i)^2
跟方差一样
还要去掉误差的正负影响,而是考虑误差与均值的差距的绝对值。
所以用平方
用平方,比abs更容易求导数
1/2也是为了求二次方的导数故意设计的,1/2或者2 只会改变函数形状的扁平还是高起,一般来说y=f(x) 值越大越高,值越小越扁平
所以最速下降法,就是求导数,也就是微分
导数函数求出来后,导数=0时的x 对应就是f(x)的极值
方法1 加上考虑函数的性质
比如 f(x)=x^2+2x+1这种往下凸出的,就是对应的最小值
方法2 比如 f(x)=x^2+2x+1 导数 f(x)'=2x+2
因此,最小值是x=-1对应
而且,
x>-1,f(x)'=2x+2>0 为正,f(x)递增
x<=-1,f(x)'=2x+2<0 为负,f(x)递减
所以
沿着与导数的符号相反的方向移动x,f(x) 就会朝着最小值前进
最速下降,梯度下降法
x=x-la*df(x)/dx
x=x-学习率*导数
学习率的选择要尽量小点,否则就会不容易收敛,或无法收敛
其实这就是更新的θ
如果f(x)=fθ(x1,x2,x3)=θ0+θ1*x+θ2*x^2 =θ*X
θ0=θ0-la*Σ(f(x)-y)
θ1=θ1-la*Σ(f(x)-y)x
θ2=θ2-la*Σ(f(x)-y)x^2
多变量,偏导数
如果f(x)=fθ(x1,x2,x3)=θ0*x0+θ1*x+θ2*x^2 =θ*X
变成2个向量点乘
8 和矩阵计算,矩阵内积点乘的关系
w1x1+w2x2+.....+wnxn
天生适合用矩阵计算
w1x1+w2x2+.....+wnxn=W*X
考虑到 偏移量(其实是和阈值有关系)
1*b+w1x1+w2x2+.....+wnxn=W*X
可变成
列向量 (1,w1,w2...wn) ,转行向量 (1,w1,w2...wn) T
列向量 (b,x1,x2...xn)
8 深度学习
输入层,中间层,输出层
中间层的宽度
中间层的层数,深度学习?
加宽度相对容易
加深度就会很难?
10 分类
假设W*X=w1x1+w2x2
如果W*X=w1x1+w2x2=0
假设w1 w2=1
x1+x2=0
W*X=|W||X|cosθ
其中cosθ 决定点乘内积符号 90-270,cos为负数,使得内积为负的向量
使得内积为正的向量
内积为正,两者相似
内积为负数,两者不相似
内积为0,两者垂直,完全不相关
11 参考书籍
《机器学习的数学》
《深度学习的数学》
《程序员的AI书》
相关文章:
python与机器学习1,机器学习的一些基础知识(完善ing)
目录 1 关于阈值θ和偏移量b和公式变形的由来 2 激活函数 3 关于回归,分类等 4 关于模型 5 关于回归 6 关于分类 7 关于误差和梯度下降 7-2 最小二乘法修改θ 8 深度学习 10 分类 11 参考书籍 1 关于阈值θ和偏移量b和公式变形的由来 比如很多信息传入可…...

移动应用开发介绍及iOS方向学习路线(HUT移动组版)
移动应用开发介绍及iOS方向学习路线(HUT移动组版) 前言 作为一个HUT移动组待了一坤年(两年半)多的老人,在这里为还在考虑进哪个组的萌新们以及将来进组的新朋友提供一份关于移动应用开发介绍以及学习路线的白话文…...

vue+uniapp校园寻物失物招领平台 微信小程序1f6z5
系统中的核心用户是管理员,管理员登录后,通过管理员菜单来管理后台系统。主要功能有:首页、个人中心、用户管理、物品分类管理、物品信息管理、物品归还管理、留言板管理、系统管理等功能。管理员用例如图3-7所示。 对于本网上失物招领小程序…...
Linux内核--内存管理(三)物理内存分页机制--kmalloc及slub机制
一、引言 二、slub机制 ------>2.1、slub分配原理slub原理 ------>2.2、slub分配原理 ------>2.3、slub释放原理 ------>2.4、SLUB分配器 三、slub数据结构 ------>3.1、kmem_cache ------>3.2、kmem_cache_cpu ------>3.3、kmem_cache_node --…...

Shell - cron_protect.sh 监控 Python、Streaming 程序
目录 一.引言 二.Flink 程序监控 1.shell 脚本 2.crontab 配置 三.Python 程序监控 1.shell 脚本 2.crontab 配置 四.总结 一.引言 业务有流式处理数据的需求,需要 7x24 通过 Flink Python 程序进行处理。为了监控 Flink 与 Python 的程序运行状态并在程…...

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。
MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。 一般来说出现这个问题是因为使用git版本控制工具合并代码出现了问题,想要解决也很简单。 如图点击错误后定位到文件,发现也没有什么问题。 根据错误后边的提示&a…...

【赠书第9期】巧用ChatGPT高效搞定Excel数据分析
文章目录 前言 1 操作步骤 1.1 数据清理和整理 1.2 公式和函数的优化 1.3 图表和可视化 1.4 数据透视表的使用 1.5 条件格式化和筛选 1.6 数据分析技巧 1.7 自动化和宏的创建 2 推荐图书 3 粉丝福利 前言 ChatGPT 是一个强大的工具,可以为你提供在 Exce…...

会声会影2024旗舰版系统配置要求及格式支持
会声会影2024旗舰版是一款广受欢迎的视频编辑软件,它的最新版本,会声会影2023,已经发布。在这篇文章中,我们将探讨会声会影2024旗舰版系统配置要求及格式支持 会声会影2024是一款专业的视频剪辑软件,能够帮助用户制作高…...

【部署运维】docker:入门到进阶
0 前言 部署运维博客系列一共有三篇: 拥抱开源,将工作中的经验分享出来,尽量避免新手踩坑。 【部署运维】docker:入门到进阶 【部署运维】kubernetes:容器集群管理掌握这些就够了 【部署运维】pythonredisceleryd…...

鸿蒙开发学习——应用程序框架
文章目录 UIAbility的生命周期Create状态WindowStageCreateForeground和Background前后台展示控制onWindowStageDestroyDestory 总结 UIAbility的生命周期 感觉这里他讲的不清晰,UIAbility的4个声明周期是Create、Foreground(桌面展示)、Back…...
Linux dd命令详解:如何从标准输入或文件中读取、转换并输出数据(附实例教程和注意事项)
Linux dd命令介绍 Linux dd命令用于读取、转换并输出数据。dd可以从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。这个命令在备份硬盘、创建启动盘、数据恢复等场景中非常有用。 Linux dd命令适用的Linux版本 d…...

Python——常见内置模块
Python 模块(Modules)1、概念模块函数类变量2、分类3、模块导入的方法:五种4、使用import 导入模块5、使用from……import部分导入6、使用as关键字为导入模块或功能命名别名7、模块的搜索目录8、自定义模块 常见内置模块一、math模块二、rand…...

JAVA毕业设计112—基于Java+Springboot+Vue的宠物领养社区小程序(源码+数据库)
基于JavaSpringbootVue的宠物领养社区小程序(源码数据库)112 一、系统介绍 本系统前后端分离带小程序 小程序(用户端),后台管理系统(管理员) 小程序: 登录、注册、宠物领养、发布寻宠、发布领养、宠物社…...
golang log模块使用
在Go中,log 包是用于输出日志信息的标准库。以下是一些基本的 log 包的使用示例: 基本用法: package mainimport ("log" )func main() {log.Println("This is a log message.") } 运行程序,你会在控制台看到日…...

软件开发中的抓大放小vs极致细节思维
最近在开发过程中,遇到了好多次 “这个需求点这次要不要做?” 的问题, 主要有两方阵营,比如以研发主导的 “这次先不做、等必要的时候再做” ,另外一方是以PM主导的 “这个不做需求不完整,可能影响用户体验…...

java文件上传以及使用阿里云OSS
JavaWeb 文件上传本地存储阿里云OSS配置文件 yml配置文件 文件上传 前端页面三要素: 表单项type“file” 表单提交方式post 表单的enctype属性multipart/form-data 本地存储 保证上传的文件不重复 //获取原始文件名String originalFilename image.getOriginalFi…...

相关性分析和作图
相关的类型 1. Pearson、Spearman和Kendall相关 Pearson 积差相关系数衡量了两个定量变量之间的线性相关程度。(连续) Spearman等级相关系数则衡量分级定序变量之间的相关程度。(分类) Kendall’s Tau 相关系数也是一种非参数的…...

AlphaFold的原理及解读
1、背景 蛋白质是生物体内一类重要的生物大分子,其结构复杂多样,蛋白质的结构对于理解其功能和参与的生物学过程具有重要意义。从生物学角度上看,蛋白质的结构可以分为四个层次:初级结构、二级结构、三级结构和四级结构。 初级结…...

【ChatGLM3-6B】Docker下快速部署
【ChatGLM2-6B】小白入门及Docker下部署 前提下载安装包网盘地址 开始安装加载镜像启动镜像进入容器启动模型交互页面访问页面地址 前提 安装好了docker安装好了NVIDIA显卡16G 下载安装包 网盘地址 这里因为网盘上传文件有大小限制,所以使用了分卷压缩的方式…...

两部手机数据传输后备忘录不见了怎么回事
想必很多人都遇到过,当两部手机进行备忘录数据传输后,突然发现备忘录不见了,这让人不禁着急上火,我也曾经遇到过这种事情导致很多重要的内容都丢失了。 一般出现这种情况可能是因为,两部手机使用的是不同的云服务&…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

归并排序:分治思想的高效排序
目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...