理解神经网络和机器学习的基本概念

目录

1.理解神经网络

1.1. 什么是神经网络?

1.2. 如何构建一个简单的神经网络?

2.理解机器学习

2.1. 什么是机器学习?

2.2. 如何使用机器学习解决问题?

3.神经网络

4.激活函数


1.理解神经网络
1.1. 什么是神经网络?

神经网络是受到生物神经元启发的数学模型,它由多个神经元(节点)组成,通过连接权重(weights)和激活函数(activation function)来处理输入数据并生成输出。神经网络可以用于解决分类、回归、聚类等各种问题。

1.2. 如何构建一个简单的神经网络?

我们可以使用Python和深度学习框架如TensorFlow或PyTorch来构建神经网络。以下是一个使用PyTorch构建简单的全连接神经网络的示例代码:

import torch
import torch.nn as nn
import torch.optim as optim

# 定义神经网络模型
class SimpleNN(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(input_size, hidden_size)
        self.fc2 = nn.Linear(hidden_size, output_size)

    def forward(self, x):
        x = torch.relu(self.fc1(x))
        x = self.fc2(x)
        return x

# 创建模型实例
model = SimpleNN(input_size=2, hidden_size=5, output_size=1)
2.理解机器学习
2.1. 什么是机器学习?

机器学习是一种人工智能的分支,其目标是让计算机能够从数据中学习模式并做出预测或决策,而无需明确编程。机器学习可以分为监督学习、无监督学习和强化学习等不同类型。

2.2. 如何使用机器学习解决问题?

我们可以使用机器学习算法来解决各种问题,例如分类、回归、聚类等。以下是一个使用Python实现简单线性回归的示例代码:

import numpy as np
import matplotlib.pyplot as plt

# 定义数据
X = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6])

# 定义线性回归模型
def linear_regression(X, y):
    n = len(X)
    numerator = np.dot(X, y) - n * np.mean(X) * np.mean(y)
    denominator = np.dot(X, X) - n * np.mean(X) ** 2
    slope = numerator / denominator
    intercept = np.mean(y) - slope * np.mean(X)
    return slope, intercept

slope, intercept = linear_regression(X, y)

# 绘制结果
plt.scatter(X, y)
plt.plot(X, slope * X + intercept, color='red')
plt.xlabel('X')
plt.ylabel('y')
plt.title('Linear Regression')
plt.show()

3.神经网络

人工神经网络: 大量神经元以某种连接方式构成的机器学习模型

4.激活函数

作用:

  1. 让多层感知机成为真正的多层,否则等价于一层;
  2. 引入非线性,使网络可以逼近任意非线性函数(详见:万能逼近定理,universal approximator)

激活函数需要具备以下几点性质:

  1. 连续并可导(允许少数点上不可导),便于利用数值优化的方法来学习网络参数
  2. 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率
  3. 激活函数的导函数的值域要在合适区间内,反向传播中会使用到激活函数的导函数,数值会影响到权重的更新,不能太大也不能太小,否则会影响训练的效率和稳定性。

常见激活函数:Sigmoid(S型) , Tanh(双曲正切), ReLU(修正线性单元)

Sigmoid(S型)

常用于RNN以及二分类中。做二分类的输出的激活函数;做循环神经网络中门控单元的激活函数。

有饱和区,导函数的饱和区(神经元的值差不多,梯度差不多),更新困难。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值