机器学习(1)关系拟合(回归)与区分类型(分类)

这篇博客探讨了机器学习的基础概念,包括关系拟合的回归分析和区分类型的分类问题。作者在学习过程中遇到困难,通过详细研究和查阅资料,逐步理解了这两个核心概念。
摘要由CSDN通过智能技术生成

这波全新的学习遭老罪了,几乎啥都看不明白,一个一个查,感觉注释有代码两倍长。

一、回归

import torch
import torch.nn.functional as F
import matplotlib.pyplot as plt

#-----建立数据集-----


# torch.manual_seed(1)    # reproducible可再生的

x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)  # x data (tensor), shape=(100, 1)
#numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下:
#unsqueeze用来增加张量,torch中只能处理二维信息,在指定位置 dim 插入一个大小为1的维度

y = x.pow(2) + 0.2*torch.rand(x.size())                 # noisy y data (tensor), shape=(100, 1)
#这一行的意思是把y和x相关,添加噪点

# torch can only train on Variable, so convert them to Variable
# The code below is deprecated in Pytorch 0.4. Now, autograd directly supports tensors
# x, y = Variable(x), Variable(y)

# plt.scatter(x.data.numpy(), y.data.numpy())
# plt.show()

#-----建立神经网络-----

class Net(torch.nn.Module):    #继承torch的组件
    #class(类)是面向对象编程的基本概念,是一种自定义数据结构类型 命名为Net

    #init搭建这个信息层所需要的信息
    def __init__(self, n_feature, n_hidden, n_output):
        super(Net, self).__init__()    # 继承 __init__ 功能
        #首先找到Net的父类(比如是类nn.Module),然后把类Net的对象self转换为类nn.Module的对象,然后“被转换”的类nn.Module对象调用自己的init函数
        self.hidden = torch.nn.Linear(n_feature, n_hidden)   # 隐藏层线性输出
        self.predict = torch.nn.Linear(n_hidden, n_output)   # 输出层线性输出
        #nn.Lin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值