机器学习吴恩达课程总结(一)

文章目录

    • 1. 第一章 简介
      • 1.1 机器学习(Machine Learning)
      • 1.2 有监督学习(Supervised Learning)
      • 1.3 无监督学习(Unsupervised Learning)
    • 2. 第二章 线性回归(Linear Regression)
    • 3. 第三章 线性代数基础
      • 3.1 矩阵和向量(Matrices and vectors)
      • 3.2 矩阵加减与标量(scalar)运算
      • 3.3 矩阵向量乘法
      • 3.4 矩阵乘法
      • 3.5 矩阵乘法特征
      • 3.6 逆和转置
    • 4. 第四章 多元线性回归
      • 4.1 多元特征
      • 4.2 多元变量梯度下降
      • 4.3 多元变量梯度下降:特征缩放(Feature Scaling)
      • 4.4 多元变量梯度下降:学习率 α \alpha α
      • 4.5 特征和多项式回归
      • 4.6 正规方程(Normal equation)解析解法
      • 4.7 正规方程:不可逆矩阵
    • 5. 第五章 Octave基础

1. 第一章 简介

1.1 机器学习(Machine Learning)

机器学习:研究能够从经验中自动提升自身性能的计算机算法。

从数学角度:机器学习就是从数据中学习一个函数𝑓 。

机器学习:能过从针对任务T的一些经验E和性能指标P中学习的计算机程序。同时它在任务T上的表现可以通过性能指标P来提高。

1.2 有监督学习(Supervised Learning)

给出“正确答案”。

回归(Regression):输出连续的值。

分类(Classification):输出离散的值。

1.3 无监督学习(Unsupervised Learning)

不给出任何标签,找到数据中暗含的结构或信息。

聚类算法(Clustering):

  • 组织计算集群
  • 社交网络分析
  • 市场分割
  • 天文数据分析

2. 第二章 线性回归(Linear Regression)

2.1 假设函数(hypothesis)

h:hypothesis假设函数: h θ ( x ) = θ 0 + θ 1 x {h_\theta }(x) = {\theta _0} + {\theta _1x} hθ(x)=θ0+θ1x,其中 θ 0 , θ 1 {\theta _0},{\theta _1} θ0,θ1表示要学习的参数。

2.2 代价函数(cost function)

cost function代价函数

目标:选出 θ 0 , θ 1 {\theta _0},{\theta _1} θ0,θ1使得在训练集上,给出 x x x能够合理准确地预测出 y y y的值。

学习目标:
m i n i m i z e θ 0 θ 1 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 \mathop {minimize}\limits_{{\theta _0}{\theta _1}} {1 \over {2m}}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^2}} θ0θ1minimize2m1i=1m(hθ(xi)yi)2

其中 ( x i , y i ) ({x_i},{y_i}) (xi,yi)表示第 i i i个样本; m m m表示样本总数。(之所以乘以 1 2 {1 \over 2} 21是为了方便求导)

令: J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 J({\theta _0},{\theta _1}) = {1 \over {2m}}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^2}} J(θ0,θ1)=2m1i=1m(hθ(xi)yi)2

目标函数简写为: m i n i m i z e θ 0 θ 1 J ( θ 0 , θ 1 ) \mathop {minimize}\limits_{{\theta _0}{\theta _1}} J({\theta _0},{\theta _1}) θ0θ1minimizeJ(θ0,θ1)

m i n i m i z e \mathop {minimize} minimize:表示使得后面式子最小时, θ 0 , θ 1 {\theta _0},{\theta _1} θ0,θ1的取值。

J ( θ 0 , θ 1 ) J({\theta _0},{\theta _1}) J(θ0,θ1)称为:代价函数(cost function),优化目标(optimization objective)。

小提示损失函数“(Loss Function )是定义在单个样本上的,算的是一个样本的误差,而代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

2.3 简化(Simplified)

h θ ( x ) = θ 1 x {h_\theta }(x) = {\theta _1}x hθ(x)=θ1x假设 θ 0 = 0 {\theta _0}=0 θ0=0

J ( θ 0 , θ 1 ) → J ( θ 1 ) J({\theta _0},{\theta _1}) \to J({\theta _1}) J(θ0,θ1)J(θ1)

2.4 重新加入 θ 0 {\theta _0} θ0分析

假设函数: h θ ( x ) = θ 0 + θ 1 x {h_\theta }(x) = {\theta _0} + {\theta _1}x hθ(x)=θ0+θ1x

可学习参数: θ 0 , θ 1 {\theta _0},{\theta _1} θ0,θ1

损失函数: J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 J({\theta _0},{\theta _1}) = {1 \over {2m}}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^2}} J(θ0,θ1)=2m1i=1m(hθ(xi)yi)2

目标: m i n i m i z e θ 0 θ 1 J ( θ 0 , θ 1 ) \mathop {minimize}\limits_{{\theta _0}{\theta _1}} J({\theta _0},{\theta _1}) θ0θ1minimizeJ(θ0,θ1)

2.5 梯度下降(Gradient descent)

问题描述:

有一些函数如: J ( θ 0 , θ 1 ) J({\theta _0},{\theta _1}) J(θ0,θ1),想要 m i n i m i z e θ 0 θ 1 J ( θ 0 , θ 1 ) \mathop {minimize}\limits_{{\theta _0}{\theta _1}} J({\theta _0},{\theta _1}) θ0θ1minimizeJ(θ0,θ1)

解决步骤:

  1. 设置 θ 0 , θ 1 {\theta _0},{\theta _1} θ0,θ1初值通常为 0 0 0
  2. 改变 θ 0 , θ 1 {\theta _0},{\theta _1} θ0,θ1(通常以较小值改变)减少 J ( θ 0 , θ 1 ) J({\theta _0},{\theta _1}) J(θ0,θ1)直到我们希望的最小值(可以找到一个局部最小值)

梯度下降算法:

repeat until convergence{ θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) {\theta _j}: = {\theta _j} - \alpha {\partial \over {\partial {\theta _j}}}J({\theta _0},{\theta _1}) θj:=θjαθjJ(θ0,θ1)(for j=0 and j=1)}

α \alpha α:学习率(learning rate)

注意:同时更新参数 θ 0 , θ 1 {\theta _0},{\theta _1} θ0,θ1

2.6 梯度下降总结

θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) {\theta _j}: = {\theta _j} - \alpha {\partial \over {\partial {\theta _j}}}J({\theta _0},{\theta _1}) θj:=θjαθjJ(θ0,θ1)

α \alpha α:过小,收敛慢;过大,可能发散,不收敛。

梯度下降可以收敛到局部最小值,即使学习率 α \alpha α固定。

当我们接近局部最小值,梯度下降将要自动得到一个较小的步长。所以,不需要随时间减少学习率 α \alpha α

2.7 线性回归梯度下降

最小化线性回归中的平方损失函数。

∂ ∂ θ j J ( θ 0 , θ 1 ) = ∂ ∂ θ j 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 = ∂ ∂ θ j 1 2 m ∑ i = 1 m ( θ 0 + θ 1 x i − y i ) 2 {\partial \over {\partial {\theta _j}}}J({\theta _0},{\theta _1}) = {\partial \over {\partial {\theta _j}}}{1 \over {2m}}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^2}}= {\partial \over {\partial {\theta _j}}}{1 \over {2m}}\sum\limits_{i = 1}^m {{{({\theta _0} + {\theta _1}{x_i} - {y_i})}^2}} θjJ(θ0,θ1)=θj2m1i=1m(hθ(xi)yi)2=θj2m1i=1m(θ0+θ1xiyi)2

θ 0 {{\theta _0}} θ0 j = 0 j=0 j=0 ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) {\partial \over {\partial {\theta _0}}}J({\theta _0},{\theta _1}) = {1 \over m}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^{}}} θ0J(θ0,θ1)=m1i=1m(hθ(xi)yi)

θ 1 {{\theta _1}} θ1 j = 1 j=1 j=1 ∂ ∂ θ 1 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i {\partial \over {\partial {\theta _1}}}J({\theta _0},{\theta _1}) = {1 \over m}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^{}}} {x_i} θ1J(θ0,θ1)=m1i=1m(hθ(xi)yi)xi

同时更新:

θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) {\theta _0}: = {\theta _0} - \alpha {1 \over m}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^{}}} θ0:=θ0αm1i=1m(hθ(xi)yi)

θ 1 : = θ 1 − α 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i {\theta _1}: = {\theta _1} - \alpha {1 \over m}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^{}}} {x_i} θ1:=θ1αm1i=1m(hθ(xi)yi)xi

小提示:凸函数(convex function):只要一个全局最优

批量梯度下降:每次梯度下降使用所有的训练样本(虽然名字有点歧义)。

3. 第三章 线性代数基础

3.1 矩阵和向量(Matrices and vectors)

矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。

矩阵维数:行数*列数

A A A:矩阵, A i j {A_{ij}} Aij:表示第 i i i行第 j j j列的元素。

向量: n ∗ 1 n*1 n1的矩阵

y y y:向量,n-dimension 向量

3.2 矩阵加减与标量(scalar)运算

两个行列相等的矩阵才可以相加减:对应元素相加减

标量同一个矩阵相加减乘除:标量与每个元素分别运算,矩阵维数不变

3.3 矩阵向量乘法

A m × n × x n × 1 = y m × 1 {A_{m \times n}} \times {x_{n \times 1}} = {y_{m \times 1}} Am×n×xn×1=ym×1

y i {y_{i}} yi通过 A A A的第 i i i行与向量 x x x对应元素相乘再相加得到。

3.4 矩阵乘法

A m × n × B n × o = C m × o {A_{m \times n}} \times {B_{n \times o}} = {C_{m \times o}} Am×n×Bn×o=Cm×o

矩阵 C C C的第 i i i列是通过矩阵 A A A和矩阵 B B B的第 i i i列相乘得到的。

3.5 矩阵乘法特征

  1. A B = B A AB=BA AB=BA
  2. A × B × C = ( A × B ) × C = A × ( B × C ) A \times B \times C = (A \times B) \times C = A \times (B \times C) A×B×C=(A×B)×C=A×(B×C)
  3. 单位矩阵( I o r I n × n I or {I_{n \times n}} IorIn×n)满足 I i i = 1 {I_{ii}}=1 Iii=1 I I I可以根据需要取不同的维数,如 A m × n × I n × n = I m × m × A m × n = A {A_{m \times n}} \times {I_{n \times n}} = {I_{m \times m}} \times {A_{m \times n}} = A Am×n×In×n=Im×m×Am×n=A

3.6 逆和转置

矩阵的逆:方阵才有逆,满足 A m × m {A_{m \times m}} Am×m A A − 1 = A − 1 A = I A{A^{ - 1}} = {A^{ - 1}}A = I AA1=A1A=I

没有逆的矩阵:奇异矩阵(singular),退化矩阵(degenerate)

矩阵的转置:

img

4. 第四章 多元线性回归

4.1 多元特征

多元特征:特征数大于2

n n n表示特征数量; x ( i ) {x^{(i)}} x(i)表示第 i i i个训练样本的所有输入特征; x j ( i ) x_j^{(i)} xj(i)表示第 i i i个训练样本的第 j j j个输入特征。

假设函数: h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n {h_\theta }(x) = {\theta _0} + {\theta _1}{x_1} + {\theta _2}{x_2} + ... + {\theta _n}{x_n} hθ(x)=θ0+θ1x1+θ2x2+...+θnxn

X ∈ R n + 1 X \in {R^{n + 1}} XRn+1 θ ∈ R n + 1 \theta \in {R^{n + 1}} θRn+1 X 0 = 1 {X_0} = 1 X0=1则化简公式为: h θ ( x ) = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n = θ T x {h_\theta }(x) = {\theta _0}{x_0} + {\theta _1}{x_1} + {\theta _2}{x_2} + ... + {\theta _n}{x_n} = {\theta ^T}x hθ(x)=θ0x0+θ1x1+θ2x2+...+θnxn=θTx

4.2 多元变量梯度下降

假设函数: h θ ( x ) = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n = θ T x {h_\theta }(x) = {\theta _0}{x_0} + {\theta _1}{x_1} + {\theta _2}{x_2} + ... + {\theta _n}{x_n} = {\theta ^T}x hθ(x)=θ0x0+θ1x1+θ2x2+...+θnxn=θTx

可学习参数: θ 0 , θ 1 , . . . θ n {\theta _0},{\theta _1},...{\theta _n} θ0,θ1,...θn,其中 θ ∈ R n + 1 \theta \in {R^{n + 1}} θRn+1

损失函数: J ( θ 0 , θ 1 , . . . θ n ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 = J ( θ ) J({\theta _0},{\theta _1},...{\theta _n}) = {1 \over {2m}}\sum\limits_{i = 1}^m {{{({h_\theta }({x_i}) - {y_i})}^2}} =J({\theta }) J(θ0,θ1,...θn)=2m1i=1m(hθ(xi)yi)2=J(θ)

参数更新: θ j : = θ j − α ∂ ∂ θ j J ( θ ) 其 中 ( j = 0 , 1 , . . . , n ) {\theta _j}: = {\theta _j} - \alpha {\partial \over {\partial {\theta _j}}}J({\theta})其中(j=0,1,...,n) θj:=θjαθjJ(θ)(j=0,1,...,n)

  • n > = 1 n>=1 n>=1时, θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) {\theta _j}: = {\theta _j} - \alpha {1 \over m}\sum\limits_{i = 1}^m {{{({h_\theta }({x^{(i)}}) - {y^{(i)}})}^{}}} x_j^{(i)} θj:=θjαm1i=1m(hθ(x(i))y(i))xj(i)
  • n = = 1 n==1 n==1时, θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) {\theta _0}: = {\theta _0} - \alpha {1 \over m}\sum\limits_{i = 1}^m {{{({h_\theta }({x^{(i)}}) - {y^{(i)}})}^{}}} θ0:=θ0αm1i=1m(hθ(x(i))y(i))

4.3 多元变量梯度下降:特征缩放(Feature Scaling)

思想:确保所有特征数值在相似地范围。这样可以走一条相对简单的路径到最优解,要求特征值组之间取值范围相差不大,默认 − 1 ≤ x i ≤ 1 -1 \le {x_i} \le 1 1xi1

做法:均值归一化(Mean normalization)。使用 x i − μ i {x_i} - {\mu _i} xiμi代替 x i {x_i} xi 确保 0 0 0均值。

x i ← x i − μ i S i {x_i} \leftarrow {{{x_i} - {\mu _i}} \over {{S_i}}} xiSixiμi,其中 μ i {{\mu _i}} μi表示该特征均值, S i {{S_i}} Si表示取值范围(最大值减去最小值)

4.4 多元变量梯度下降:学习率 α \alpha α

如何判断梯度下降算法是否正确工作?

若正常工作在每次迭代后, J ( θ ) J(\theta ) J(θ)都应该减少,可以绘制 J ( θ ) J(\theta ) J(θ)随迭代次数变化的函数判断。

自动收敛测试(automatic convergence test):每次迭代后 J ( θ ) J(\theta ) J(θ)下降的值超过 ε ( 小 正 数 如 : 1 0 − 3 ) \varepsilon (小正数如:{10^{ - 3}}) ε(103)

如果未正常工作可以使用更小的 α \alpha α

对于足够小的 α \alpha α J ( θ ) J(\theta ) J(θ)应该每次迭代均会下降,但是如果 α \alpha α太小,则会导致收敛速度太慢。

如何选择 α \alpha α

. . . , 0.001 , 0.003 , 0.01 , 0.03 , 0.1 , 0.3 , 1... ...,0.001,0.003,0.01,0.03,0.1,0.3,1... ...,0.001,0.003,0.01,0.03,0.1,0.3,1...,采用3倍策略(经验)

4.5 特征和多项式回归

例: θ 0 + θ 1 x + θ 2 x 2 + θ 3 x 3 {\theta _0} + {\theta _1}x + {\theta _2}{x^2} + {\theta _3}{x^3} θ0+θ1x+θ2x2+θ3x3映射到多元线性回归 h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 3 {h_\theta }(x) = {\theta _0} + {\theta _1}{x_1} + {\theta _2}{x_2} + {\theta _3}{x_3} hθ(x)=θ0+θ1x1+θ2x2+θ3x3可以用少量特征学习更加复杂的关系。

x 1 = ( s i z e ) , x 2 = ( s i z e ) 2 , x 3 = ( s i z e ) 3 {x_1} = (size),{x_2} = {(size)^2},{x_3} = {(size)^3} x1=(size),x2=(size)2,x3=(size)3,这时特征缩放更为重要。

4.6 正规方程(Normal equation)解析解法

自觉:对于一维的情况,好像在 J ( θ ) J(\theta ) J(θ)导数为0时可以取得最优解。
J ( θ 0 , θ 1 , . . . , θ n ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 , θ ∈ R n + 1 J({\theta _0},{\theta _1},...,{\theta _n}) = {1 \over {2m}}\sum\limits_{i = 1}^m {{{({h_\theta }({x^{(i)}}) - {y^{(i)}})}^2}} ,\theta \in {R^{n + 1}} J(θ0,θ1,...,θn)=2m1i=1m(hθ(x(i))y(i))2θRn+1

∂ ∂ θ j J ( θ ) = . . . = 0 {\partial \over {\partial {\theta _j}}}J(\theta ) = ... = 0 θjJ(θ)=...=0

对于 θ 0 , θ 1 , . . . , θ n {\theta _0},{\theta _1},...,{\theta _n} θ0,θ1,...,θn,可得 θ = ( X T X ) − 1 X T y \theta = {({X^T}X)^{ - 1}}{X^T}y θ=(XTX)1XTy,其中 X ∈ R m × ( n + 1 ) X \in {R^{m \times (n + 1)}} XRm×(n+1)

无需特征缩放。

梯度下降 V S VS VS正规方程

梯度下降 :

  • 需要学习率 α \alpha α
  • 需要多次迭代
  • n n n很大时工作的好

正规方程:

  • 不需要学习率 α \alpha α
  • 不需要迭代
  • 需要计算矩阵 X T X {X^T}X XTX的逆,而该矩阵是 n × n n \times n n×n维的。对于大多数计算机来说,逆矩阵的计算是 o ( n 3 ) {\rm{o}}({n^3}) o(n3)
  • n n n很大时很慢( 1 0 4 {10^4} 104

4.7 正规方程:不可逆矩阵

如果 θ = ( X T X ) − 1 X T y \theta = {({X^T}X)^{ - 1}}{X^T}y θ=(XTX)1XTy无法求逆,则可以求伪逆(大多数求逆矩阵的库,在矩阵不可逆时,自动返回伪逆)。

为什么 X T X {X^T}X XTX不可逆?

  • 多余的特征:存在特征间的线性依赖
  • 太多的特征( m ≤ n m \le n mn

X T X {X^T}X XTX不可逆的解决方案:删除一些特征,或者进行正则化。

5. 第五章 Octave基础

主要讲解 Octave语言,但是人生苦短,我选python,跳过!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/62039.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达NLP课程资料

NLP_wuenda 1.简介 吴恩达老师在2020年6月份推出了NLP课程,Natural Language Processing Specialization  本人忙里偷闲将老师的视频和作业都完成了,后续会持续更新课程的资料和作业。目前NLP课程一共分为四门,每门课程会分为三&#xff08…

吴恩达新课程:ChatGPT提示工程,ChatGPT Prompt Engineering for Developers

来源:专知 本文为课程介绍,建议阅读5分钟 您将学习如何使用大型语言模型(LLM)快速构建新的和强大的应用程序。 https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/1/introduction 在ChatGPT Prompt Engineering for Developers中,您将…

python 用户登录,密码错误3次则锁定该用户

需求: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 实现思路: 判断用户是否在黑名单,如果在黑名单提示账号锁定,然后退出操作。 判断账号密码是否正确,如果正确则正常登录。如果不正确有三次输入密码机会…

Git 密码输入错误解决方案

前言:有时候我们不小心输入了密码,想要重新输入一次,但是始终找不到重新输入的提示框,这是因为 Windows缓存了我们的Git账号密码作为凭证,帮助我们下次自动登录 修改Git凭证 总结:控制面板 -> 用户账户…

使用git时输错密码解决办法

在使用git在clone项目的时候出现了让输入用户名和密码,然而密码输入错误导致项目clone不下来.. 解决办法:找到在控制面板\用户帐户\凭据管理器\windows凭据\ 里面删除原来的密码,删除后就可以重新输入密码了 输入正确的密码就可以clone了

Linux中标麒麟操作系统下,多次密码输入错误后账户被锁定的解决方法

错误描述 账户在登陆时,输入密码错误次数超过限制,账户就会被锁定。此后,即使密码输入正确,也不能正常登陆。 解决方法 1、使用root账号登陆系统 root账号需要点击“未列出”,在出现的提示框中输入root,…

关于密码输错三次后锁定登录

前言 用户登录输错密码三次将自动锁定该用户,本章用mybatisplus 提示:以下是本篇文章正文内容,下面案例可供参考 一、数据库展示 数据库字段展示 erroeNum为错误次数,isLock:0未锁定,1:锁定…

linux(ubuntu)用户连续N次输入错误密码进行登陆时,自动锁定X分钟

1、编辑PAM的配置文件 sudo vim /etc/pam.d/login在第二行添加 auth required pam_tally2.so deny3 unlock_time5 even_deny_root root_unlock_time10参数介绍 even_deny_root 也限制root用户; deny 设置普通用户和root用户连续错误登陆的最大次…

用户正确输入密码会累计错误次数,累计5次后用户锁定

问题描述 提示:遇到的问题: 安全要求用户密码输入错误5次,锁定用户600秒 ,安全加固后,反馈openssh后登录pam_tally2.so计数不清零问题,用户输入正确密码pam_tall2依旧会增加错误次数 解决方案: …

Ubuntu用户连续N次输入错误密码进行登陆时自动锁定X分钟

1、编辑PAM的配置文件 sudo vim /etc/pam.d/login在第二行添加 auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10参数介绍 even_deny_root 也限制root用户; deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁…

Git Bash输错账号密码如何重新输入

很多时候我们容易在Git Bash操作的时候,不慎输入错误的用户名或密码,此时一直提示: remote: Incorrect username or password ( access token ) 解决办法: 1.打开控制面板(快捷打开winR,输入control) 2.…

在git上输错密码,解救办法

当输入密码错误后,git会把密码保存在windows的你的当前用户名的缓存中。 我们可以在控制面板中寻找到这个缓存,再删掉就可以了。 首先,打开“控制面板”,再打开“用户账户” 点击管理你的凭据, 在点击windows凭据&am…

windows中git输错密码后不能重新输入的问题

当输入密码错误后,git会把密码保存在windows的你的当前用户名的缓存中。 我们可以在控制面板中寻找到这个缓存,再删掉就可以了。 首先,打开“控制面板”,把“查看方式”改为“大图标”,再打开“用户账户” 会打开“用…

gitHub不能用密码推送了,必须要使用令牌

有一段时间没使用github去push项目了,今天push之后,根据提示输入账号密码,但是失败了,报错如下: support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com…

【Linux】Ubuntu登录账户时多次输错密码锁定账户策略

一、编辑PAM的配置文件 vim /etc/pam.d/sshd (ssh远程登录) vim /etc/pam.d/login (终端窗口登录) 二、在第二行添加 只设置普通用户 auth required pam_tally2.so deny3 unlock_time5 设置普通用户和root用户 auth required pam_tally2.so de…

ChatGPT Prompt实战技巧——Prompt提示词生成器

很多时候,我们不知道去写出一个非常好的提示词,这个时候我们为什么不让ChatGPT提供帮助呢? 简单地说,就是让ChatGPT扮演一个提示词生成专家,帮助你完成/完善/改进你的prompt。 让ChatGPT帮你写提示词,然后…

手把手教您注册/使用Claude

文章目录 注册slack注意事项最近几天出现了一个很火的AI聊天项目——Claude,据说可以媲美ChatGPT,最主要的就是可以很好的解决我们国内的使用痛点,可以完全免费无限制的使用,下面就和大家分享一下正确的注册和使用Claude的流程,仅供参考 注册slack 这里需要注册slack,注册…

零基础手把手教你如何使用Laf免费玩转Midjourney

一、什么是Laf? Laf 是一个 Serverless 框架,提供开箱即用的云函数,云数据库,对象存储等能力,是一个非常干净清爽的开发平台,不仅入门简单,还能像写博客一样写代码!最重要的是&…

.net配置nacos,手把手教你分布式配置中心

.net配置nacos,手把手教你分布式配置中心 个人博客地址:note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.top Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 这么优秀的分布式服务…

《商标与商号法律制度冲突问题研究报告》发布

2022年4月11日,北京阳光知识产权与法律发展基金会正式发布《商标与商号法律制度冲突问题研究报告》。报告历时一年半,是目前针对商标与字号法律制度冲突问题进行的比较系统、全面的研究成果,具有极高的实践价值。   在我国目前的法律制度体…