用Tensorflow進行線性回歸和邏輯回歸(一)

這一章告訴你如何用TensorFlow構建簡單的機器學習系統。第一部分回顧構建機器學習系統的基礎特別是講函數,連續性,可微性。接著我們介紹損失函數,然后討論機器學習歸根于找到復雜的損失函數最小化的點的能力。我們然后講梯度下降,解釋它如何使損失最小。然后簡單的討論自動微分的算法思想。第二節側重于介紹基于這些數學思想的TensorFlow概念。包括placeholders, scopes, optimizers,和TensorBoard, 并實際構建和分析學習系統。最后一節研究如何用TensorFlow訓練線性和邏輯回歸模型。這一章較長,并介紹許多新的思想。如果你不想了解每一個細節,你可以繼續往下讀然后在必要時返回來。在后面我們將重復這些基礎。

1.函數的數學回顧

第一節回顧概念上理解機器學習所需要的數學工具。我們盡量減少希臘符號側重概念上的理解而不是技術操作。

在我們討論的大部分問題里,我們的任務是創建數學函數:

y = f x

注意, x和y寫成黑體。這提示它們是向量。這個函數可以有任意數量的輸入,可以是上百個甚致是上百萬個,它的輸出也可以是許多個。你想創建的函數的例子有:

? x 包含圖像里所有像素的色彩。 如果圖像包含貓f(x)等于 1,如果不包含貓則等于0。

? 同上面一樣,f( x)應該是數字的向量。第一個數字表示圖像包含貓,第二個數字表示圖像包含狗,第三個數字表示它包含飛機,等等上千個對象。

? x 包含染色體的 DNA序列。 y 是向量它的長度等于染色體的堿基數量。如果那個堿基編碼某個蛋白質則對應元素應為1,否則為0。

? x 描述分子的結構。 (后面我們討論各種呈現分子的方法) y應為向量每個元素描述一些分子的特理特征:是否易溶于水,是否與某些分子強列結合等。

如你所見,f(x)可以是非常非常復雜的函數。它的輸入通常是長的向量,并從輸入里提取信息,這些信息是很難從輸入直接看出的。

解決這種問題的傳統方法是手工設計函數。你從分析問題開始。提示有貓的像素模式是什么?區別編碼區域和非編碼區域的DNA模式是什么?你可以寫計算機代碼來識別特定的特征,然后識別產生你想要的結果的特征組合。這個過程很慢而勞動強度大,嚴重依賴于個人的專業知識。

機器學習采用不同的方法。不是手工設計函函,你讓計算機基于數據學習函數。你收集上千個到上百萬個圖像,每個標簽提示是否有貓。你給計算機提供所有的訓練數據,然后讓計算機找到函數結果接近1表示有貓而函數結查接近0表示沒有貓。

“讓計算機找到函數”是什么意思?一般來說,你創建一個模型來定義一大類函數,模型包含參數,參數是可以取任意值的變量。通過選擇參數的值,你從模型定義的一大類函數里得到特定的函數。計算機的任務是找到參數的值。它試圖找到這種值,當你輸入訓練數據時,輸出盡量接近于目標。

函數和可微性

這一節簡單的回顧函數和可微的概念。函數f是一種將輸入轉變為輸出的規則。所有的計算機編程語言都有函數,函數的數學定義沒有很大的不同。但是通常用于物理學和工程學數學上的函數有些重要的特性例如連續性和可微性。連續函數,寬松的說,就是可以連續的在紙上畫而不需要將筆提起的函數,如圖3-1所示。 (當然這不是技術上的定義,但這是連續函數的精髓。)

????????????

圖 3-1. 一些連續函數.

可微性是函數的一種類型的平滑條件。它是說函數里沒有尖的轉角(如圖 3-2).

?????????????????????

圖3-2. 可微函數.

可微函數的好處是我們可以使用在某個點函數的斜率來找到比當前點更高或更低的值的點。這可以讓我們找到函數的最小值。可微函數f的微分記為f′,是另一個函數,它提供原函數在所有點的斜率。概念上的思想是函數在某一點的微分指示了函數值比當前值更低或更高的方向。優化算法按這種方向移動以逼近函數f的最小值。在最小值處,函數的微分為零。剛開始是看不到微分驅動的優化的強大之處的。 學微積分的學生都會覺得在紙上練習找小型函數的最小值很乏味。這些練習并沒有什么作用,因為用少量的輸入參數找到函數的最小值是微不足道的。當有上百個,上千個,上萬個變量時,微分驅動的優化的強大就變得很明顯了。在這種規模上,理解函數解析式幾乎不可能,并且所有的可視化都是令人擔心的練習,它可能失去函數的某些重要特征。在這種規模上,函數的梯度 ?f ,是多元函數微分f′的泛化,是理解函數和它的行為的最為強大的數學工具。后面我們將深入學習梯度 (那是概念上的;我們不在這里講梯度的技術細節)。

從高層次看,機器學習簡單的來說就是最小化函數:優化算法無非就是合適的函數的最小值發現者。這個定義的好處是數學上簡單。但是編碼有用的解決方案于最小值的特殊的可微函數到底是什么,我們如何找到它們?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/910195.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910195.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910195.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java/.net跨平臺UI瀏覽器SDK,瀏覽器控件開發包分析

在 Linux 系統中,雖然沒有完全等同于安卓 WebView 的內置瀏覽器 SDK,但存在多種基于開源瀏覽器引擎的解決方案,支持通過 Java 代碼控制網頁加載和執行 JavaScript。以下是具體實現方案和技術細節: 一、核心技術方案對比 方案名稱…

Taro 狀態管理全面指南:從本地狀態到全局方案

在跨端應用開發中,狀態管理是構建可維護、可擴展應用的核心環節。作為京東凹凸實驗室推出的多端統一開發框架,Taro 支持 React/Vue 等主流前端框架,自然也繼承了豐富的狀態管理生態。本文將全面剖析 Taro 中的各種狀態管理方案,從…

記錄一下jar做成windows服務問題

1、打包好jar 2、把jdk防止到和jar同一目錄下 3、下載winsw-x64.exe 和 sample-minimal.xml https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW-x64.exehttps://github.com/winsw/winsw/releases/download/v2.12.0/WinSW-x64.exe sample-minimal.xmlhttps://…

【Dify 案例】【MCP實戰】【二】【超級助理】

我們創建一個工作流。你是一個超級助理,能夠根據輸入的指令,進行推理和自主調用工具,完成并輸出結果。 注意,需要判斷是否調用高德MCP來獲取對應工具協助你完成任務。 1.開始 2.策略大腦 2.1 AEGNT策略 2.2 工具列表 2.3 指令

Qt Quick 與 QML(二)qml中的頂級窗口

一、前言 在QML中,?頂級窗口不是絕對必需的?,但它在大多數應用場景中扮演著關鍵角色。 需要頂級窗口的典型場景: 1.獨立桌面/移動應用? 必須使用Window或ApplicationWindow作為根元素。 2.多窗口應用 每個獨立窗口都需要一個頂級窗口實例…

華為云Flexus+DeepSeek征文|DeepSeek-V3/R1 免費服務開通全流程與Rest API和OpenAI SDK調用詳解

華為云FlexusDeepSeek征文|DeepSeek-V3/R1 免費服務開通全流程與Rest API和OpenAI SDK調用詳解 前言 本文將詳細介紹DeepSeek-V3/R1 免費服務開通全流程,并且詳細講解通過本地方式Rest API和OpenAI SDK兩種方式調用DeepSeek-V3/R1 前提準備 1、訪問 Mod…

Qt 連接信號使用lambda表達式和槽函數的區別

1. 語法與代碼結構 成員函數 需在類中顯式聲明槽函數(public slots: 或 Qt 5 后的任意成員函數),并在連接時指定接收對象。 class Receiver : public QObject {Q_OBJECT public slots:void handleSignal(int value) { /* ... */ } };// 連接…

學習筆記丨AR≠VR:透視沉浸式技術的“虛實象限”法則

AR(增強現實)和VR(虛擬現實)是沉浸式技術的兩大分支,核心區別在于虛擬與現實的融合程度。以下是兩者的詳細對比: 對比維度 AR(增強現實) VR(虛擬現實) 技術…

本地使用 modelscope 大模型 來進行文本生成視頻(Text-to-Video)

1. ? 創建并激活 Conda 環境(Python 3.8) conda create -n modelscope python3.8 -yconda activate modelscope 2.? 安裝了 PyTorch(CPU 版本) 如果你是 CPU-only 用戶(沒有 NVIDIA 顯卡 或不想用 GPU&#xff0…

文生視頻(Text-to-Video)

🕒 生成時間:每張圖大概 10–60 秒(取決于設備) ? 二、文生視頻(Text-to-Video) 以下項目中,很多都基于 SD 模型擴展,但視頻生成復雜度高,生成時間一般 超過 30 秒&am…

CLion + STM32環境配置,親測有效(2025.06.19記)

CLion STM32環境配置 遇到的問題描述: > "moniton" command not supported by this target. > You cant do that when your target is exec > 上傳完成,但存在問題 > monitor reset > "monitor" command not …

借助ChatGPT快速開發圖片轉PDF的Python工具

一、開發背景與適用場景 隨著數字文檔處理需求的激增,圖片轉PDF的需求日益廣泛。從學生提交圖像化作業,到教師整合掃描試卷等資料,再到行政人員歸檔證件照片,工作中的方方面面都離不開圖片的處理。如何高效、批量地將多個圖片文件…

SuGAR代碼精簡解讀

目錄 一、全流程訓練腳本 train_full_pipeline.py 二、核心訓練邏輯 train.py 粗優化 (coarse_density_and_dn_consistency.py) 網格提取 (extract_mesh_from_coarse_sugar) 精優化 (refined_training) 兩次優化(粗優化和精優化)中使用的損失函數及…

大模型安全關鍵技術研究

? 引言 隨著人工智能技術的迅猛發展,大模型已成為推動各行業變革的核心力量。從智能客服、醫療影像識別到金融風險預測,大模型的應用場景不斷拓展,深刻改變著人們的生產生活方式。大模型已經轉變為AI領域的基礎設施,為解決各種…

java面試題04成員變量和局部變量的區別

成員變量(Member Variable)和局部變量(Local Variable)是面向對象編程中兩種作用域和生命周期不同的變量,主要區別體現在以下幾個方面: 1. 聲明位置 成員變量: 聲明在類內部、方法/構造器/代碼塊外部。 例如: public class Person {// 成員變量(實例變量)private Str…

升級到 .NET 9 分步指南

隨著激動人心的 .Net 9 更新正式發布,漫長的等待終于結束了。它帶來了一些令人驚嘆的特性,例如改進的 LINQ 功能、HybridCache 等等。此外,憑借其卓越的性能提升、更佳的安全性、更完善的協議和更易維護的特性,它必將吸引開發者和…

day30打卡

# 導入模塊 import math print("方式1:使用 import math") print(f"圓周率π的值:{math.pi}") print(f"2的平方根:{math.sqrt(2)}\n") # 導入特定項 from math import pi, sqrt print("方式2&#…

優化數據庫查詢

優化數據庫查詢 在實際開發中,數據庫查詢的性能直接關系到系統響應速度和用戶體驗。尤其在高并發環境下,低效的SQL語句會成為瓶頸,導致系統負載升高,甚至引發宕機。因此,查詢優化是數據庫性能優化中最為關鍵的一環。 為了系統性地理解數據庫查詢優化策略,本節將從SQL語…

【LeetCode#第198題】打家劫舍(一維dp)

198. 打家劫舍 - 力扣(LeetCode) 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入&#…

微前端MFE:(React 與 Angular)框架之間的通信方式

在 微前端&#xff08;MFE, Micro Frontends&#xff09; 中使用 CustomEvent 是非常常見的&#xff0c;尤其是在不同子應用&#xff08;Micro Apps&#xff09;之間通信的時候。今天將以React 主應用 ? Angular 子應用 之間的通信進行示例 React 主應用 <-> Angular 子…