ML基础1-简介+准备工作

一,ML简介

机器学习是一门由计算机学、数学、统计学等多领域交叉产生的一门前沿学科,其中的深度学习、人工智能近年来的热度自然不必多说。机器学习的主要任务是通过数据(可以是文本、图片、视频、音频等)的输入,让计算机程序随着经验的累积(训练)而提升性能(准确率等)并生成理想的模型。目前机器学习可以分为监督式学习(<font style="color:rgba(0, 0, 0, 0.87);">Supervised Learning</font>)、非监督式学习(<font style="color:rgba(0, 0, 0, 0.87);">Unsupervised Learning</font>)和半监督式学习(<font style="color:rgba(0, 0, 0, 0.87);">Semi-supervised Learning</font>)三种主要形式,它们在训练数据的使用和学习目标上有所不同。 取决于数据的可用性、问题的性质、以及期望解决的任务。

1,监督式学习

监督式学习涉及到使用一组标记的样本数据来训练模型,这些数据包含了输入和对应的正确输出(标签)。训练过程中,算法会尝试学习这些输入与输出之间的映射关系。目标是使模型能够在新的、未标记的数据上做出准确的预测或决策。

典型应用:分类、回归、标记预测。
优点:直接目标导向,性能易于评估。
缺点:需要大量的标记数据,标记过程可能费时费力。

2,非监督式学习

非监督式学习使用没有标记的数据来训练模型,意味着训练数据中不包含正确答案。算法的目标是探索数据的结构和模式,如将数据分组成子集(聚类),或者找到数据的低维表示(降维)。

典型应用:聚类、关联规则学习、特征提取。
优点:可以处理未标记的数据,适合数据探索。
缺点:目标不明确,性能评估可能不如监督学习直观。

3,半监督式学习

半监督式学习介于监督学习和非监督学习之间,使用的是部分标记的数据集来进行训练。这意味着数据集中只有一小部分样本有标记,而大多数样本没有标记。算法不仅利用标记数据的显式信息,还利用未标记数据的隐含信息来进行学习。

典型应用:当标记数据稀缺但未标记数据丰富时的分类、回归。
优点:结合了监督学习和非监督学习的优势,可以利用大量未标记数据。
缺点:算法复杂性高于纯监督学习或非监督学习,模型调整更为困难。

4,三种形式的异同

数据要求:监督学习需要大量标记数据;非监督学习不需要标记数据;半监督学习需要一些标记数据和更多未标记数据。
目标:监督学习旨在预测输出;非监督学习旨在揭示数据的内在结构;半监督学习旨在利用未标记数据提高学习效果。
复杂性:监督学习通常算法简单明了;非监督学习和半监督学习在模型设计和评估上可能更加复杂。
应用场景:监督学习适用于有明确预测任务且有足够标记数据的场景;非监督学习适用于数据探索和分析;半监督学习适用于标记数据有限但未标记数据充足的情况。
在实际应用中,选择哪种学习方法取决于数据的可用性、问题的性质、以及期望解决的任务。

方面监督学习非监督学习半监督学习
数据要求需要大量标记数据不需要标记数据需要一些标记数据和更多未标记数据
目标预测输出揭示数据的内在结构利用未标记数据提高学习效果
复杂性算法通常简单明了模型设计和评估可能更复杂模型设计和评估可能更复杂
应用场景适用于有明确预测任务且有足够标记数据的场景适用于数据探索和分析适用于标记数据有限但未标记数据充足的情况
选择依据数据的可用性、问题的性质、以及期望解决的任务数据的可用性、问题的性质、以及期望解决的任务数据的可用性、问题的性质、以及期望解决的任务

二,准备工作:
1,linux基础:

常见命令+awk/sed/grep会写百行左右shell脚本即可,以后我会专门再出相关的经验教程

2,python基础:

参考我已经在更新的博客,基本上都是我教本科生的课件,预计过年期间就会更新完毕python语法+一些数据分析中常用的模块,比如说是numpy+pandas+matplotlib+爬虫等,

再加上这边更新的sklearn,以及深度学习部分我预计更新的pytorch部分,基本上是python这一块都大差不差了
3,硬件基础:

DL大多是吃GPU配置的,当然传统ML部分本教程对于GPU等没有太高的要求

4,环境配置:
(1)环境配置基本上就是conda+pip:

### 在shell中 ###
# 创建虚拟环境并制定python版本为3.8  
conda create -n ml_base python==3.8  
# 激活虚拟环境:  
conda activate ml_base
# 安装ipykernel:  
pip install ipykernel  
# 将当前名为ml_base的conda环境添加到jupyter内核列表中,名为"ml_base内核"
python -m ipykernel install --user  --name ml_base --display-name "ml_base内核"

上面只是个示例,事实上

然后内核其实我能在vscode中直接选择,实际上上面的这些操作,包括如何在服务器中安装jupyter notebook,然后选定端口打开web的操作,都没有必要去做(而有很多公众号或者博客会让大家先去做这一步,所以我建议大家使用vscode,而不仅仅只是给本科生玩玩的普通的ssh客户端)

当然,还是和我的其他环境区分开来:

mamba create -n ml_base -y python=3.13.1

(2)安装一些常用的python库:

python库的安装建议是在shell中使用pip,或者sudo的apt install

用conda的常见于R

### 在shell中安装常用第三方库 ### 
pip install numpy==1.23.5
pip install pandas==1.5.3
pip install matplotlib==3.5.2

查看库的版本

import 库名
print(库名.__version__)


(3)当然最好可以直接conda一键配置环境:
无非是使用yml配置文件,

对于conda详细使用可以参考我之前的博客:
https://blog.youkuaiyun.com/weixin_62528784/article/details/145329210?sharetype=blogdetail&sharerId=145329210&sharerefer=PC&sharesource=weixin_62528784&spm=1011.2480.3001.8118

# conda env export > ml_base_env.yml  # 在我的环境创建了yml文件
conda env create -f ml_base_env.yml # 利用环境配置文件重现conda环境

比如所随便给出一个yml文件示例

name: ml_base
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.aliyun.com/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.aliyun.com/anaconda/cloud/bioconda/
  - https://mirrors.aliyun.com/anaconda/cloud/conda-forge/
  - https://mirrors.aliyun.com/anaconda/pkgs/main/
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2023.12.12=h06a4308_0
  - libedit=3.1.20230828=h5eee18b_0
  - libffi=3.2.1=hf484d3e_1007
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=23.3.1=py38h06a4308_0
  - python=3.8.0=h0371630_2
  - readline=7.0=h7b6447c_5
  - setuptools=68.2.2=py38h06a4308_0
  - sqlite=3.33.0=h62c20be_0
  - tk=8.6.12=h1ccaba5_0
  - wheel=0.41.2=py38h06a4308_0
  - xz=5.4.5=h5eee18b_0
  - zlib=1.2.13=h5eee18b_0
  - pip:
      - jieba==0.42.1
      - missingno==0.5.2
      - mlxtend==0.23.1
      - patsy==0.5.6
      - statsmodels==0.14.1
prefix: /home/biomamba/miniconda3/envs/ml_base

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值