各种正则

电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)
 
匹配格式:
11位手机号码
3-4位区号,7-8位直播号码,1-4位分机号
如:12345678901、1234-12345678-1234
 
 
 
 
 
 
 
"^\d+$"  //非负整数(正整数 + 0) 
"^[0-9]*[1-9][0-9]*$"  //正整数 
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0) 
"^-[0-9]*[1-9][0-9]*$"  //负整数 
"^-?\d+$"    //整数 
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) 
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0) 
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点
数 
"^(-?\d+)(\.\d+)?$"  //浮点数 
"^[A-Za-z]+$"  //由26个英文字母组成的字符串 
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
"^[a-z]+$"  //由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url 
/^13\d{9}$/gi手机号正则表达式


用户名(字母数字下划线 6-20位长度):

^[a-zA-Z0-9_]{6,20}$
有中文:
^[\u4E00-\u9FA5A-Za-z][\u4E00-\u9FA5A-Za-z0-9]+$

### PyTorch中的正则化方法 #### L2 正则化 (权重衰减) L2 正则化通过在损失函数中加入权重参数平方和的惩罚项,使得模型训练过程中倾向于选择更小的权重值。这有助于减少过拟合现象的发生。 ```python import torch import torch.nn as nn import torch.optim as optim model = YourModel() optimizer = optim.SGD(model.parameters(), lr=0.01, weight_decay=0.001) ``` 上述代码展示了如何利用 `weight_decay` 参数来启用 L2 正则化[^1]。 #### L1 正则化 不同于 L2 正则化,L1 正则化是在损失函数上增加权重绝对值之和作为惩罚项。这种类型的正则化能够促使一些不重要的连接权值变为零,从而实现自动化的特征选择功能。 为了手动添加 L1 正则化到损失计算过程: ```python l1_lambda = 0.001 l1_norm = sum(p.abs().sum() for p in model.parameters()) loss = loss_fn(output, target) + l1_lambda * l1_norm ``` 这段代码片段说明了怎样自定义地向总损失中引入 L1 惩罚因子[^5]。 #### Dropout 方法 Dropout 是一种简单而有效的技术,在每次更新期间随机丢弃一部分神经元节点,以此模拟多个稀疏架构并增强泛化能力。它不是严格意义上的正则化形式,但在实践中被广泛视为如此。 ```python class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(in_features, hidden_size) self.dropout = nn.Dropout(p=dropout_prob) self.fc2 = nn.Linear(hidden_size, out_features) def forward(self, x): x = F.relu(self.fc1(x)) x = self.dropout(x) x = self.fc2(x) return x ``` 此部分描述了一个简单的网络结构实例,其中包含了 dropout 层的应用[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值