linear

什么是SVM

房东的猫 提交于 2020-01-11 08:24:34
一、什么是SVM SVM主要针对小样本数据进行学习、分类和预测(有时也叫回归)的一种方法,有很好的泛化能力 二、SVM原理 举个例子: 好吧,故事是这样子的: 在很久以前的情人节,大侠要去救他的爱人,但魔鬼和他玩了一个游戏。 魔鬼在桌子上似乎有规律放了两种颜色的球,说:“你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。” 增加难度 然后,在SVM 工具箱中有另一个更加重要的 trick。 魔鬼看到大侠已经学会了一个trick,于是魔鬼给了大侠一个新的挑战 现在,大侠没有棍可以很好帮他分开两种球了,现在怎么办呢?当然像所有武侠片中一样大侠桌子一拍,球飞到空中。然后,凭借大侠的轻功,大侠抓起一张纸,插到了两种球的中间 再后来 无聊的大人们,把这些球叫做 「data」,把棍子 叫做 「classifier」, 最大间隙trick 叫做「optimization最优化」, 拍桌子叫做「kernelling内核」, 那张纸叫做「hyperplane超平面」 三、SVM内核选择 Linear核:主要用于线性可分的情形。参数少,速度快,适用于一般数据 RBF核:主要用于线性不可分的情形。参数多,分类结果非常依赖于参数。 poly:参数较多,在另外两种都不适用的时候选择 就拟合程度来讲,linear在线性可分的情况下和rbf想过差不多,在线性不可分的情况下rbf明显优于linear

CSS3+HTML5特效9 - 简单的时钟

笑着哭i 提交于 2020-01-06 05:03:20
原文: CSS3+HTML5特效9 - 简单的时钟 效果演示(加快了100倍) /*--> */ /*--> */ 实现原理 利用CSS3的transform-origin 及 transform 完成以上效果。 代码及说明 1 <style> 2 @-webkit-keyframes rotateLabel { 3 0%{ 4 -webkit-transform-origin:0% 100%; 5 -webkit-transform: rotate(0deg); 6 } 7 100%{ 8 -webkit-transform-origin:0% 100%; 9 -webkit-transform: rotate(360deg); 10 } 11 } 12 13 @keyframes rotateLabel { 14 0%{ 15 transform-origin:0% 100%; 16 transform: rotate(0deg); 17 } 18 100%{ 19 transform-origin:0% 100%; 20 transform: rotate(360deg); 21 } 22 } 23 .hour 24 { 25 position: absolute; 26 top: 60px; 27 left: 200px; 28 width: 1px; 29 height:

线性回归中的多项式拓展及pyhton实现

扶醉桌前 提交于 2019-12-25 07:32:38
在利用线性回归进行预测时,经常由于数据的线性关系不好,导致模型出现欠拟合,lr。score比较低,就是决定系数低,这时候我们可以用多项式拓展方式来改进、 多项式扩展,可以认为是对现有数据进行的一种转换,通过将数据映射到更高维度的空间中,该模型就可以拟合更广泛的数据。 需注意:多项式拟合的应用,仍然变为线性模型 下面是多项式拓展的实现 # 引入所需要的全部包 import sklearn from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import PolynomialFeatures from sklearn.pipeline import Pipeline import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import pandas as pd import time ## 创建一个时间字符串格式化字符串, def date_format(dt): import time t

小程序自定义轮播图

那年仲夏 提交于 2019-12-19 09:34:02
话不多说,上图上代码。 wxml <view style="white-space: nowrap;" class="box" bindtouchstart="touchstart" bindtouchmove="touchmove" bindtouchend="touchend"> <view class="club" animation="{{animation1}}" bindtap="scrollLeft"> <image src="http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg"/> <text>{{clubs[0].name}}</text> </view> <view class="club" animation="{{animation2}}" bindtap="scrollLeft"> <image src="http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg"/> <text>{{clubs[1].name}}</text> </view> <view class="club" animation="{{animation3}}"> <image src="http://img02

过渡 - transition

青春壹個敷衍的年華 提交于 2019-12-18 00:19:39
过渡 - transition 是变形 transfrom 其中一种效果,定义为一种状态过渡到另一种状态的过程,今天学习到css3动画,特此记录下过渡的使用和一些效果。 实例1: <div class="box"></div> <p>鼠标移动到 .box 元素上,查看过渡效果。</p> .box{ width: 100px; height: 100px; background: red; margin: 0 auto; transition-duration: 1s; /*花费时间*/ transition-property: all; transition-delay:0s; /* 延迟 */ transition-timing-function: linear; /*匀速*/ } .box:hover{ width:200px; background: #00FFFF; } 效果图: 注:当指针移出元素时,它会逐渐变回原来的样式。 实例2: 在例子中使用所有过渡属性 - 使用简写 .box{ .box{ width: 100px; height: 100px; background: red; margin: 0 auto; transition:1s all 0s linear; } 效果图还是这样: -------------------------------------

格式化硬盘出现 is apparently in use by the system错误

荒凉一梦 提交于 2019-12-15 10:42:24
错误如下: [root@hpf-linux~]# mke2fs -t ext3 -b 2048 -m 3 /dev/sdb5 mke2fs 1.41.12 (17-May-2010) /dev/sdb5 is apparently in use by the system; will not make a 文件系统 here! 提示/dev/sdb5 正在被使用。 /dev/sdb5 正在被DM管理,所以我们创建文件系统时提示报错,我们手工的移除,就可以正常的创建文件系统,操作如下: [root@hpf-linux~]# cat /proc/partitions major minor #blocks name 8 0 20971520 sda 8 1 204800 sda1 8 2 5120000 sda2 8 3 2048000 sda3 8 4 1 sda4 8 5 13596672 sda5 8 16 20971520 sdb 8 17 5253223 sdb1 8 18 2104515 sdb2 8 19 3156772 sdb3 8 20 1 sdb4 8 21 2104483 sdb5 8 32 18874368 sdc 253 0 5253223 dm-0 253 1 2104515 dm-1 253 2 3156772 dm-2 253 3 1 dm-3 253

pytorch固定部分参数

混江龙づ霸主 提交于 2019-12-11 21:08:12
pytorch固定部分参数 不用梯度 如果是Variable,则可以初始化时指定 j = Variable(torch.randn(5,5), requires_grad=True) 但是如果是m = nn.Linear(10,10) 是没有 requires_grad 传入的 for i in m.parameters(): i.requires_grad=False 另外一个小技巧就是在nn.Module里,可以在中间插入这个 for p in self.parameters(): p.requires_grad=False # eg 前面的参数就是False,而后面的不变 class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(1, 6, 5) self.conv2 = nn.Conv2d(6, 16, 5) for p in self.parameters(): p.requires_grad=False self.fc1 = nn.Linear(16 * 5 * 5, 120) self.fc2 = nn.Linear(120, 84) self.fc3 = nn.Linear(84, 10) def freeze(test_net): ct

torch学习笔记(二) nn类结构-Linear

我怕爱的太早我们不能终老 提交于 2019-12-05 22:13:32
Linear 是module的子类,是参数化module的一种,与其名称一样,表示着一种线性变换。 创建 parent 的init函数 Linear的创建需要两个参数,inputSize 和 outputSize inputSize:输入节点数 outputSize:输出节点数 所以Linear 有7个字段: weight : Tensor , outputSize ×× inputSize bias: Tensor ,outputSize gradWeight: Tensor , outputSize ×× inputSize gradBias: Tensor ,outputSize gradInput: Tensor output: Tensor _type: output:type() 例子 module = nn.Linear(10, 5) 1 Forward Pass --------------------- 作者:bubbleoooooo 来源:CSDN 原文:https://blog.csdn.net/u012936765/article/details/52671156 版权声明:本文为博主原创文章,转载请附上博文链接! 来源: CSDN 作者: kyle1314608 链接: https://blog.csdn.net/kyle1314608/article

pytorch源码解析:Python层 pytorchmodule源码

徘徊边缘 提交于 2019-12-05 21:44:00
尝试使用了pytorch,相比其他深度学习框架,pytorch显得简洁易懂。花时间读了部分源码,主要结合简单例子带着问题阅读,不涉及源码中C拓展库的实现。 一个简单例子 实现单层softmax二分类,输入特征维度为4,输出为2,经过softmax函数得出输入的类别概率。代码示意:定义网络结构;使用SGD优化;迭代一次,随机初始化三个样例,每个样例四维特征,target分别为1,0,1;前向传播,使用交叉熵计算loss;反向传播,最后由优化算法更新权重,完成一次迭代。 import torch import torch.nn as nn import torch.nn.functional as F class Net (nn.Module): def __init__ (self): super(Net, self).__init__() self.linear = nn.Linear( 4, 2) def forward (self, input): out = F.softmax(self.linear(input)) return out net = Net() sgd = torch.optim.SGD(net.parameters(), lr= 0.001) for epoch in range( 1): features = torch.autograd

torch.nn.Linear()函数的理解

坚强是说给别人听的谎言 提交于 2019-12-05 10:18:01
import torch x = torch . randn ( 128 , 20 ) # 输入的维度是(128,20) m = torch . nn . Linear ( 20 , 30 ) # 20,30是指维度 output = m ( x ) print ( 'm.weight.shape:\n ' , m . weight . shape ) print ( 'm.bias.shape:\n' , m . bias . shape ) print ( 'output.shape:\n' , output . shape ) # ans = torch.mm(input,torch.t(m.weight))+m.bias 等价于下面的 ans = torch . mm ( x , m . weight . t ( ) ) + m . bias print ( 'ans.shape:\n' , ans . shape ) print ( torch . equal ( ans , output ) ) m . weight . shape : torch . Size ( [ 30 , 20 ] ) m . bias . shape : torch . Size ( [ 30 ] ) output . shape : torch . Size ( [ 128 , 30 ] )