Andrew Ng机器学习入门学习笔记(四)之神经网络(二)

机器学习笔记4 - 神经网络 机器学习笔记4 - 神经网络 线性回归和逻辑回归都有一个缺点,当特征太多,计算负荷会很大, 引入神经网络 在神经网络中,参数称为权重(weight) 其中x1,x2,x3x_1,x_2,x_3x1​,x2​,x3​是输入单元,a1,a2,a3a_1,a_2,a_3a1​,a2​,a3​是中间单元,负责处理数据传递到下一层,最后是输出单元,其用来计算hθ(x)h_\theta(x)hθ​(x)。 在一个三层网络中,第一层成为输入层( Input Layer),最后一层称为输出层( Output Layer) 阅读详情

本文主要记录了神经网络的代价函数,神经网络中梯度下降的用法,反向传播,梯度检验,随机初始化等理论,并附上课程作业中相关部分的matlab代码及注释。

有关神经网络的概念,模型,以及利用前向传播预测分类的计算可参看Andrew Ng机器学习入门学习笔记(四)之神经网络(一)

http://blog.youkuaiyun.com/scut_arucee/article/details/50144225

一.神经网络解决分类问题模型参数

m 组训练数据(x(1),y(1)),(x(2),y(2)),⋯,(x(m),y(m));

神经网络总的层数 L ;

第l层的单元数 Sl (不包括偏差单元);

输出层的单元数 K 。

①对于两类分类问题

y=0或1,只有一个输出单元, hΘ(x)∈R ,故 SL=1 ,即 K=1 。

②对于多类分类问题

y 是一个向量,y∈RK,hΘ(x)∈RK,SL=K(K⩾3)。

二.神经网络的代价函数

1.正则化逻辑回归的代价函数

J(θ)=−1m[∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]+λ2m∑j=1nθ2j

2.正则化神经网络的代价函数(以多类别分类为例)

定义 hθ(x)i 为 hθ(x) 的第 i (1⩽i⩽K)个输出,

J(Θ)=−1m[∑i=1m∑k=1Ky(i)klog(hΘ(x(i)))k+(1−y(i)k)log(1−hΘ(x(i))k)]+λ2m∑l=1L−1∑j=1Sl∑i=1Sl+1(Θ(l)ij)2
对于多类别分类,使用神经网络相当于最后一层相当于有 K 个逻辑回归分类器,上面 ∑Kk=1y(i)klog(hΘ(x(i)))k+(1−y(i)k)log(1−hΘ(x(i))k)对这 K 个逻辑回归分类器求和。

逻辑回归中正则化的目的是让θ向量里的所有参数维持为较小的数;

神经网络中正则化则是让从输入层到输出层之间每两层的映射权重矩阵 Θ(l) 里的每一个元素都维持为较小的数,其中 Θ(l) 是一个 Sl+1∗(Sl+1) 维的矩阵;

对于上面的 λ2m∑L−1l=1∑Slj=1∑Sl+1i=1(Θ(l)ij)2 , l 用于控制层数,即Θ(l)是第 l 层到第l+1层的权重矩阵; i 用于控制Θ(l)当前所在的行; j 用于控制Θ(l)当前所在的列。注意这里 j 从1开始取,因为 Θ(l) 每一行的第一个元素( j=0 的列)都是偏差项,我们不正则化偏差项。

3.作业中代价函数求解代码

%为输入层添加偏置项
X = [ones(m,1) X];

%前向传播
z_2 = X*Theta1'; %m*25
a_2 = sigmoid(X*Theta1'); %m*25
a_2_new = [ones(m,1) a_2]; %为隐藏层添加偏置单元,m*26
h_x = sigmoid(a_2_new*Theta2');%m*10

%将y提供的1-10数字转化为神经网络输出的向量形式
Vec_y = zeros(m,num_labels);
for i = 1:m
    Vec_y(i,y(i)) = 1;
end

%normal cost function(无正则化的代价函数)
J = -1/m*sum(sum(Vec_y.*log(h_x)+(1-Vec_y).*log(1-h_x))); 

%regularized cost function(带有正则化的代价函数)
J = -1/m*sum(sum(Vec_y.*log(h_x)+(1-Vec_y).*log(1-h_x)))+lambda/2/m*(sum(sum(Theta1(:,2:end).^2))+sum(sum(Theta2(:,2:end).^2))); 

作业中要实现的是数字识别,将20*20的图片展开成400个元素的向量,输入层带上偏置单元一共有401个单元,隐藏层带上偏置单元一共有26个单元,输出层10个单元。

计算代价函数之前,进行了一些处理,包括添加偏置单元,转换y的形式等等。为了计算代价函数需要使用的假设函数的输出,还进行了前向传播的计算。

三.神经网络中使用梯度下降

有了代价函数,接下来的目标就是 minΘJ(Θ) 。使用一些高级优化算法求解时,包括梯度下降,都需要我们自行给出 J(Θ) 和 ∂∂Θ(l)ijJ(Θ) 的代码。

为了计算 ∂∂Θ(l)ijJ(Θ) ,需要使用反向传播算法,在了解反向传播之前,首先要理解前向传播算法。

1.前向传播

给定一个输入,可以利用前向传播计算假设函数的输出。如下图:

这里写图片描述

具体过程如下:

a(1)=x
z(2)=Θ(1)a(1)
a(2)=g(z(2))
a(2)添加一个偏差项a(2)0=1
z(3)=Θ(2)a(2)
a(3)=g(z(3))
a(3)添加一个偏差项a(3)0=1
z(4)=Θ(3)a(3)
hΘ(x)=a(4)=g(z(4))
这样根据一个输入就可以利用前向传播算法计算神经网络里每一个神经元的激励值。

2.反向传播

对于每一个结点,需要计算 δ(l)j ,即第 l 层第j个结点的误差。如图:

这里写图片描述

例如: δ(4)j=a(4)j−yj=hΘ(x)j−yj ,其中 a(4)j 是激励值, yj 是训练样本的真实值。

故

δ(4)=a(4)−y
δ(3)=(Θ(3))Tδ(4).∗g′(z(3)),其中g′(z(3))=g(z(3)).∗(1−g(z(3)))=a(3).∗(1−a(3))
δ(2)=(Θ(2))Tδ(3).∗g′(z(2)),其中g′(z(2))=g(z(2)).∗(1−g(z(2)))=a(2).∗(1−a(2))
第一层是观测到的输入值,没有误差,所以没有 δ(1) 。

至于 g′(z(3)) 为什么等于 g(z(3)).∗(1−g(z(3))) ,可通过 g′() 是S型函数的导数自行推导。

这样由输出层的误差,反向传播,可以向前计算每一个隐藏层的误差。

最终我们可以得到代价函数偏导数项的表达(忽略正则化项,即 λ=0 ):

∂∂Θ(l)ijJ(Θ)=a(l)jδ(l+1)i

★ 整理一下利用前向传播和后向传播计算 ∂∂Θ(l)ijJ(Θ) 的过程:
①首先对于所有的 l,i,j ,令 Δ(l)ij=0 ( Δ是delta 的大写形式)

②for i = 1 to m
{
令 a(1)=x(i) ;

利用前向传播计算 a(l) ,其中 l=2,3,⋯,L ;

计算第 L 层(输出层)误差δ(L)=a(L)−y(i);

利用反向传播计算 δ(L−1),δ(L−2),⋯,δ(2) (注意没有 δ(1) );

Δ(l)ij:=Δ(l)ij+a(l)jδ(l+1)i
}

③ D(l)ij:=⎧⎩⎨1mΔ(l)ij+λmΘ(l)ij1mΔ(l)ijj≠0j=0

④ ∂∂Θ(l)ijJ(Θ)=D(l)ij

其中for循环中的 Δ(l)ij:=Δ(l)ij+a(l)jδ(l+1)i 可以使用向量化实现,即 Δ(l):=Δ(l)+δ(l+1)(a(l))T 。

3.作业中利用前向传播和后向传播求解梯度的代码及注释

%初始化Delta
Delta2 = zeros(num_labels,size(a_2_new,2));
Delta1 = zeros(size(a_2_new,2)-1,size(X,2));

%利用前向传播和后向传播计算梯度
for i = 1:m
    delta_3 = h_x(i,:)-Vec_y(i,:); %1*10
    delta_3 = delta_3'; %10*1
    delta_2 = Theta2'*delta_3.*sigmoidGradient([1;z_2(i,:)']); %26*1
    delta_2 = delta_2(2:end); %25*1
    Delta2 = Delta2+delta_3*a_2_new(i,:); %10*26
    Delta1 = Delta1+delta_2*X(i,:); %25*401
end

D2 = 1/m*Delta2; %无正则化的梯度
D2(:,2:end) = D2(:,2:end)+lambda/m*Theta2(:,2:end); %带有正则化的梯度,10*26

D1 = 1/m*Delta1;%无正则化的梯度
D1(:,2:end) = D1(:,2:end)+lambda/m*Theta1(:,2:end); %带有正则化的梯度,25*401

Theta1_grad = D1;
Theta2_grad = D2;

四.反向传播

反向传播到底在做什么呢?

考虑只有一个输出单元的情况,忽略正则化( λ=0 ),只关注单个训练样本 (x(i),y(i)) ,则

J(θ)=−1m[∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]=−1m∑i=1mcost(i)

更正式一些说,对于 j⩾0 ,

δ(l)j=∂∂z(l)jcost(i)
即,误差 δ(l)j 是单个样本的代价关于这些中间项 z 的偏微分,它们度量着我们改变神经网络的权值,对最终的hΘ(x)和代价值的影响。

这里写图片描述

如上图,反向传播也可解释为,由更深一层的误差和相关的权值可以计算出前一层的误差。
若已知输出层的误差为 δ(4)1 ,则

δ(3)1=Θ(3)11δ(4)1
δ(3)2=Θ(3)12δ(4)1
δ(2)1=Θ(2)11δ(3)1+Θ(2)21δ(3)2
δ(2)2=Θ(2)12δ(3)1+Θ(2)22δ(3)2

五.梯度检验

利用前面所说的前向传播和后向传播计算梯度时容易出现一些小错误而不被发现,这时候就需要进行梯度检验来检验我们计算的梯度是否是我们所需要的。

这里需要提出梯度的数值估计这个概念。

① θ∈R ,即为一个数而不是向量时,

dJ(θ)dθ≈J(θ+ε)−J(θ−ε)2ε
通常 ε 是一个很小的值,利用这种双侧差分就实现了梯度的数值估值。

② θ∈Rn ,即 θ 为向量参数时(例如 θ 是 Θ(1),Θ(2) 等的展开)

∂∂θ1J(θ)≈J(θ1+ε,θ2,θ3,⋯,θn)−J(θ1−ε,θ2,θ3,⋯,θn)2ε
∂∂θ2J(θ)≈J(θ1,θ2+ε,θ3,⋯,θn)−J(θ1,θ2−ε,θ3,⋯,θn)2ε
⋮
∂∂θnJ(θ)≈J(θ1,θ2,θ3,⋯,θn+ε)−J(θ1,θ2,θ3,⋯,θn−ε)2ε
我们要检验的就是下式是否成立:
数值估计的梯度≈后向传播计算得到的梯度(偏导数也是对展开的向量形式的θ求偏导)
如果二者差距很小,甚至只有几位小数的差距,那我们就可以非常确信后向传播计算出的确实是我们需要的梯度,可以将它用于梯度下降法或者其他的高级优化算法,用来实现 minΘJ(Θ) 的目标。

梯度数值估计实现代码如下:

numgrad = zeros(size(theta));
perturb = zeros(size(theta));
e = 1e-4;
for p = 1:numel(theta)
    % Set perturbation vector
    perturb(p) = e;
    loss1 = J(theta - perturb);
    loss2 = J(theta + perturb);
    % Compute Numerical Gradient
    numgrad(p) = (loss2 - loss1) / (2*e);
    perturb(p) = 0;
end

梯度检验代码如下:

% Evaluate the norm of the difference between two solutions.  
% If you have a correct implementation, and assuming you used EPSILON = 0.0001 
% in computeNumericalGradient.m, then diff below should be less than 1e-9
diff = norm(numgrad-grad)/norm(numgrad+grad);

fprintf(['If your backpropagation implementation is correct, then \n' ...
         'the relative difference will be small (less than 1e-9). \n' ...
         '\nRelative Difference: %g\n'], diff);

梯度检验的实现要点(步骤):

1.使用后向传播计算DVec(偏导数向量)

2.计算数值梯度的估计值gradApprox

3.确保DVec和gradApprox值相近

4.关闭梯度检验,再使用后向传播进行学习

注意:在训练分类器之前一定要关闭梯度检验,如果没有关闭,则在梯度下降的每次迭代中都进行数值梯度的计算,代码运行将十分缓慢。梯度的数值估计相对于后向传播计算梯度来说是较大的工作量,我们使用数值估计的初衷仅仅是为了检验后向传播的实现是否正确。

六.随机初始化

运用梯度下降或者其他高级优化算法来求解 minΘJ(Θ) 时,需要对 Θ 进行初始化。

在逻辑回归中,我们可以将所有的 θ 初始化为一个全 0 的向量,但是在神经网络中我们不能这么做。

如果对于所有的i,j,l,我们初始化Θ(l)ij=0,则

a(2)1=a(2)2,δ(2)1=δ(2)2
∂∂Θ(1)10J(Θ)=∂∂Θ(1)20J(Θ)
同时更新之后, Θ(1)10=Θ(1)20 ,同理 Θ(1)11=Θ(1)21 , Θ(1)12=Θ(1)22

即,每次更新之后,从每个输入分别指向两个隐藏单元的权重是相同的,而且 a(2)1仍然等于a(2)2 。

当有多个隐藏单元时,这种情况相当于所有的隐藏单元只表示同一种特征,其他完全是多余的(实际上,只要初始的 θ 值都相同,就无法破坏这种可怕的对称性)。

故神经网络对权重采用随机初始化,来破坏这种对称性。让每一个 Θ(l)ij 为 [−ε,ε]中随机一个值 。(这里的 ε 和梯度检验里的 ε 不是同一个东西)

具体实现:

若 Θ∈Rm∗n ,则 Θ1=rand(m,n)∗(2∗INITEPSILON)−INITEPSILON

作业中有关随机初始化的代码:

W = zeros(L_out, 1 + L_in);  %权重矩阵的维数
% ====================== YOUR CODE HERE ======================
% Instructions: Initialize W randomly so that we break the symmetry while
%               training the neural network.
%
% Note: The first row of W corresponds to the parameters for the bias units
%
epsilon_init = 0.12;
W = rand(L_out, 1 + L_in) * 2 * epsilon_init - epsilon_init;

七.神经网络总结

1.选择一个网络结构

输入层单元数:特征 x(i) 的维数

输出层单元数:分类的类别数。

(多类别分类问题输出层有多个单元,输出的 y 不是一个数了,而是由一些0和一个 1 组成的向量)

隐藏层数目:默认使用1个隐藏层,如果隐藏层数目多于1个,则每个隐藏层应该有相同的单元个数。

(隐藏层单元数越多,效果越好,通常取稍大于输入特征的数目)

2.训练神经网络

①构建以恶搞神经网络,对权重随机初始化

②对训练数据中任意x(i),利用前向传播计算得到 hΘ(x(i))

③计算代价函数 J(Θ)

④利用反向传播计算偏导项 ∂∂Θ(l)ijJ(Θ)

可以使用for循环遍历每一个训练数据
{
利用前向传播得到激励 a(l) ,其中 l=2,3,⋯,L

利用反向传播得到误差项 δ(l) ,其中 l=2,3,⋯,L

Δ(l):=Δ(l)+δ(l+1)(a(l))T
}

D(l)ij:=⎧⎩⎨1mΔ(l)ij+λmΘ(l)ij1mΔ(l)ijj≠0j=0

∂∂Θ(l)ijJ(Θ)=D(l)ij

⑤使用梯度检验比较后向传播计算得到的 ∂∂Θ(l)ijJ(Θ) 和数值估计得到的 J(Θ) 的梯度是否接近,然后关闭梯度检验

⑥使用梯度下降或其他高级优化算法和反向传播相结合去求解 minΘJ(Θ) ,得到最优的参数 Θ

对于神经网络来说, J(Θ) 是非凸函数,使用梯度下降可能得到的不是全局最小值,但这影响不大,一般来说得到的会是很小的局部最小值。

3.神经网络对新的输入分类

对于新的输入 x ,结合训练出的权重Θ,利用前向传播得到输出层的 hΘ(x) ,给出分类结果。

Coursera上Andrew Ng机器学习课程总结(一) 利用大约一个月的时间把coursera公开课Andrew Ng讲授的机器学习课程看完了,并且把8个编程联系也实现了,写篇总结来归纳下知识点。客观的来说,这门公开课很偏工程,老师对于数学知识能省则省,对于那些想初窥机器学习的同学,倒是很推荐看下。机器学习按照训练集有无标签分为监督学习和无监督学习。监督学习,我们经常用它处理回归问题、分类问题,而课程里介绍的有:线性回归模型、logistics回归模型、 阅读详情

相关推荐

Andrew Ng机器学习课程笔记--汇总

转载请附上原链接。 必须抱怨一下优快云。。太垃圾了,连文章标题都不能修改。Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记–week2(多元线性回归&正规公式) Andrew Ng机器学习课程笔记–week3(逻辑回归&正则化参数) Andrew Ng机器学习课程笔记–week4(神经网络) Andrew Ng机器学习课程笔记–

marsggbo的博客 4041

ann人工神经网络_深度学习-人工神经网络(ANN)

ann人工神经网络Building your first neural network in less than 30 lines of code. 用不到30行代码构建您的第一个神经网络。 1.What is Deep Learning ? 1.什么是深度学习? Deep learning is that AI function which is able to learn features...

weixin_26752765的博客 3089

Andrew Ng Machine Learning 专题【Neural Networks】上

此文是斯坦福大学,机器学习界 superstar — Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记。力求简洁,仅代表本人观点,不足之处希望大家探讨。 课程网址:https://www.coursera.org/learn/machine-learning/home/welcome

IronYoung_不惧未来 3282

神经网络模型学习笔记(ANN,BPNN)

神经网络模型

半世烟雨_ 7万+

Andrew Ng Machine Learning 专题【Neural Networks】下

此文是斯坦福大学,机器学习界 superstar — Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记。力求简洁,仅代表本人观点,不足之处希望大家探讨。 课程网址:https://www.coursera.org/learn/machine-learning/home/welcomeWeek 1: Introduction 笔记:http://bl

IronYoung_不惧未来 3415

Andrew Ng机器学习编程作业5完整实现与解析

Andrew Ng在Coursera平台上开设的机器学习课程,是全球范围内最受欢迎的入门级机器学习课程之一。该课程以理论与实践并重的方式,系统讲解了机器学习的核心算法与应用技巧。课程内容涵盖监督学习、非监督学习、神经网络基础以及优化算法等关键主题。编程作业5作为课程的核心实践环节之一,引导学习者实现一个完整的神经网络模型,涵盖前馈计算、反向传播、参数更新等关键流程。通过该作业,学员不仅能掌握机器学习项目的开发流程,还能理解工业级模型实现的基本范式。在本章中,我们系统讲解了在编程作业5中使用的。

weixin_42126677的博客 1030

deeplearning神经网络基础随笔_吴恩达课程

deeplearning神经网络基础,吴恩达前三个课程的小记,许多图像和公式都已省略

chenburong2021的博客 457

Andrew Ng机器学习课程完整作业解答指南

htmltable {th, td {th {pre {简介:《Coursera机器学习课程答案》作为入门资源,提供了Andrew Ng在Coursera平台教授的机器学习课程中所有作业的解答。这门课程覆盖了机器学习的基础知识,包括监督学习、无监督学习和强化学习等算法。学生将通过学习线性回归、逻辑回归、SVM、决策树、随机森林、神经网络、K-means聚类、PCA和DQN等模型,以及进行数据预处理、特征选择、模型训练、验证和调优的实践,来深入理解机器学习的原理和应用。

weixin_42315569的博客 740

机器学习-神经网络

机器学习的神经网络的概念和定义,还有代码的实现。

站上巨人的肩膀 3897

iTunes登录协议逆向与自动化实现

本文详细解析了iTunes登录协议的逆向工程与自动化实现方法,涵盖请求体构造、签名生成和会话管理等关键技术。通过XML结构解析、X-Apple-ActionSignature生成原理及完整登录流程实现,帮助开发者高效完成iTunes自动化登录,提升工作效率。

weixin_26938645的博客 939

基于Playwright+Pytest+Yaml+Allure的UI自动化测试框架实战指南

本文详细介绍了基于Playwright+Pytest+Yaml+Allure的UI自动化测试框架实战指南,涵盖环境搭建、核心功能实现及高级技巧。通过数据驱动测试、页面操作封装和智能等待机制,提升测试效率与可维护性。Allure报告增强功能为团队提供直观的质量反馈,助力高效UI自动化测试。

weixin_28826521的博客 488

机器学习入门捷径:free-ai-resources精选Andrew NG等权威课程对比

free-ai-resources是一个精心整理的免费AI资源库,包含了机器学习、深度学习、数据科学等多个领域的优质课程、数据集和学习工具,特别适合新手快速入门机器学习。通过这个项目,你可以轻松获取Andrew NG等权威专家的课程资源,对比选择最适合自己的学习路径。 [![free-ai-resources资源概览](https://raw.gitcode.com/gh_mirrors/fr/

gitblog_01005的博客 897

Langfuse实战:从评估打分到问题解决的完整指南

本文详细介绍了如何利用开源LLM工程平台Langfuse对AI应用进行系统性评估与优化。从创建评估数据集、设计自动化评分函数,到深入排查常见问题并关联Trace进行精准打分,提供了完整的实战指南。最后,探讨了如何利用评估结果驱动提示词迭代与A/B测试,并给出了生产环境部署与性能优化的关键考量,帮助开发者构建可测量、可分析、可改进的LLM应用。

backprop5master的博客 651

Andrew Ng(吴恩达) deep learning 课程 (coursera)

引言 前段时间 Andrew Ng(吴恩达)在 Coursera 开设了深度学习的课程,正如 Andrew 在 Coursera 上的机器学习课程一样,Andrew 总是面向零基础的工程师来授课,而不是有专业背景的人员。所以课程总是会力求直观且应用性强,但是往往对专业从事机器学习的人员来看略显简单,但是大牛对事物的理解还是值得参考的,所以我把课程中自己学到的要点记录如下。 第一课:神经网络...

张月鹏的博客 8284

EFR32BG22 Thunderboard开发板 使用SPI 读取加速度计

Simplicity Studio v5 创建Silicon Labs蓝牙SoC EFR32BG22 Thunderboard模块的加速度计工程,模块上有一个ICM-20648 6轴运动跟踪设备,集成3轴加速度计和3轴陀螺仪功能,使用SPI接口跟EFR32BG22芯片连接。 我尽量以图片的形式展示(少打字): 将EFR32BG22的Thunderboard模块通过USB线插入到电脑,打开Simplicity Studio v5软件。 下面看重点: 点击搜索到的IO Stream: USART,点击Ins

qq_25727979的博客 1494

从网格划分到结果解读:一次完整的子弹侵彻LS-DYNA仿真避坑指南

本文详细解析了子弹侵彻LS-DYNA仿真中的关键技术与避坑指南,涵盖网格优化、对称边界条件设置、沙漏控制参数调整及结果可信度验证。通过HyperMesh网格划分和LS-DYNA高级参数配置,帮助工程师提升仿真精度与效率,确保计算结果物理可信。

weixin_29816689的博客 406

探索机器学习的奥秘:Andrew Ng教授的机器学习课程资源推荐

探索机器学习的奥秘:Andrew Ng教授的机器学习课程资源推荐 项目介绍 你是否对机器学习充满好奇,却又不知从何入手?你是否渴望深入了解机器学习的理论与实践,却苦于找不到系统的学习资源?那么,这个开源项目正是为你量身打造的! Machine Learning By Prof. Andrew Ng 是一个汇集了Andrew Ng教授在YouTube和Coursera上的所有机器学习课程及资源的宝库...

gitblog_00212的博客 904

C# 工业上位机集成 YOLOv8 全实战:模型转换→相机取流→PLC 联动落地部署

// 检测结果实体类,工业场景扩展置信度、坐标、类别字段set;set;set;set;/// 模型配置常量,与导出参数保持一致// 置信度阈值// 非极大值抑制阈值public static readonly string[] ClassNames = { "物料", "缺陷", "挡板" };// 自定义类别本文完整实现了YOLO模型转换→C#上位机集成→工业相机对接→PLC联动→现场部署标准化模型转换流程,杜绝C#端兼容性问题;解耦相机取流、推理、UI线程,满足工业高稳定性要求;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 321

Machine Learning课程 by Andrew Ng

大名鼎鼎的机器学习大牛Andrew Ng的Machine Learning课程,在此mark一下: 一:Coursera: https://www.coursera.org/learn/machine-learning/home/info 这门课是Andrew Ng在其开创的公开在线课程网站coursera上最初开设的几门课之一,assignment也有一

GarfieldEr007的专栏 4137

大模型之Spring AI实战系列(一):基础认知篇 - 开启智能应用开发之旅

Spring AI 是一个轻量级开源框架,旨在简化 AI 模型在企业级 Java 应用中的集成与管理。它提供了跨多个 AI 服务提供商的便携式 API,支持聊天、文本转图像、嵌入式模型等多种功能,并兼容主流的 AI 模型提供商如 OpenAI、Google 等。Spring AI 的核心功能包括结构化输出、向量数据库支持、工具/函数调用、可观察性、文档摄取 ETL 框架、AI 模型评估等。

寻道AI,探索AI无限可能! 6366

DeerFlow 系列教程 第四篇 | Sandbox 沙箱与 Sub-agent 子智能体协作详解

DeerFlow 系列教程第四篇介绍了两个关键子系统:Sandbox 沙箱系统和Sub-agent子智能体协作机制。沙箱系统通过虚拟路径映射、权限白名单、命令审计和容器隔离四重机制,为Agent提供安全的代码执行环境,使其能在隔离环境中执行文件操作和脚本运行。系统采用分层架构设计,包含应用层、工具层、审计层等,核心是定义标准交互接口的抽象基类。虚拟路径系统将Agent操作的虚拟路径映射到实际路径,确保安全性。这些功能使DeerFlow从对话助手进化为能处理复杂任务的Super Agent平台。

weixin_43674738的博客 284

斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感

近日,在网易公开课视频网站上看完了《机器学习》课程视频,现做个学后感,也叫观后感吧。  学习时间 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng教授主讲的计算机系课程(编号CS229)《机器学习》(网址http://v.163.com/special/opencourse/machinelearning.html)(注:最早是在新浪公开课

lotus___的专栏 7万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

斯坦福Andrew Ng教授“机器学习”26篇教程全译

收藏!斯坦福Andrew Ng教授“机器学习”26篇教程全译 发表于9小时前| 1425次阅读| 来源优快云| 17 条评论| 作者优快云 机器学习编码云计算算法斯坦福大学大数据 摘要:机器学习与数据挖掘!重中之重,热中之热。要“深入浅出,要言不烦,不卖关子,不摆噱头”讲清楚机器学习,斯坦福大学教授Andrew Ng做到了。这是他的26篇教程的翻译,建议收藏。 机器

Michael_6810的专栏 1696

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Andrew Ng机器学习课程笔记(四)之神经网络

Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录Andrew Ng课程第四章和第五章的神经网络,主

bzt820801的博客 545

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Andrew Ng机器学习入门学习笔记(四)之神经网络(一)

一.神经网络的优势对于复杂的非线性分类问题,当特征变量个数nn很大时,用逻辑回归时S型函数g(θTx)中的θTxS型函数g(\theta^Tx)中的\theta^Tx如果用二次多项式表示,则二次项数目很多,约为n2n^2,计算复杂度达到o(n2)o(n^2);如果用三次多项式表示,则三次项数目更多,复杂度达o(n3)o(n^3)。而神经网络能很好的解决上面那种复杂的非线性分类问题。二.神经网络的模型

SCUT_Arucee的博客 3335

Andrew Ng机器学习课程笔记--week4

Neural Networks: Representation一、 内容概要 Neural Network Model Representation 1 Model Representation 2 Applications Examples and Intuitions 1 Examples and Intuitions 2 Multiclass Classification 二、重点&难点1

marsggbo的博客 1059
上一篇: Andrew Ng机器学习入门学习笔记(四)之神经网络(一)
下一篇: 机器学习实战k近邻算法(kNN)应用之手写数字识别代码解读
SCUT_Arucee
博客等级 码龄12年 115粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值