首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
client
io
python
join
runtime
md5
integer
schema
python2
jar
install
function
eval
foreach
hashset
web3
select
scala
perl
plugins
vbscript
cPlusPlus
substring
php
audio
post
expression
actionscrip
const
lua
flutter
format
heatmap
go
dll
grid
typescript
dagger
stream
hash
keyword
bash
utf-8
ip
sum
command
hashtable
match
golang
case
settings
javascript
httpclient
php5
future
input
heap
jsp
get
bytecode
python3
version
express
yaml
netty
main
chat
text
timezone
require
cSharp
byte
frameworks
bitmap
filter
uri
triggers
header
js
当前位置:
开发笔记
>
编程语言
> 正文
机器学习—回归与梯度下降(数学基础)
作者:许婉玟秀贤 | 来源:互联网 | 2023-09-18 13:28
本文整理机器学习算法中的线性回归和逻辑回归算法的笔记,其中利用随即梯度下降更新参数。只整理其中的数学原理,不涉及代码实现。目录线性回归随即梯度下降逻辑回归线性回归输入数据:x(X)
本文整理机器学习算法中的线性回归和逻辑回归算法的笔记,其中利用随即梯度下降更新参数。只整理其中的数学原理,不涉及代码实现。
目录
线性回归
随即梯度下降
逻辑回归
线性回归
输入数据:x(X);输出数据:y(Y);
拟合的函数:可写做 y = h(x);
对于每一条数据,用x1,x2,x3…xn来表示其各个特征分量,则可以做出一个估计函数:
,其中可设x0=1,则有θ0 * x0 = θ0 ,θ0可以充当线性方程中的常数项;
将上式用向量的方式来表示:
;
接下来需要有一个机制去评估函数y = h(x)的好坏,同时也是评估参数θ。因此做出一个J(θ)函数,称为损失函数或者错误函数,用它来描述h函数的误差程度:
,这个错误估计函数是以对x(i)的估计值(即h(x))与真实值y(i)的差的平方之和作为错误估计,前面乘上的1/2是为了在求导(确定梯度时需要求导)的时候,这个系数就不见了。
随即梯度下降
使用随即梯度下降算法调整θ以使得J(θ)取得最小值。
首先对θ赋值,这个值无特定要求,一般让θ是一个全为1或0的向量。然后在计算过程中改变θ的值,使得J(θ)按梯度下降的方向进行减少。θ0,θ1,θ2…θn表示θ向量的各个维度(不同点处J(θ)下降的梯度方向不同);
梯度下降法的第一步是给定的θ的初值,然后将θ按照梯度下降的方向进行调整,就会使得J(θ)往更低的方向进行变化,每一步的进行都基于上一步的基础,因此可能梯度下降的最终点并非是全局最小点,而是一个局部最小点;
通过求导获得梯度:损失函数J(θ)关于θ的偏导数决定了下降的方向,对函数J(θ)中的θ求偏导:
依据所得的梯度公式来写出参数θ i的更新公式:
θi表示更新之前的值,“-”后面的部分表示按梯度方向减少的量,α表示步长(学习度),而(hθ(x) - y)其实就是每一次计算得到的errors。
逻辑回归
与线性回归的区别:引进Sigmoid函数:
其图像为:
将z代入后可以得到趋近于0或1的值。
函数
也就是Z=θ^T * X(等价于上面线性回归中的h(x))需要经过Sigmoid转化才能得到预测值。
转化后此时的预测值h(x)为:
此步骤之后便是相同的随即梯度下降计算方式。
机器学习
算法
编程
php
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
php
2018年人工智能大数据的爆发,学Java还是Python?
本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ...
[详细]
蜡笔小新 2023-12-14 20:08:28
php
Android中高级面试必知必会,积累总结
本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ...
[详细]
蜡笔小新 2023-12-14 14:53:02
function
[译]技术公司十年经验的职场生涯回顾
本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ...
[详细]
蜡笔小新 2023-12-14 11:31:05
php
游戏开发中的人工智能技术及分类介绍
本文介绍了游戏开发中的人工智能技术,包括定性行为和非定性行为的分类。定性行为是指特定且可预测的行为,而非定性行为则具有一定程度的不确定性。其中,追逐算法是定性行为的具体实例。 ...
[详细]
蜡笔小新 2023-12-14 10:22:59
php
如何实现织梦DedeCms全站伪静态
本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ...
[详细]
蜡笔小新 2023-12-14 19:45:47
php
Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ...
[详细]
蜡笔小新 2023-12-14 18:57:09
lua
lua语言闭包、模式匹配、日期、编译、模块的特性及应用
本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ...
[详细]
蜡笔小新 2023-12-14 18:18:21
php
Python高级之网络编程及TCP/IP协议簇的OSI七层模型介绍
本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ...
[详细]
蜡笔小新 2023-12-14 18:16:27
php
Python3中选择文件对话框的格式打开和保存图片
本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ...
[详细]
蜡笔小新 2023-12-14 17:46:55
php
C#学习教程:在Console中工作但在Windows窗体中不工作的异步代码分享
本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ...
[详细]
蜡笔小新 2023-12-14 15:56:00
php
Java实现大数乘法(分治算法)
本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ...
[详细]
蜡笔小新 2023-12-14 15:43:50
const
Java序列化对象传给PHP的方法及原理解析
本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ...
[详细]
蜡笔小新 2023-12-14 15:25:15
const
C#生成随机数的三种方法及其问题分析
本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ...
[详细]
蜡笔小新 2023-12-14 14:15:30
php
C#学习教程:解析CIM_DateTime为.Net DateTime
本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ...
[详细]
蜡笔小新 2023-12-14 12:19:34
php
Metasploit攻击渗透实践
本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ...
[详细]
蜡笔小新 2023-12-14 12:14:09
许婉玟秀贤
这个家伙很懒,什么也没留下!
Tags | 热门标签
client
io
python
join
runtime
md5
integer
schema
python2
jar
install
function
eval
foreach
hashset
web3
select
scala
perl
plugins
vbscript
cPlusPlus
substring
php
audio
post
expression
actionscrip
const
lua
RankList | 热门文章
1
无论如何,是否只将唯一项插入MYSQL的数据透视表中?
2
全美超模亚军的男模大嘴猴Marvin Cortes
3
Azure SQL Database (25) Azure SQL Database创建只读用户
4
Python是不是弱类型?如果是的话是不是仅仅因此就不需要泛型了?
5
mysql突然报[ERROR] Got error 134 when reading table
6
深入学习java源码之Arrays.asList()与Arrays.stream()
7
第三方支付框架需求文档:登录模块
8
手机QQ中将扩列功能打开具体操作方法
9
Android中怎么利用TextView显示部分文字高亮
10
grep命令参数用法详解
11
每日一题——子集 II
12
推荐一个学java的网站
13
python中不同的异常类型,如何进行异常处理?
14
08 对偶理论以及灵敏度分析
15
一文了解Python collections模块中的deque用法[python头条资讯]
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有