<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **last update: 2022-05-26 10:23:11** [TOC] ### 前言 機器學習是 統計學 與 軟件工程 相結合的科學研究。 ---- ### 環境準備 **anaconda** ```shell $ conda env list $ conda remove -n myenv --all $ conda activate myenv ``` ---- **安裝 Jupyter Notebook 中文語言:** ```shell $ pip install jupyterlab-language-pack-zh-CN -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple ``` 重啟后就可以設置 中文了。 ---- ### LaTeX [數學公式 | LaTeX 知識庫](https://www.latexstudio.net/LearnLaTeX/basic/10.html#%E8%A1%8C%E5%86%85%E6%95%B0%E5%AD%A6%E6%A8%A1%E5%BC%8F%E5%92%8C%E6%95%B0%E5%AD%A6%E7%AC%A6%E5%8F%B7) [Detexify LaTeX handwritten symbol recognition](https://detexify.kirelabs.org/classify.html) 公式符號 [run tex snippet](https://texlive.net/run) 預覽 ---- ### 機器學習 [深度學習公開課【梗直哥】- 文集 嗶哩嗶哩專欄](https://www.bilibili.com/read/readlist/rl660109?spm_id_from=333.999.0.0) [線性回歸 ?|? Machine Learning ?|? Google for Developers](https://developers.google.cn/machine-learning/crash-course/linear-regression?hl=zh-cn) > 最優算法(如指數函數時 的 梯度下降算法)用于找到最優的權重參數(某個特征維度的權重w),以使得**目標函數**(損失函數)的值盡可能小,從而獲得最優的**預測函數**,即預測精度高的模型。 #### 線性回歸 ```[tex] \small{Loss = \frac{(18-0)^2 + (15-0)^2 + (18-0)^2 + (16-0)^2 + (15-0)^2 + (14-0)^2 + (24-0)^2}{7}} ``` ~~~ y = b + (w1 * x1) + ... + (wn * xn) MSE = ((f(w,b) x - y1)2 + ... + (f(w,b) x - yn)2) / n ~~~ > 每個維度均方差都可以獨立計算,互不影響,只要最終求平均就行了,所以可以使用多核并行計算以提高效率,這就是為什么使用 GPU 并行計算可以加速訓練過程的原因了。 線性回歸問題就是找到在數據集中,最優的一條直線。 最優直線:各點到該直線的距離平均最小時,即 均方誤差 (MSE) 最小。 最優直線問題 就變成了,損失最小問題。 損失最小問題就是 求損失函數最小值問題。 損失函數:平方均差 的指數函數。 求最小損失問題,即 求指數函數的最低點。這個問題是有答案的,因為指數函數存在最低點。 最指數函數最低點問題,即先找到指數函數斜切,從向減小斜切的方向,向下移動,直到不能減小時,就是最低點的位置了。而找到這個最低點的過程成為梯度下降算法。 訓練步驟: 1. 使用當前權重和偏差計算損失。 2. 確定用于減少損失的權重和偏差的移動方向。 3. 在減小損失的方向上輕微移動權重和偏差。 4. 重復第一步,直至損失無法再減少時。 關鍵詞:權重/偏差、線性回歸、最優直線、平方均差、損失函數、指數函數、斜切、最低點、梯度下降算法。 **均方差的好處?** 正負不會抵消;誤差大的會被放大,誤差小的會被縮小。 **如何確定權重和偏差的移動方向?** 能減少損失的移動方向,轉換為數學問題就是,求當前點的斜切率,即導數值、導數(導函數),斜切率越小的方向即是能減少損失的移動方向。 ![](https://cdn.aipin100.cn/aeb2aca2e0556373bfc82196a3503bb4) [2.1 線性代數 - 嗶哩嗶哩](https://www.bilibili.com/read/cv21260508/?from=readlist) ---- #### 代價函數 [【線性回歸、代價函數、損失函數】動畫講解_嗶哩嗶哩_bilibili](https://www.bilibili.com/video/BV1RL411T7mT/?spm_id_from=333.999.0.0) ![](https://cdn.aipin100.cn/94e310507e1f664182d4df22fe4d26d1) ![](https://cdn.aipin100.cn/dc7b95b49bc9e2f7615582038ad69ed1) ![](https://cdn.aipin100.cn/331ab356fa0abd5db0c9499ba75a7065) ![](https://cdn.aipin100.cn/2cbe110e71ed2daee6deb8aae170efc7) ![](https://cdn.aipin100.cn/7c00573bed7f71d615d61e5167a20327) ![](https://cdn.aipin100.cn/08c8681d58fa7270f3219947f89ede75) ---- https://www.bilibili.com/video/BV1VM41157D8/ https://www.bilibili.com/video/BV1Zm411R7Kh/?spm_id_from=333.999.0.0 [在線函數圖像生成器工具-免費好用的數學函數繪圖圖形計算器](https://hs.luomashu.com/) [「機器學習」等于「神經網絡」嗎?人工智能基礎概念梳理](https://jibencaozuo.com/zh-Hans/dataBank/1) [一個人工智能的誕生](https://www.youtube.com/watch?v=4xwUgYXT1R0&list=PLvQGKXuH8DcKN-mYgfSmo94fdl9T6KZLe) ![](https://cdn.aipin100.cn/731174c79599fdd10277283fec2247de) [2. 機器學習綜述及示例 — 動手實戰人工智能 AI By Doing](https://aibydoing.com/notebooks/chapter01-01-lab-machine-learning-overview-and-examples) [十五分鐘簡介人工智能,以聽懂為目的 - 掘金](https://juejin.cn/post/7158818147846324254) [1. 前言 — 《動手學深度學習》 0.1.0 documentation](https://d2l-zh.djl.ai/chapter_introduction/index.html) > 總而言之,我們沒有編寫喚醒詞識別器,而是編寫了一個“學習”程序。 如果我們用一個巨大的帶標簽的數據集,它很可能可以“學習”識別喚醒詞。 你可以將這種”通過用數據集來確定程序行為”的方法看作是“用數據編程”(programming with data)。 比如,我們可以通過向機器學習系統提供許多貓和狗的圖片來設計一個“貓圖檢測器”。 通過這種方式,檢測器最終可以學會:如果輸入是貓的圖片就輸出一個非常大的正數,如果輸入是狗的圖片就會得出一個非常大的負數。 如果檢測器不確定,它會輸出接近于零的數…… 這個例子僅僅是機器學習常見應用的冰山一角。 而深度學習是機器學習的一個主要分支,我們稍后將對其進行更詳細的解析。 [聊聊圖像識別的小原理,動手實現自己的圖像分類 - 掘金](https://juejin.cn/post/7254458065311334458) https://juejin.cn/column/7234887157000159290 [一文講通OCR文字識別原理與技術全流程 - 掘金](https://juejin.cn/post/7147218078923751455) > php 程序員能學會 AI 嗎,總感覺 這個就像是黑盒魔法,哪怕是 識別 0 和 1 ,我們用 代碼寫可能能硬寫出來(判斷 像素是不是直的),但是 其它數字要識別 完全不可能啊,更何況每個人寫的不一樣。用常規命令式編程的思維根本無法理解,無法實現。這是 傳統程序眼 與 AI 最大的鴻溝。傳統的程序邏輯是固定的,寫了什么功能才有什么功能,每一步都是確定,而 AI 好像不是這么回事。 [【官方雙語】深度學習之神經網絡的結構 Part 1 ver 2.0_嗶哩嗶哩_bilibili](https://www.bilibili.com/video/BV1bx411M7Zx/?spm_id_from=333.999.0.0&vd_source=8fc0f668e63ab312d59a3089f3ca7a81) [【官方雙語】深度學習之梯度下降法 Part 2 ver 0.9 beta_嗶哩嗶哩_bilibili](https://www.bilibili.com/video/BV1Ux411j7ri/?spm_id_from=trigger_reload&vd_source=8fc0f668e63ab312d59a3089f3ca7a81) [2019年新書推薦-《神經網絡與深度學習》-Michael Nielsen - 知乎](https://zhuanlan.zhihu.com/p/58973417) [Michael Nielsen](https://michaelnielsen.org/) [機器學習和深度學習中的學習到底是什么?小白能看懂的AI科普_嗶哩嗶哩_bilibili](https://www.bilibili.com/video/BV1tP4y1y7KW/?spm_id_from=333.999.0.0&vd_source=8fc0f668e63ab312d59a3089f3ca7a81) [TensorFlow.js | TensorFlow中文官網](https://tensorflow.google.cn/js/?hl=zh-cn) ---- ### 如何識別手寫數字? [神經網絡和深度學習](http://neuralnetworksanddeeplearning.com/) ```python import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms # 定義 MLP 網絡 class MLP(nn.Module): def __init__(self, input_size, hidden_size, num_classes): super(MLP, self).__init__() self.fc1 = nn.Linear(input_size, hidden_size) self.relu = nn.ReLU() self.fc2 = nn.Linear(hidden_size, hidden_size) self.fc3 = nn.Linear(hidden_size, num_classes) def forward(self, x): out = self.fc1(x) out = self.relu(out) out = self.fc2(out) out = self.relu(out) out = self.fc3(out) return out # 定義超參數 input_size = 28 * 28 # 輸入大小 hidden_size = 512 # 隱藏層大小 num_classes = 10 # 輸出大小(類別數) batch_size = 100 # 批大小 learning_rate = 0.001 # 學習率 num_epochs = 10 # 訓練輪數 # 加載 MNIST 數據集 train_dataset = datasets.MNIST(root='../data/mnist', train=True, transform=transforms.ToTensor(), download=True) test_dataset = datasets.MNIST(root='../data/mnist', train=False, transform=transforms.ToTensor(), download=True) train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=batch_size, shuffle=True) test_loader = torch.utils.data.DataLoader(dataset=test_dataset, batch_size=batch_size, shuffle=False) # 實例化 MLP 網絡 model = MLP(input_size, hidden_size, num_classes) # 現在我們已經定義了 MLP 網絡并加載了 MNIST 數據集,接下來使用 PyTorch 的自動求導功能和優化器進行訓練。 # 首先,定義損失函數和優化器;然后迭代訓練數據并使用優化器更新網絡參數。 # 定義損失函數和優化器 criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=learning_rate) # 訓練網絡 for epoch in range(num_epochs): for i, (images, labels) in enumerate(train_loader): images = images.reshape(-1, 28 * 28) outputs = model(images) loss = criterion(outputs, labels) optimizer.zero_grad() loss.backward() optimizer.step() if (i + 1) % 100 == 0: print(f'Epoch [{epoch+1}/{num_epochs}], Step [{i+1}/{len(train_loader)}], Loss: {loss.item():.4f}') # 測試網絡 with torch.no_grad(): correct = 0 total = 0 for images, labels in test_loader: images = images.reshape(-1, 28 * 28) outputs = model(images) _, predicted = torch.max(outputs.data, 1) total += labels.size(0) correct += (predicted == labels).sum().item() print(f'Accuracy of the network on the 10000 test images: {100 * correct / total} %') # Accuracy of the network on the 10000 test images: 97.88 % ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看